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 CHANGED
@@ -1,3 +1,6 @@
1
+ # v4.7.6
2
+ * adding chef-client-nonce invocation to knife cluster kick
3
+
1
4
  # v4.7.5
2
5
  * cluster_launch: correcting public_target to public_hostname
3
6
 
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{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.}
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.5
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.5"
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-18"
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 = "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."
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
- if sudo -p 'knife sudo password: ' service chef-client status ; then
67
-
68
- # running
69
- pid_file="<%= config[:pid_file] %>"
70
- log_file=<%= config[:log_file] %>
71
-
72
- declare tail_pid
73
-
74
- on_exit() {
75
- rm -f $pipe
76
- }
77
-
78
- trap "on_exit" EXIT ERR
79
-
80
- pipe=/tmp/pipe-$$
81
- mkfifo $pipe
82
-
83
- tail -Fn0 "$log_file" > $pipe &
84
-
85
- tail_pid=$!
86
-
87
- pid="$(sudo -p 'knife sudo password: ' cat $pid_file)"
88
- sudo -p 'knife sudo password: ' kill -USR1 "$pid"
89
- GOOD_RESULT='INFO: Report handlers complete\$'
90
- BAD_RESULT='ERROR: Sleeping for [0-9]+ seconds before trying again\$'
91
- sed -r -e "/$GOOD_RESULT/{q 0}" -e"/$BAD_RESULT/{q 1}" $pipe
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\nchef-client daemon not running, invoking chef-client directly\n\n****\n"
94
- sudo -p 'knife sudo password: ' chef-client
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
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-18 00:00:00 Z
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: -946421318815757718
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: 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.
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