chef_cap 0.3.19 → 0.3.20
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.
- data/lib/chef_cap/version.rb +1 -1
- data/recipes/chef_cap.rb +11 -11
- data/spec/chef_cap_mock_cap.rb +1 -1
- data/spec/chef_cap_spec.rb +8 -3
- metadata +19 -9
data/lib/chef_cap/version.rb
CHANGED
data/recipes/chef_cap.rb
CHANGED
@@ -90,11 +90,17 @@ namespace :ssh do
|
|
90
90
|
|
91
91
|
desc "Set any defined SSH options"
|
92
92
|
task :set_options do
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
93
|
+
options = {}
|
94
|
+
options[:config] = ssh_options_config rescue nil
|
95
|
+
options[:paranoid] = ssh_options_paranoid rescue nil
|
96
|
+
options[:keys] = ssh_options_keys rescue nil
|
97
|
+
options[:forward_agent] = ssh_options_forward_agent rescue nil
|
98
|
+
options[:username] = ssh_options_username rescue user rescue nil
|
99
|
+
options[:port] = ssh_options_port rescue nil
|
100
|
+
options.reject! { |key| options[key].nil? }
|
101
|
+
options.each_pair do |key, value|
|
102
|
+
ssh_options[key] = value
|
103
|
+
end
|
98
104
|
end
|
99
105
|
end
|
100
106
|
before "chef:setup", "ssh:transfer_keys"
|
@@ -169,18 +175,12 @@ namespace :chef do
|
|
169
175
|
install_chef_cmd = "gem install chef --no-ri --no-rdoc --version=#{chef_version}"
|
170
176
|
run "#{gem_check_for_chef_cmd} || #{install_chef_cmd} && echo 'Chef Solo already on this server.'"
|
171
177
|
|
172
|
-
gem_check_for_bundler_cmd = "gem specification --version '>0' bundler 2>&1 | awk 'BEGIN { s = 0 } /^name:/ { s = 1; exit }; END { if(s == 0) exit 1 }'"
|
173
|
-
install_bundler_cmd = "gem install bundler --no-ri --no-rdoc"
|
174
|
-
run "#{gem_check_for_bundler_cmd} || #{install_bundler_cmd} && echo 'Bundler already on this server.'"
|
175
178
|
run "rbenv rehash"
|
176
179
|
else
|
177
180
|
gem_check_for_chef_cmd = "gem specification --version '>=#{chef_version}' chef 2>&1 | awk 'BEGIN { s = 0 } /^name:/ { s = 1; exit }; END { if(s == 0) exit 1 }'"
|
178
181
|
install_chef_cmd = "sudo `cat #{rvm_bin_path}` default exec gem install chef --no-ri --no-rdoc --version=#{chef_version}"
|
179
182
|
sudo "`cat #{rvm_bin_path}` default exec #{gem_check_for_chef_cmd} || #{install_chef_cmd} && echo 'Chef Solo already on this server.'"
|
180
183
|
|
181
|
-
gem_check_for_bundler_cmd = "gem specification --version '>0' bundler 2>&1 | awk 'BEGIN { s = 0 } /^name:/ { s = 1; exit }; END { if(s == 0) exit 1 }'"
|
182
|
-
install_bundler_cmd = "sudo `cat #{rvm_bin_path}` default exec gem install bundler --no-ri --no-rdoc"
|
183
|
-
sudo "`cat #{rvm_bin_path}` default exec #{gem_check_for_bundler_cmd} || #{install_bundler_cmd} && echo 'Bundler already on this server.'"
|
184
184
|
sudo "`cat #{rvm_bin_path}` default exec which chef-solo"
|
185
185
|
end
|
186
186
|
end
|
data/spec/chef_cap_mock_cap.rb
CHANGED
data/spec/chef_cap_spec.rb
CHANGED
@@ -229,7 +229,8 @@ describe "chef_cap" do
|
|
229
229
|
"authorized_pub_file": "#{File.join(File.dirname(__FILE__), '..', 'fixtures', 'ssh_public_key')}",
|
230
230
|
"known_hosts": "knownhostscontent",
|
231
231
|
"options": {
|
232
|
-
"keys": "some_ssh_key_path"
|
232
|
+
"keys": "some_ssh_key_path",
|
233
|
+
"username": null
|
233
234
|
}
|
234
235
|
}
|
235
236
|
},
|
@@ -312,6 +313,12 @@ describe "chef_cap" do
|
|
312
313
|
chef_cap.cap_after[:nossh].should_not be_nil
|
313
314
|
chef_cap.cap_after[:nossh].should include("ssh:set_options")
|
314
315
|
end
|
316
|
+
|
317
|
+
it "does not set nil values" do
|
318
|
+
chef_cap.cap_task["ssh:set_options"].call
|
319
|
+
chef_cap.cap_ssh_options.has_key?(:username).should be_false
|
320
|
+
chef_cap.cap_ssh_options.has_key?(:config).should be_false
|
321
|
+
end
|
315
322
|
end
|
316
323
|
|
317
324
|
context "when a value is null" do
|
@@ -510,7 +517,6 @@ describe "chef_cap" do
|
|
510
517
|
it "sets up chef gem" do
|
511
518
|
chef_cap.cap_servers.should_not be_empty
|
512
519
|
chef_cap.should_receive(:sudo).ordered.with("`cat /tmp/.chef_cap_rvm_path` default exec gem specification --version '>=0.1982.1234' chef 2>&1 | awk 'BEGIN { s = 0 } /^name:/ { s = 1; exit }; END { if(s == 0) exit 1 }' || sudo `cat /tmp/.chef_cap_rvm_path` default exec gem install chef --no-ri --no-rdoc --version=0.1982.1234 && echo 'Chef Solo already on this server.'").and_return("mocked")
|
513
|
-
chef_cap.should_receive(:sudo).ordered.with("`cat /tmp/.chef_cap_rvm_path` default exec gem specification --version '>0' bundler 2>&1 | awk 'BEGIN { s = 0 } /^name:/ { s = 1; exit }; END { if(s == 0) exit 1 }' || sudo `cat /tmp/.chef_cap_rvm_path` default exec gem install bundler --no-ri --no-rdoc && echo 'Bundler already on this server.'").and_return("mocked")
|
514
520
|
chef_cap.should_receive(:sudo).ordered.with("`cat /tmp/.chef_cap_rvm_path` default exec which chef-solo").and_return("mocked")
|
515
521
|
|
516
522
|
chef_cap.cap_task["bootstrap:ruby"].call
|
@@ -562,7 +568,6 @@ describe "chef_cap" do
|
|
562
568
|
chef_cap.cap_servers.should_not be_empty
|
563
569
|
chef_cap.stub!(:put => "stubbed")
|
564
570
|
chef_cap.should_receive(:run).ordered.with("gem specification --version '>=0.1982.1234' chef 2>&1 | awk 'BEGIN { s = 0 } /^name:/ { s = 1; exit }; END { if(s == 0) exit 1 }' || gem install chef --no-ri --no-rdoc --version=0.1982.1234 && echo 'Chef Solo already on this server.'").and_return("mocked")
|
565
|
-
chef_cap.should_receive(:run).ordered.with("gem specification --version '>0' bundler 2>&1 | awk 'BEGIN { s = 0 } /^name:/ { s = 1; exit }; END { if(s == 0) exit 1 }' || gem install bundler --no-ri --no-rdoc && echo 'Bundler already on this server.'").and_return("mocked")
|
566
571
|
chef_cap.should_receive(:run).ordered.with("rbenv rehash").and_return("mocked")
|
567
572
|
|
568
573
|
chef_cap.cap_task["bootstrap:ruby"].call
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef_cap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.20
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 2.5.5
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.5.5
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rspec-rails
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,7 +37,12 @@ dependencies:
|
|
32
37
|
version: '2.1'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '2.1'
|
36
46
|
description: chef_cap uses chef"s JSON config format to drive both capistrano and
|
37
47
|
chef-solo"
|
38
48
|
email:
|
@@ -93,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
93
103
|
version: '0'
|
94
104
|
segments:
|
95
105
|
- 0
|
96
|
-
hash:
|
106
|
+
hash: 1458186422045176253
|
97
107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
108
|
none: false
|
99
109
|
requirements:
|
@@ -102,10 +112,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
112
|
version: '0'
|
103
113
|
segments:
|
104
114
|
- 0
|
105
|
-
hash:
|
115
|
+
hash: 1458186422045176253
|
106
116
|
requirements: []
|
107
117
|
rubyforge_project:
|
108
|
-
rubygems_version: 1.8.
|
118
|
+
rubygems_version: 1.8.19
|
109
119
|
signing_key:
|
110
120
|
specification_version: 3
|
111
121
|
summary: capistrano + chef-solo == chef_cap"
|