chef-workflow 0.2.3 → 0.2.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.
@@ -1,3 +1,7 @@
1
+ * 0.2.4 April 4, 2013
2
+ * Fixed situations where client bootstrap fails due to a bad recipe, and the
3
+ run_list isn't preserved, which meant to do further converges you would
4
+ need to edit the node manually.
1
5
  * 0.2.3 March 30, 2013
2
6
  * fix a bug where the automated security group generator would never actually find a collision
3
7
  * 0.2.2 March 12, 2013
@@ -203,10 +203,20 @@ module ChefWorkflow
203
203
  # knife bootstrap is the honey badger when it comes to exit status.
204
204
  # We can't rely on it, so we examine the run_list of the node instead
205
205
  # to ensure it converged.
206
- run_list_size = Chef::Node.load(node_name).run_list.to_a.size rescue 0
206
+ node = Chef::Node.load(node_name) rescue nil
207
+ run_list_size = node ? (node.run_list.to_a.size rescue 0) : 0
207
208
  unless run_list_size > 0
208
209
  puts bootstrap_cli.ui.stdout.string
209
210
  puts bootstrap_cli.ui.stderr.string
211
+
212
+ if node
213
+ #
214
+ # hack for bad first-converges that preserves the run list.
215
+ #
216
+ @run_list.each { |i| node.run_list.add(i) unless node.run_list.include?(i) }
217
+ node.save
218
+ end
219
+
210
220
  raise "bootstrap for #{node_name}/#{ip} wasn't successful."
211
221
  end
212
222
  if_debug(2) do
@@ -1,4 +1,4 @@
1
1
  module ChefWorkflow
2
2
  # The gem version.
3
- VERSION = "0.2.3"
3
+ VERSION = "0.2.4"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-workflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-30 00:00:00.000000000 Z
12
+ date: 2013-04-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: vagrant-prison
@@ -223,7 +223,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
223
223
  version: '0'
224
224
  segments:
225
225
  - 0
226
- hash: 4084276637561648362
226
+ hash: 303264598946697222
227
227
  required_rubygems_version: !ruby/object:Gem::Requirement
228
228
  none: false
229
229
  requirements:
@@ -232,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
232
232
  version: '0'
233
233
  segments:
234
234
  - 0
235
- hash: 4084276637561648362
235
+ hash: 303264598946697222
236
236
  requirements: []
237
237
  rubyforge_project:
238
238
  rubygems_version: 1.8.25