corl 0.4.21 → 0.4.22

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e3bb80a650eb209623ead506dd69a51306c1fcf0
4
- data.tar.gz: e41e127547eb7677cf335aa661301b11ffcb690e
3
+ metadata.gz: 6689cece3da0f0598e2b101e9d830d54f3772fc9
4
+ data.tar.gz: b82d70a25434a64f1704eec02f5811b9e41283f8
5
5
  SHA512:
6
- metadata.gz: 2c37715b7116f293ab7d8d2f96610f0e17d7a8d136cce335d06a2b1f540047b7ed2b340643ed998ec02fca54122d8925ffe8af665933e7f177ddd363d554ccc6
7
- data.tar.gz: a07956638bdcb9915e2152158417ef1b073b7eae676f57a2b87dc97a2fe0864b79f88c7337589dfbbdc219740ed570cbbc8baef51e13fbdf65ad31ad7790b840
6
+ metadata.gz: 29952bd940117c67ff3159faddc993dc9d76c2e95ad7a8037e85169caedb1a169a3a5b91960d2d1c893c5d92576bd9dec548f354e96f58bec8e736ca0ef5681d
7
+ data.tar.gz: 08a1399763d9dbb9865e1642d4ae8769ca1ccb895888ae3e13359518932c364118a3462cfd3f9e23fbf141a8d8e99f751860d2015f2c1855fef3dfe22d568fa3
data/Gemfile.lock CHANGED
@@ -36,7 +36,7 @@ GIT
36
36
  PATH
37
37
  remote: .
38
38
  specs:
39
- corl (0.4.20)
39
+ corl (0.4.22)
40
40
  facter (~> 1.7)
41
41
  fog (~> 1.20)
42
42
  hiera (~> 1.3)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.21
1
+ 0.4.22
@@ -15,8 +15,8 @@ esac
15
15
  # Set up Puppet Apt repositories
16
16
  apt-key adv --recv-key --keyserver pgp.mit.edu 4BD6EC30 2>&1 || exit 60
17
17
 
18
- echo -e "deb http://apt.puppetlabs.com $OS_NAME main dependencies\ndeb-src http://apt.puppetlabs.com $OS_NAME main dependencies" | cat > /etc/apt/sources.list.d/puppet.list || exit 61
19
- chmod 0644 /etc/apt/sources.list.d/puppet.list || exit 62
18
+ echo -e "deb http://apt.puppetlabs.com $OS_NAME main dependencies\ndeb-src http://apt.puppetlabs.com $OS_NAME main dependencies" | cat > /etc/apt/sources.list.d/corl_puppet.list || exit 61
19
+ chmod 0644 /etc/apt/sources.list.d/corl_puppet.list || exit 62
20
20
 
21
21
  # Install Puppet
22
22
  apt-get -y update || exit 63
@@ -26,6 +26,8 @@ apt-get -y install puppet-common="$PUPPET_PACKAGE" puppet="$PUPPET_PACKAGE" || e
26
26
  # Set up Hiera configuration
27
27
  mkdir -p /var/corl/config || exit 65
28
28
 
29
+ if [ ! -e /etc/hiera.yaml ]
30
+ then
29
31
  ( cat <<'EOP'
30
32
  ---
31
33
  :merge_behavior: deeper
@@ -41,5 +43,9 @@ mkdir -p /var/corl/config || exit 65
41
43
  EOP
42
44
  ) > /etc/hiera.yaml || exit 66
43
45
  chmod 0440 /etc/hiera.yaml || exit 67
46
+ fi
44
47
 
45
- ln -fs /etc/hiera.yaml /etc/puppet/hiera.yaml || exit 68
48
+ if [ ! -e /etc/puppet/hiera.yaml ]
49
+ then
50
+ ln -fs /etc/hiera.yaml /etc/puppet/hiera.yaml || exit 68
51
+ fi
data/corl.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: corl 0.4.21 ruby lib
5
+ # stub: corl 0.4.22 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "corl"
9
- s.version = "0.4.21"
9
+ s.version = "0.4.22"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Adrian Webb"]
14
- s.date = "2014-04-28"
14
+ s.date = "2014-05-02"
15
15
  s.description = "Framework that provides a simple foundation for growing organically in the cloud"
16
16
  s.email = "adrian.webb@coralnexus.com"
17
17
  s.executables = ["corl"]
@@ -9,6 +9,15 @@ class Lookup < Plugin::CloudAction
9
9
  def configure
10
10
  super do
11
11
  register :property, :str, nil
12
+ register :context, :str, :priority do |value|
13
+ success = true
14
+ options = [ :priority, :array, :hash ]
15
+ unless options.include?(value.to_sym)
16
+ warn('corl.actions.lookup.errors.context', { :value => value, :options => options.join(', ') })
17
+ success = false
18
+ end
19
+ success
20
+ end
12
21
  end
13
22
  end
14
23
 
@@ -141,7 +141,7 @@ module Lookup
141
141
 
142
142
  def lookup_array(properties, default = [], options = {})
143
143
  config = Config.ensure(options)
144
- value, property = lookup(properties, nil, config.import({ :return_property => true }))
144
+ value, property = lookup(properties, nil, config.import({ :return_property => true, :context => :array }))
145
145
 
146
146
  if Util::Data.undef?(value)
147
147
  value = default
@@ -170,7 +170,7 @@ module Lookup
170
170
 
171
171
  def lookup_hash(properties, default = {}, options = {})
172
172
  config = Config.ensure(options)
173
- value, property = lookup(properties, nil, config.import({ :return_property => true }))
173
+ value, property = lookup(properties, nil, config.import({ :return_property => true, :context => :hash }))
174
174
 
175
175
  if Util::Data.undef?(value)
176
176
  value = default
@@ -198,7 +198,7 @@ module Lookup
198
198
  #---
199
199
 
200
200
  def normalize(data, override = nil, options = {})
201
- config = Config.ensure(options)
201
+ config = Config.ensure(options).import({ :context => :hash })
202
202
  results = {}
203
203
 
204
204
  unless Util::Data.undef?(override)
@@ -20,7 +20,7 @@ module SSH
20
20
  reset = true
21
21
  retry
22
22
 
23
- rescue Net::SSH::ConnectionTimeout, Net::SSH::Disconnect => error
23
+ rescue Errno::ECONNREFUSED, Net::SSH::ConnectionTimeout, Net::SSH::Disconnect => error
24
24
  if tries > 1
25
25
  sleep(sleep_secs)
26
26
 
@@ -593,7 +593,7 @@ class Node < CORL.plugin_class(:base)
593
593
  default_error = Util::Shell::Result.new(:error, 255)
594
594
  results = [ default_error ]
595
595
 
596
- if machine && machine.running?
596
+ if local? && local_machine || machine && machine.running?
597
597
  config = Config.ensure(options)
598
598
 
599
599
  if extension_check(:exec, { :config => config })
@@ -121,6 +121,8 @@ class ResourceGroup < Core
121
121
  resources = Data.value(resources)
122
122
 
123
123
  unless Data.empty?(resources)
124
+ resource_names = {}
125
+
124
126
  resources.keys.each do |name|
125
127
  if ! resources[name] || resources[name].empty? || ! resources[name].is_a?(Hash)
126
128
  resources.delete(name)
@@ -151,10 +153,13 @@ class ResourceGroup < Core
151
153
 
152
154
  if normalize
153
155
  resource = Resource.new(self, info, name, resources[name]).defaults(default, config)
154
- resources[name] = resource
156
+ resource_names[name] = true
157
+ resources[name] = resource
155
158
  end
156
159
  end
157
160
  end
161
+
162
+ config[:resource_names] = resource_names
158
163
  resources.each do |name, resource|
159
164
  resource.process(config)
160
165
  end
@@ -168,14 +173,7 @@ class ResourceGroup < Core
168
173
  def translate(resources, options = {})
169
174
  config = Config.ensure(options)
170
175
  results = {}
171
-
172
- prefix = config.get(:resource_prefix, '')
173
- name_map = {}
174
-
175
- resources.keys.each do |name|
176
- name_map[name] = true
177
- end
178
- config[:resource_names] = name_map
176
+ prefix = config.get(:resource_prefix, '')
179
177
 
180
178
  resources.each do |name, resource|
181
179
  unless prefix.empty?
@@ -119,14 +119,16 @@ module Puppet
119
119
  case type[:type]
120
120
  when :type, :define
121
121
  CORL.ui_group(Util::Console.cyan(display_name)) do |ui|
122
- rendered_title = Util::Console.blue(title)
123
- ui.info("Adding #{type[:name]} #{rendered_title}")
122
+ rendered_title = Util::Console.blue(title)
123
+ rendered_resource = Util::Console.green("#{type_name(type[:name])}[#{rendered_title}]")
124
+ ui.info("Adding #{rendered_resource}")
124
125
  end
125
126
  add_definition(type, title, properties, config)
126
127
  when :class
127
128
  CORL.ui_group(Util::Console.cyan(display_name)) do |ui|
128
- rendered_title = Util::Console.blue(title)
129
- ui.info("Adding class #{rendered_title}")
129
+ rendered_title = Util::Console.blue(title)
130
+ rendered_resource = Util::Console.green("Class[#{rendered_title}]")
131
+ ui.info("Adding #{rendered_resource}")
130
132
  end
131
133
  add_class(title, properties, config)
132
134
  end
@@ -214,7 +216,9 @@ module Puppet
214
216
  if classes.is_a?(Array)
215
217
  classes.each do |klass|
216
218
  CORL.ui_group(Util::Console.cyan(display_name)) do |ui|
217
- ui.info("Including class #{klass}")
219
+ rendered_klass = Util::Console.blue(klass)
220
+ rendered_resource = Util::Console.green("Class[#{rendered_klass}]")
221
+ ui.info("Including #{rendered_resource}")
218
222
  end
219
223
  class_data[klass] = properties
220
224
  end
data/locales/en.yml CHANGED
@@ -141,6 +141,13 @@ en:
141
141
  options:
142
142
  command: |-
143
143
  Command line executable and arguments to execute on machine
144
+ lookup:
145
+ options:
146
+ context: |-
147
+ Lookup evaluation context; priority, array, hash (default %{default_value})
148
+ errors:
149
+ context: |-
150
+ Lookup evaluation context %{value} is not valid >> Possible contexts: %{choices}
144
151
  seed:
145
152
  options:
146
153
  project_branch: |-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: corl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.21
4
+ version: 0.4.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Webb
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-28 00:00:00.000000000 Z
11
+ date: 2014-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nucleon