serverspec-runner 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: de02cac0480ebd0499fbf20db6a505293761e942
4
- data.tar.gz: b8db8e52b61dc74a9c433a923f8ce8b967edb20b
3
+ metadata.gz: 8bbdaab098b4ab210d5f3990c4a2fa59b34740da
4
+ data.tar.gz: 6f9b74bd39f704d32ba75a77245df1e0cd65bd8c
5
5
  SHA512:
6
- metadata.gz: c24c72fba9a8d2b91c7fe00fc30fc573692f84a901c2ec1729b6b13b21ae63148f28537827c94b2b6da8386d4acbee7c77a29ccced23757614316e035c298707
7
- data.tar.gz: cd7d1b854da9b2e064784095347590e4bc7f946c64e87a6a8f57d73efd441b473a93304abed0e3bcfdbbee23eeae9189c8a757856ef0b767cf8037eede4fe7a1
6
+ metadata.gz: 336d14453ead53ea80583ddddb2ff3dfcb2431251c81e2b9bb67bbd5bd464369fee8abb8b28ffffc2fa0a226a0dc18085b1a3bd63abfead11ad9b932557c6b5c
7
+ data.tar.gz: a44f9de7fb360df996945e68eb20355247610bc72eb7ee438555bd1d8422d78d6e9ea8fa98411eb7b596a0a255be56680f88088a65c3a8bf1a5d9511cd6c5282
data/README.md CHANGED
@@ -50,7 +50,7 @@ or
50
50
 
51
51
  $ cd /path/to/your_serverspec_root && serverspec-runner
52
52
 
53
- You can also specify [ssh_options.yml](http://net-ssh.github.io/ssh/v2/api/classes/Net/SSH/Config.html)(Net::SSH options) file by "-o" option for default ssh options.
53
+ You can also specify [ssh_options.yml](http://net-ssh.github.io/net-ssh/classes/Net/SSH.html)(Net::SSH options) file by "-o" option for default ssh options.
54
54
 
55
55
  $ serverspec-runner -s /path/to/your_scenario.yml -o /path/to/your_ssh_options.yml
56
56
 
data/Rakefile CHANGED
@@ -39,6 +39,8 @@ namespace :spec do
39
39
 
40
40
  FileUtils.mkdir_p(path)
41
41
  FileUtils.cp("#{File.dirname(__FILE__)}/scenario.yml", ENV['specroot'])
42
+ FileUtils.cp("#{File.dirname(__FILE__)}/ssh_options_default.yml", ENV['specroot'])
43
+ FileUtils.cp("#{File.dirname(__FILE__)}/.rspec", ENV['specroot'])
42
44
  FileUtils.cp_r("#{File.dirname(__FILE__)}/spec/.", path)
43
45
 
44
46
  puts("Please edit \"#{ENV['specroot']}/scenario.yml\" and change directory to \"#{ENV['specroot']}\" and exec \"serverspec-runner\" command !!")
@@ -70,8 +72,6 @@ namespace :spec do
70
72
  platform[host_alias.to_sym][:ssh_opts].each { |k, v| ssh_options[k.to_sym] = v } if platform[host_alias.to_sym].include?(:ssh_opts)
71
73
 
72
74
  tasks << "#{path}::#{host_alias}"
73
- platform[host_alias.to_sym] = ServerspecRunner::Detection.platform(ssh_host, ssh_options, platform[host_alias.to_sym])
74
- return ''
75
75
  end
76
76
  end
77
77
 
@@ -1,3 +1,3 @@
1
1
  module ServerspecRunner
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -1,2 +1 @@
1
1
  require 'serverspec-runner/version'
2
- require 'serverspec-runner/detection'
@@ -20,7 +20,6 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_runtime_dependency "serverspec"
22
22
  spec.add_runtime_dependency "net-ssh"
23
- spec.add_runtime_dependency "net-ssh-shell"
24
23
  spec.add_development_dependency "rake"
25
24
  spec.add_development_dependency "rspec-core"
26
25
  spec.add_development_dependency "bundler", "~> 1.3"
data/spec/spec_helper.rb CHANGED
@@ -5,8 +5,6 @@ require 'yaml'
5
5
  require 'csv'
6
6
  require 'serverspec-runner/util/hash'
7
7
 
8
- set :backend, :exec
9
-
10
8
  ssh_opts_default = YAML.load_file(ENV['ssh_options'])
11
9
  csv_path = ENV['result_csv']
12
10
  explains = []
@@ -43,7 +41,11 @@ RSpec.configure do |c|
43
41
  ssh_opts ||= ssh_opts_default
44
42
  property[:ssh_opts].each { |k, v| ssh_opts[k.to_sym] = v } if property[:ssh_opts]
45
43
  user = options[:user] || ssh_opts[:user] || Etc.getlogin
46
- c.ssh = Net::SSH.start(c.host, user, options.merge(ssh_opts))
44
+ options.merge!(ssh_opts)
45
+ set :ssh_options, options
46
+ set :backend, :ssh
47
+ else
48
+ set :backend, :exec
47
49
  end
48
50
 
49
51
  c.before(:suite) do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serverspec-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - hiracy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-04 00:00:00.000000000 Z
11
+ date: 2014-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: serverspec
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: net-ssh-shell
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -110,8 +96,6 @@ files:
110
96
  - Rakefile
111
97
  - bin/serverspec-runner
112
98
  - lib/serverspec-runner.rb
113
- - lib/serverspec-runner/detection.rb
114
- - lib/serverspec-runner/util.rb
115
99
  - lib/serverspec-runner/util/hash.rb
116
100
  - lib/serverspec-runner/version.rb
117
101
  - scenario.yml
@@ -1,45 +0,0 @@
1
- require 'socket'
2
- require 'serverspec-runner/util'
3
-
4
- module ServerspecRunner
5
- module Detection
6
-
7
- def self.platform(host, ssh_options={}, properties)
8
-
9
- detected = {}
10
-
11
- sudo = properties[:nosudo] ? '' : 'sudo'
12
- properties[:sudo_prefix] = sudo + ' '
13
-
14
- commands = {
15
- :detect_platform_redhat => 'cat /etc/redhat-release 2> /dev/null',
16
- :detect_platform_debian => 'cat /etc/debian_version 2> /dev/null',
17
- :detect_hostname => 'hostname 2> /dev/null',
18
- :detect_hostname_short => 'hostname -s 2> /dev/null',
19
- }
20
-
21
- executed = ServerspecRunner::Util.alternative_exec!(host, commands, ssh_options)
22
-
23
- # platform
24
- if executed[:detect_platform_redhat][:exit_succeeded]
25
- detected[:platform_name] = 'centos'
26
-
27
- if executed[:detect_platform_redhat][:stdout] =~ /^(CentOS release )(\d+).(\d+).*$/
28
- detected[:platform_detail_name] = "centos#{$2}"
29
- end
30
- elsif executed[:detect_platform_debian][:exit_succeeded]
31
- detected[:platform_name] = 'debian'
32
-
33
- if executed[:detect_platform_debian][:stdout] =~ /^(\d+).(\d+).(\d*)$/
34
- detected[:platform_detail_name] = "debian#{$1}"
35
- end
36
- end
37
-
38
- # hostname
39
- detected[:hostname] = executed[:detect_hostname][:stdout]
40
- detected[:hostname_short] = executed[:detect_hostname_short][:stdout]
41
-
42
- detected.merge(properties)
43
- end
44
- end
45
- end
@@ -1,48 +0,0 @@
1
- require 'net/ssh'
2
- require 'net/ssh/shell'
3
-
4
- module ServerspecRunner
5
- module Util
6
-
7
- def self.alternative_exec!(host, commands={}, options={})
8
-
9
- result = {}
10
-
11
- if host == 'localhost' || host == '127.0.0.1' || host == nil
12
- commands.each do |key,cmd|
13
- result[key] = { :stdout => `#{cmd}`.strip, :exit_status => $?, :exit_succeeded => ($? == 0) }
14
- end
15
-
16
- return result
17
- end
18
-
19
- options = Net::SSH::Config.for(host).merge(options)
20
- user = options[:user] || Etc.getlogin
21
-
22
- puts "connecting #{host}..."
23
-
24
- Net::SSH.start(host, user, options) do |ssh|
25
-
26
- ssh.shell do |sh|
27
- commands.each do |key,cmd|
28
-
29
- stdout = ''
30
- stderr = ''
31
- exit_status = nil
32
- exit_succeeded = nil
33
-
34
- pr = sh.execute! cmd do |shell_process|
35
- shell_process.on_output do |pr, data|
36
- stdout = data
37
- end
38
- end
39
- result[key] = { :stdout => stdout.strip, :exit_status => pr.exit_status, :exit_succeeded => (pr.exit_status == 0) }
40
- end
41
- sh.execute! "exit"
42
- end
43
- end
44
-
45
- result
46
- end
47
- end
48
- end