ironfan 4.7.5 → 4.7.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +3 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/ironfan.gemspec +3 -3
- data/lib/chef/knife/cluster_kick.rb +38 -28
- metadata +4 -4
data/CHANGELOG.md
CHANGED
data/Rakefile
CHANGED
@@ -45,7 +45,7 @@ Jeweler::Tasks.new do |gem|
|
|
45
45
|
gem.name = 'ironfan'
|
46
46
|
gem.homepage = "http://infochimps.com/labs"
|
47
47
|
gem.license = NEW_COOKBOOK_LICENSE.to_s
|
48
|
-
gem.summary = %Q{
|
48
|
+
gem.summary = %Q{Infochimps' lightweight cloud orchestration toolkit, built on top of Chef.}
|
49
49
|
gem.description = %Q{Ironfan allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks.}
|
50
50
|
gem.email = SSL_EMAIL_ADDRESS
|
51
51
|
gem.authors = ["Infochimps"]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.7.
|
1
|
+
4.7.6
|
data/ironfan.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "ironfan"
|
8
|
-
s.version = "4.7.
|
8
|
+
s.version = "4.7.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Infochimps"]
|
12
|
-
s.date = "2013-01-
|
12
|
+
s.date = "2013-01-25"
|
13
13
|
s.description = "Ironfan allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
|
14
14
|
s.email = "coders@infochimps.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -148,7 +148,7 @@ Gem::Specification.new do |s|
|
|
148
148
|
s.licenses = ["apachev2"]
|
149
149
|
s.require_paths = ["lib"]
|
150
150
|
s.rubygems_version = "1.8.24"
|
151
|
-
s.summary = "
|
151
|
+
s.summary = "Infochimps' lightweight cloud orchestration toolkit, built on top of Chef."
|
152
152
|
s.test_files = ["spec/spec_helper/dummy_chef.rb", "spec/integration/spec_helper/launch_cluster.rb", "spec/integration/minimal-chef-repo/roles/systemwide.rb", "spec/integration/minimal-chef-repo/environments/_default.json", "spec/integration/minimal-chef-repo/chefignore", "spec/integration/minimal-chef-repo/knife/knife.rb", "spec/integration/minimal-chef-repo/knife/credentials/knife-org.rb", "spec/integration/spec/simple_cluster_spec.rb", "spec/integration/spec/elb_build_spec.rb", "spec/integration/spec_helper.rb", "spec/ironfan/cluster_spec.rb", "spec/ironfan/ec2/cloud_provider_spec.rb", "spec/ironfan/ec2/elb_spec.rb", "spec/ironfan/ec2/security_group_spec.rb", "spec/chef/cluster_launch_spec.rb", "spec/chef/cluster_bootstrap_spec.rb", "spec/fixtures/gunbai_slice.json", "spec/fixtures/ec2/elb/snakeoil.key", "spec/fixtures/ec2/elb/snakeoil.crt", "spec/fixtures/gunbai.rb", "spec/spec_helper.rb", "spec/test_config.rb"]
|
153
153
|
|
154
154
|
if s.respond_to? :specification_version then
|
@@ -63,35 +63,45 @@ sudo -p 'knife sudo password: ' true
|
|
63
63
|
|
64
64
|
<%= ((config[:verbosity].to_i > 1) ? "set -v" : "") %>
|
65
65
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
66
|
+
# New style server, using chef-client-nonce
|
67
|
+
if [ -f /etc/init.d/chef-client-nonce ]; then
|
68
|
+
echo -e "****\n\nstarting chef-client-nonce service\n\n****\n"
|
69
|
+
sudo -p 'knife sudo password: ' service chef-client-nonce start
|
70
|
+
# Old style server, using long-running chef-client
|
71
|
+
elif [ -f /etc/init.d/chef-client ]; then
|
72
|
+
if sudo -p 'knife sudo password: ' service chef-client status ; then
|
73
|
+
|
74
|
+
# running
|
75
|
+
pid_file="<%= config[:pid_file] %>"
|
76
|
+
log_file=<%= config[:log_file] %>
|
77
|
+
|
78
|
+
declare tail_pid
|
79
|
+
|
80
|
+
on_exit() {
|
81
|
+
rm -f $pipe
|
82
|
+
}
|
83
|
+
|
84
|
+
trap "on_exit" EXIT ERR
|
85
|
+
|
86
|
+
pipe=/tmp/pipe-$$
|
87
|
+
mkfifo $pipe
|
88
|
+
|
89
|
+
tail -Fn0 "$log_file" > $pipe &
|
90
|
+
|
91
|
+
tail_pid=$!
|
92
|
+
|
93
|
+
pid="$(sudo -p 'knife sudo password: ' cat $pid_file)"
|
94
|
+
sudo -p 'knife sudo password: ' kill -USR1 "$pid"
|
95
|
+
GOOD_RESULT='INFO: Report handlers complete\$'
|
96
|
+
BAD_RESULT='ERROR: Sleeping for [0-9]+ seconds before trying again\$'
|
97
|
+
sed -r -e "/$GOOD_RESULT/{q 0}" -e"/$BAD_RESULT/{q 1}" $pipe
|
98
|
+
else
|
99
|
+
echo -e "****\n\nchef-client daemon not running, invoking chef-client directly\n\n****\n"
|
100
|
+
sudo -p 'knife sudo password: ' chef-client
|
101
|
+
fi
|
92
102
|
else
|
93
|
-
echo -e "****\n\
|
94
|
-
|
103
|
+
echo -e "****\n\nNo chef-client found!\n\n****\n"
|
104
|
+
exit 1
|
95
105
|
fi
|
96
106
|
EOF
|
97
107
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: ironfan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 4.7.
|
5
|
+
version: 4.7.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Infochimps
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2013-01-
|
13
|
+
date: 2013-01-25 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: chef
|
@@ -282,7 +282,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
282
282
|
requirements:
|
283
283
|
- - ">="
|
284
284
|
- !ruby/object:Gem::Version
|
285
|
-
hash: -
|
285
|
+
hash: -1978687581575052392
|
286
286
|
segments:
|
287
287
|
- 0
|
288
288
|
version: "0"
|
@@ -298,7 +298,7 @@ rubyforge_project:
|
|
298
298
|
rubygems_version: 1.8.24
|
299
299
|
signing_key:
|
300
300
|
specification_version: 3
|
301
|
-
summary:
|
301
|
+
summary: Infochimps' lightweight cloud orchestration toolkit, built on top of Chef.
|
302
302
|
test_files:
|
303
303
|
- spec/spec_helper/dummy_chef.rb
|
304
304
|
- spec/integration/spec_helper/launch_cluster.rb
|