knife-nodefu 0.0.9 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -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