corl 0.5.3 → 0.5.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.
@@ -5,84 +5,84 @@ nucleon_require(File.dirname(__FILE__), :node)
5
5
 
6
6
  module CORL
7
7
  module Node
8
- class Fog < Nucleon.plugin_class(:CORL, :node)
9
-
8
+ class FogBase < Nucleon.plugin_class(:CORL, :node)
9
+
10
10
  #-----------------------------------------------------------------------------
11
11
  # Node plugin interface
12
-
12
+
13
13
  def normalize(reload)
14
14
  super
15
-
15
+
16
16
  @region_info = Config.new({}, {}, true, false) unless reload
17
-
18
- myself.region = region
19
-
20
- unless reload
17
+
18
+ myself.region = region
19
+
20
+ unless reload
21
21
  machine_provider = :fog
22
22
  machine_provider = yield if block_given?
23
-
23
+
24
24
  myself.machine = create_machine(:machine, machine_provider, machine_config)
25
25
  end
26
26
  end
27
-
27
+
28
28
  #-----------------------------------------------------------------------------
29
29
  # Checks
30
-
30
+
31
31
  #-----------------------------------------------------------------------------
32
32
  # Property accessors / modifiers
33
-
33
+
34
34
  def api_user=api_user
35
35
  myself[:api_user] = api_user
36
36
  end
37
-
37
+
38
38
  def api_user
39
39
  myself[:api_user]
40
40
  end
41
-
41
+
42
42
  #---
43
-
43
+
44
44
  def api_key=api_key
45
45
  myself[:api_key] = api_key
46
46
  end
47
-
47
+
48
48
  def api_key
49
49
  myself[:api_key]
50
50
  end
51
-
51
+
52
52
  #---
53
-
53
+
54
54
  def auth_url=auth_url
55
55
  myself[:auth_url] = auth_url
56
56
  end
57
-
57
+
58
58
  def auth_url
59
59
  myself[:auth_url]
60
60
  end
61
-
61
+
62
62
  #---
63
-
63
+
64
64
  def connection_options=options
65
65
  myself[:connection_options] = options
66
66
  end
67
-
67
+
68
68
  def connection_options
69
69
  myself[:connection_options]
70
70
  end
71
-
71
+
72
72
  #---
73
-
73
+
74
74
  def region_info
75
- @region_info
75
+ @region_info
76
76
  end
77
-
77
+
78
78
  def regions
79
79
  @region_info.keys
80
80
  end
81
-
81
+
82
82
  def region=region
83
83
  myself[:region] = region
84
84
  end
85
-
85
+
86
86
  def region
87
87
  if region = myself[:region]
88
88
  region
@@ -92,44 +92,44 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
92
92
  first_region
93
93
  end
94
94
  end
95
-
95
+
96
96
  #-----------------------------------------------------------------------------
97
97
  # Settings groups
98
-
98
+
99
99
  def machine_config
100
- super do |config|
100
+ super do |config|
101
101
  config[:connection_options] = connection_options if connection_options
102
102
  yield(config) if block_given?
103
103
  end
104
104
  end
105
-
105
+
106
106
  #---
107
-
107
+
108
108
  def key_config
109
109
  { :private_key_path => private_key, :public_key_path => public_key }
110
110
  end
111
-
111
+
112
112
  #---
113
-
113
+
114
114
  def exec_options(name, options = {})
115
115
  extended_config(name, options).export
116
116
  end
117
-
117
+
118
118
  #-----------------------------------------------------------------------------
119
119
  # Node operations
120
-
120
+
121
121
  def create(options = {})
122
122
  super do |op, config|
123
123
  if op == :config
124
124
  config.import(exec_options(:create))
125
125
  config.defaults(key_config)
126
126
  end
127
- yield(op, config) if block_given?
127
+ yield(op, config) if block_given?
128
128
  end
129
129
  end
130
-
130
+
131
131
  #---
132
-
132
+
133
133
  def download(remote_path, local_path, options = {})
134
134
  super do |op, config|
135
135
  if op == :config
@@ -138,9 +138,9 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
138
138
  yield(op, config) if block_given?
139
139
  end
140
140
  end
141
-
141
+
142
142
  #---
143
-
143
+
144
144
  def upload(local_path, remote_path, options = {})
145
145
  super do |op, config|
146
146
  if op == :config
@@ -149,9 +149,9 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
149
149
  yield(op, config) if block_given?
150
150
  end
151
151
  end
152
-
152
+
153
153
  #---
154
-
154
+
155
155
  def exec(options = {})
156
156
  super do |op, config|
157
157
  if op == :config
@@ -160,9 +160,9 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
160
160
  yield(op, config) if block_given?
161
161
  end
162
162
  end
163
-
163
+
164
164
  #---
165
-
165
+
166
166
  def start(options = {})
167
167
  super do |op, config|
168
168
  if op == :config
@@ -172,9 +172,9 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
172
172
  yield(op, config) if block_given?
173
173
  end
174
174
  end
175
-
175
+
176
176
  #---
177
-
177
+
178
178
  def reload(options = {})
179
179
  super do |op, config|
180
180
  if op == :config
@@ -183,9 +183,9 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
183
183
  yield(op, config) if block_given?
184
184
  end
185
185
  end
186
-
186
+
187
187
  #---
188
-
188
+
189
189
  def create_image(options = {})
190
190
  super do |op, config|
191
191
  if op == :config
@@ -194,9 +194,9 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
194
194
  yield(op, config) if block_given?
195
195
  end
196
196
  end
197
-
197
+
198
198
  #---
199
-
199
+
200
200
  def stop(options = {})
201
201
  super do |op, config|
202
202
  if op == :config
@@ -205,10 +205,10 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
205
205
  yield(op, config) if block_given?
206
206
  end
207
207
  end
208
-
208
+
209
209
  #---
210
210
 
211
- def destroy(options = {})
211
+ def destroy(options = {})
212
212
  super do |op, config|
213
213
  if op == :config
214
214
  config.import(exec_options(:destroy))
@@ -216,10 +216,10 @@ class Fog < Nucleon.plugin_class(:CORL, :node)
216
216
  yield(op, config) if block_given?
217
217
  end
218
218
  end
219
-
219
+
220
220
  #-----------------------------------------------------------------------------
221
221
  # Utilities
222
-
222
+
223
223
  def filter_output(type, data)
224
224
  super
225
225
  end
@@ -986,7 +986,7 @@ class Node < Nucleon.plugin_class(:nucleon, :base)
986
986
  user_home = config[:home]
987
987
  auth_files = config.get_array(:auth_files)
988
988
 
989
- reboot = config.get(:reboot, false)
989
+ reboot = config.get(:reboot, true)
990
990
  dev_build = config.get(:dev_build, false)
991
991
 
992
992
  codes :local_path_not_found,
data/lib/corl.rb CHANGED
@@ -4,14 +4,14 @@
4
4
  #
5
5
  # built on Nucleon (github.com/coralnexus/nucleon)
6
6
  #
7
- # A framework that provides a simple foundation for growing organically in
7
+ # A framework that provides a simple foundation for growing organically in
8
8
  # the cloud.
9
9
  #
10
10
  # Author:: Adrian Webb (mailto:adrian.webb@coralnexus.com)
11
11
  # License:: GPLv3
12
12
 
13
13
  #-------------------------------------------------------------------------------
14
- # Top level properties
14
+ # Top level properties
15
15
 
16
16
  lib_dir = File.dirname(__FILE__)
17
17
  core_dir = File.join(lib_dir, 'core')
@@ -23,7 +23,7 @@ macro_dir = File.join(mixin_dir, 'macro')
23
23
  util_dir = File.join(core_dir, 'util')
24
24
  mod_dir = File.join(core_dir, 'mod')
25
25
  vagrant_dir = File.join(core_dir, 'vagrant')
26
-
26
+
27
27
  #-------------------------------------------------------------------------------
28
28
  # CORL requirements
29
29
 
@@ -69,7 +69,7 @@ end
69
69
  #---
70
70
 
71
71
  # Include CORL utilities
72
- [ :puppet ].each do |name|
72
+ [ :puppet ].each do |name|
73
73
  nucleon_require(util_dir, name)
74
74
  end
75
75
 
@@ -82,14 +82,14 @@ nucleon_require(core_dir, :errors)
82
82
  module Nucleon
83
83
  class Config
84
84
  extend Mixin::Lookup
85
- include Mixin::Lookup
85
+ include Mixin::Lookup
86
86
  end
87
-
87
+
88
88
  #---
89
-
89
+
90
90
  module Plugin
91
91
  class Base
92
- extend Mixin::Macro::NetworkSettings
92
+ extend Mixin::Macro::NetworkSettings
93
93
  end
94
94
  end
95
95
  end
@@ -115,19 +115,19 @@ end
115
115
  # CORL interface
116
116
 
117
117
  module CORL
118
-
118
+
119
119
  def self.VERSION
120
- File.read(File.join(File.dirname(__FILE__), '..', 'VERSION'))
120
+ File.read(File.join(File.dirname(__FILE__), '..', 'VERSION'))
121
121
  end
122
-
122
+
123
123
  #-----------------------------------------------------------------------------
124
124
  # CORL initialization
125
-
125
+
126
126
  def self.lib_path
127
127
  File.dirname(__FILE__)
128
128
  end
129
-
130
- #---
129
+
130
+ #---
131
131
 
132
132
  reload(true, :corl) do |op, manager|
133
133
  if op == :define
@@ -19,7 +19,7 @@ class Bootstrap < Nucleon.plugin_class(:nucleon, :cloud_action)
19
19
  register_directory :bootstrap_path, File.join(CORL.lib_path, '..', 'bootstrap')
20
20
  register_files :auth_files
21
21
 
22
- register_bool :reboot, false
22
+ register_bool :reboot, true
23
23
  register_bool :dev_build, false
24
24
 
25
25
  register_str :home_env_var, 'HOME'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: corl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Webb
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2014-12-03 00:00:00 Z
12
+ date: 2014-12-04 00:00:00 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nucleon
@@ -31,99 +31,89 @@ dependencies:
31
31
  requirements:
32
32
  - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: "1.25"
34
+ version: "1.23"
35
35
  type: :runtime
36
36
  version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: fog-rackspace
39
- prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- version: "1.0"
45
- type: :runtime
46
- version_requirements: *id003
47
37
  - !ruby/object:Gem::Dependency
48
38
  name: unf
49
39
  prerelease: false
50
- requirement: &id004 !ruby/object:Gem::Requirement
40
+ requirement: &id003 !ruby/object:Gem::Requirement
51
41
  requirements:
52
42
  - - ~>
53
43
  - !ruby/object:Gem::Version
54
44
  version: "0.1"
55
45
  type: :runtime
56
- version_requirements: *id004
46
+ version_requirements: *id003
57
47
  - !ruby/object:Gem::Dependency
58
48
  name: facter
59
49
  prerelease: false
60
- requirement: &id005 !ruby/object:Gem::Requirement
50
+ requirement: &id004 !ruby/object:Gem::Requirement
61
51
  requirements:
62
52
  - - ~>
63
53
  - !ruby/object:Gem::Version
64
54
  version: "2.3"
65
55
  type: :runtime
66
- version_requirements: *id005
56
+ version_requirements: *id004
67
57
  - !ruby/object:Gem::Dependency
68
58
  name: hiera
69
59
  prerelease: false
70
- requirement: &id006 !ruby/object:Gem::Requirement
60
+ requirement: &id005 !ruby/object:Gem::Requirement
71
61
  requirements:
72
62
  - - ~>
73
63
  - !ruby/object:Gem::Version
74
64
  version: "1.3"
75
65
  type: :runtime
76
- version_requirements: *id006
66
+ version_requirements: *id005
77
67
  - !ruby/object:Gem::Dependency
78
68
  name: puppet
79
69
  prerelease: false
80
- requirement: &id007 !ruby/object:Gem::Requirement
70
+ requirement: &id006 !ruby/object:Gem::Requirement
81
71
  requirements:
82
72
  - - ~>
83
73
  - !ruby/object:Gem::Version
84
74
  version: "3.7"
85
75
  type: :runtime
86
- version_requirements: *id007
76
+ version_requirements: *id006
87
77
  - !ruby/object:Gem::Dependency
88
78
  name: bundler
89
79
  prerelease: false
90
- requirement: &id008 !ruby/object:Gem::Requirement
80
+ requirement: &id007 !ruby/object:Gem::Requirement
91
81
  requirements:
92
82
  - - ~>
93
83
  - !ruby/object:Gem::Version
94
84
  version: "1.7"
95
85
  type: :development
96
- version_requirements: *id008
86
+ version_requirements: *id007
97
87
  - !ruby/object:Gem::Dependency
98
88
  name: jeweler
99
89
  prerelease: false
100
- requirement: &id009 !ruby/object:Gem::Requirement
90
+ requirement: &id008 !ruby/object:Gem::Requirement
101
91
  requirements:
102
92
  - - ~>
103
93
  - !ruby/object:Gem::Version
104
94
  version: "2.0"
105
95
  type: :development
106
- version_requirements: *id009
96
+ version_requirements: *id008
107
97
  - !ruby/object:Gem::Dependency
108
98
  name: rspec
109
99
  prerelease: false
110
- requirement: &id010 !ruby/object:Gem::Requirement
100
+ requirement: &id009 !ruby/object:Gem::Requirement
111
101
  requirements:
112
102
  - - ~>
113
103
  - !ruby/object:Gem::Version
114
104
  version: "3.1"
115
105
  type: :development
116
- version_requirements: *id010
106
+ version_requirements: *id009
117
107
  - !ruby/object:Gem::Dependency
118
108
  name: rdoc
119
109
  prerelease: false
120
- requirement: &id011 !ruby/object:Gem::Requirement
110
+ requirement: &id010 !ruby/object:Gem::Requirement
121
111
  requirements:
122
112
  - - ~>
123
113
  - !ruby/object:Gem::Version
124
114
  version: "3.12"
125
115
  type: :development
126
- version_requirements: *id011
116
+ version_requirements: *id010
127
117
  description: Framework that provides a simple foundation for growing organically in the cloud
128
118
  email: adrian.webb@coralnexus.com
129
119
  executables:
@@ -157,7 +147,6 @@ files:
157
147
  - bootstrap/os/ubuntu/01_git.sh
158
148
  - bootstrap/os/ubuntu/02_editor.sh
159
149
  - bootstrap/os/ubuntu/05_ruby.sh
160
- - bootstrap/os/ubuntu/06_puppet.sh
161
150
  - bootstrap/os/ubuntu/09_nucleon.sh
162
151
  - bootstrap/os/ubuntu/10_corl.sh
163
152
  - corl.gemspec
@@ -184,6 +173,7 @@ files:
184
173
  - lib/core/mixin/machine/ssh.rb
185
174
  - lib/core/mixin/macro/network_settings.rb
186
175
  - lib/core/mod/fog_aws_server.rb
176
+ - lib/core/mod/fog_rackspace_server.rb
187
177
  - lib/core/mod/hiera_backend.rb
188
178
  - lib/core/plugin/agent.rb
189
179
  - lib/core/plugin/builder.rb