ironfan 4.7.5 → 4.7.6

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/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