knife-nodefu 0.0.9 → 0.0.11

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.
@@ -64,27 +64,23 @@ class NodefuCreate < Chef::Knife
64
64
  check_args(1)
65
65
  env = Chef::Config[:environment]
66
66
  definitions_file = config[:definitions_file].nil? ? Chef::Config[:nodefu_definitions_file] : config[:definitions_file]
67
- @yml_config = YAML.load_file definitions_file
67
+ yml_config = YAML.load_file definitions_file
68
68
 
69
69
  base_name, start_range, end_range = parse_servers(name_args[0])
70
70
 
71
- #merge the current environment hash with the defaults
72
- merged_configuration = Chef::Mixin::DeepMerge.merge(@yml_config['default'],@yml_config['env'][env])
71
+ # Merge the current environment hash with the defaults
72
+ merged_configuration = Chef::Mixin::DeepMerge.merge(yml_config['default'],yml_config['env'][env])
73
73
 
74
- if (! config[:node_spec].nil?)
75
- node_spec_name = config[:node_spec]
76
- else
77
- node_spec_name = base_name
78
- end
74
+ node_spec_name = config[:node_spec] || base_name
79
75
 
76
+ abort("I'm sorry I couldn't find any node_spec matches :(") unless (node_spec = merged_configuration['node_spec'][node_spec_name])
80
77
  domain = merged_configuration['domain']
81
- node_spec = merged_configuration['node_spec'][node_spec_name]
82
78
  vm_spec_name = node_spec['vm_spec']
83
79
  vm_spec = merged_configuration['vm_spec'][vm_spec_name]
84
80
  aux_groups = node_spec['aux_groups'].nil? ? '' : ",#{node_spec['aux_groups'].join(',')}"
85
81
 
86
82
  #Present the user with some totally rad visuals!!!
87
- ui.msg "#{ui.color('SHAZAM!',:red)} It looks like you want to launch #{ui.color((end_range - start_range + 1).to_s,:yellow)} of these:"
83
+ ui.msg("#{ui.color('SHAZAM!',:red)} It looks like you want to launch #{ui.color((end_range - start_range + 1).to_s,:yellow)} of these:")
88
84
  ui.msg("#{ui.color('Base Name',:cyan)}: #{base_name}")
89
85
  ui.msg("#{ui.color('Node Spec',:cyan)}: #{node_spec_name}")
90
86
  pretty_print_hash(node_spec)
@@ -127,23 +123,26 @@ class NodefuCreate < Chef::Knife
127
123
  @servers = threads.inject({}) {|hash,t| hash[t.value[0]] = t.value[1]; hash}
128
124
 
129
125
  query = Chef::Search::Query.new
130
- query.search('node',"name:#{base_name}*#{env}*") do |n|
131
- n.inspect
132
- @servers[n.name]['chef_node'] = n unless @servers[n.name].nil?
133
- end
134
-
126
+ query.search('node',"name:#{base_name}*#{env}*") { |n| @servers[n.name]['chef_node'] = n unless @servers[n.name].nil? }
127
+
135
128
  ui.msg('')
136
- ui.msg(ui.color('Failed Nodes:',:red))
137
- failed = failed_nodes(@servers).each_pair do |k,v|
138
- if v['server'].nil?
139
- ui.msg("#{k}: #{v['failure']}")
140
- else
141
- ui.msg("#{k}: #{v['failure']}, #{v['server'].dns_name}, #{v['server'].id}")
129
+
130
+ failed = failed_nodes(@servers)
131
+ unless failed.nil?
132
+ failed.each_pair do |k,v|
133
+ if v['server'].nil?
134
+ ui.msg("#{k}: #{v['failure']}")
135
+ else
136
+ ui.msg("#{k}: #{v['failure']}, #{v['server'].dns_name}, #{v['server'].id}")
137
+ end
142
138
  end
143
139
  end
144
140
 
145
- ui.msg(ui.color('Successful Nodes:',:green))
146
- successful = successful_nodes(@servers).each_pair { |k,v| ui.msg("#{k}: #{v['id']}, #{v['server'].dns_name}, #{v['server'].id}") }
141
+ successful = successful_nodes(@servers)
142
+ unless successful.nil?
143
+ ui.msg(ui.color('Successful Nodes:',:green))
144
+ successful.each_pair { |k,v| ui.msg("#{k}: #{v['id']}, #{v['server'].dns_name}, #{v['server'].id}") }
145
+ end
147
146
 
148
147
  if config[:destroy_on_fail]
149
148
  ui.msg(ui.color("Destroying failed nodes:",:red))
@@ -1,6 +1,6 @@
1
1
  module Knife
2
2
  module Nodefu
3
- VERSION = "0.0.9"
3
+ VERSION = "0.0.11"
4
4
  MAJOR, MINOR, TINY = VERSION.split(',')
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-nodefu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.11
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-06-06 00:00:00.000000000Z
12
+ date: 2012-08-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: knife-ec2
16
- requirement: &70243419907320 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70243419907320
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: chef
27
- requirement: &70243419906820 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,7 +37,12 @@ dependencies:
32
37
  version: '0.10'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70243419906820
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0.10'
36
46
  description: A knife plugin for simple node creation automation
37
47
  email:
38
48
  - brian.bianco@gmail.com
@@ -69,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
79
  version: '0'
70
80
  requirements: []
71
81
  rubyforge_project:
72
- rubygems_version: 1.8.15
82
+ rubygems_version: 1.8.24
73
83
  signing_key:
74
84
  specification_version: 3
75
85
  summary: A knife plugin for simple node creation automation