corl 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +8 -6
  4. data/VERSION +1 -1
  5. data/bootstrap/os/ubuntu/00_base.sh +2 -2
  6. data/bootstrap/os/ubuntu/05_ruby.sh +14 -2
  7. data/corl.gemspec +175 -5
  8. data/lib/CORL/builder/identity.rb +1 -1
  9. data/lib/CORL/builder/package.rb +1 -1
  10. data/lib/CORL/configuration/file.rb +7 -13
  11. data/lib/CORL/machine/physical.rb +1 -1
  12. data/lib/CORL/machine/vagrant.rb +12 -4
  13. data/lib/CORL/network/CORL.rb +1 -1
  14. data/lib/CORL/node/AWS.rb +25 -23
  15. data/lib/CORL/node/local.rb +1 -1
  16. data/lib/CORL/node/rackspace.rb +13 -15
  17. data/lib/CORL/node/vagrant.rb +1 -1
  18. data/lib/CORL/provisioner/puppetnode.rb +1 -1
  19. data/lib/core/mixin/action/keypair.rb +6 -6
  20. data/lib/core/mixin/action/registration.rb +39 -11
  21. data/lib/core/mod/fog_aws_server.rb +1 -3
  22. data/lib/core/plugin/builder.rb +1 -1
  23. data/lib/core/plugin/cloud_action.rb +59 -49
  24. data/lib/core/plugin/configuration.rb +4 -3
  25. data/lib/core/plugin/fog_machine.rb +10 -2
  26. data/lib/core/plugin/fog_node.rb +10 -4
  27. data/lib/core/plugin/machine.rb +2 -8
  28. data/lib/core/plugin/network.rb +9 -3
  29. data/lib/core/plugin/node.rb +30 -31
  30. data/lib/core/plugin/provisioner.rb +1 -1
  31. data/lib/core/vagrant/Vagrantfile +4 -1
  32. data/lib/core/vagrant/plugins.rb +6 -4
  33. data/lib/corl.rb +1 -1
  34. data/lib/nucleon/action/cloud/config.rb +167 -100
  35. data/lib/nucleon/action/cloud/create.rb +5 -1
  36. data/lib/nucleon/action/cloud/images.rb +10 -7
  37. data/lib/nucleon/action/cloud/inspect.rb +8 -6
  38. data/lib/nucleon/action/cloud/machines.rb +10 -7
  39. data/lib/nucleon/action/cloud/regions.rb +13 -8
  40. data/lib/nucleon/action/cloud/remote.rb +68 -0
  41. data/lib/nucleon/action/cloud/settings.rb +33 -47
  42. data/lib/nucleon/action/cloud/vagrantfile.rb +34 -17
  43. data/lib/nucleon/action/node/IP.rb +2 -2
  44. data/lib/nucleon/action/node/SSH.rb +3 -3
  45. data/lib/nucleon/action/node/authorize.rb +2 -2
  46. data/lib/nucleon/action/node/bootstrap.rb +17 -30
  47. data/lib/nucleon/action/node/build.rb +4 -4
  48. data/lib/nucleon/action/node/cache.rb +2 -4
  49. data/lib/nucleon/action/node/destroy.rb +25 -26
  50. data/lib/nucleon/action/node/exec.rb +2 -2
  51. data/lib/nucleon/action/node/fact.rb +10 -5
  52. data/lib/nucleon/action/node/group.rb +10 -5
  53. data/lib/nucleon/action/node/identity.rb +6 -8
  54. data/lib/nucleon/action/node/image.rb +3 -3
  55. data/lib/nucleon/action/node/keypair.rb +2 -2
  56. data/lib/nucleon/action/node/lookup.rb +2 -4
  57. data/lib/nucleon/action/node/provision.rb +2 -2
  58. data/lib/nucleon/action/node/reboot.rb +3 -3
  59. data/lib/nucleon/action/node/revoke.rb +2 -2
  60. data/lib/nucleon/action/node/seed.rb +28 -43
  61. data/lib/nucleon/action/node/spawn.rb +19 -14
  62. data/lib/nucleon/action/node/start.rb +3 -3
  63. data/lib/nucleon/action/node/status.rb +8 -8
  64. data/lib/nucleon/action/node/stop.rb +3 -3
  65. data/lib/nucleon/action/plugin/create.rb +10 -13
  66. data/lib/nucleon/action/plugin/list.rb +7 -7
  67. data/lib/nucleon/action/plugin/template/nucleon.action.erb +2 -2
  68. data/lib/nucleon/action/plugins.rb +12 -1
  69. data/lib/nucleon/event/puppet.rb +1 -1
  70. data/lib/nucleon/extension/corl_config.rb +26 -0
  71. data/lib/nucleon/template/environment.rb +1 -1
  72. data/locales/en.yml +483 -90
  73. data/rdoc/site/0.5.1/CORL/Build.html +781 -0
  74. data/rdoc/site/0.5.1/CORL/Builder/Identity.html +596 -0
  75. data/rdoc/site/0.5.1/CORL/Builder/Package.html +600 -0
  76. data/rdoc/site/0.5.1/CORL/Builder.html +384 -0
  77. data/rdoc/site/0.5.1/CORL/Configuration/File.html +1186 -0
  78. data/rdoc/site/0.5.1/CORL/Configuration.html +383 -0
  79. data/rdoc/site/0.5.1/CORL/Errors.html +383 -0
  80. data/rdoc/site/0.5.1/CORL/Facade.html +927 -0
  81. data/rdoc/site/0.5.1/CORL/Machine/AWS.html +777 -0
  82. data/rdoc/site/0.5.1/CORL/Machine/Fog.html +1313 -0
  83. data/rdoc/site/0.5.1/CORL/Machine/Physical.html +1083 -0
  84. data/rdoc/site/0.5.1/CORL/Machine/Rackspace.html +558 -0
  85. data/rdoc/site/0.5.1/CORL/Machine/Vagrant.html +1344 -0
  86. data/rdoc/site/0.5.1/CORL/Machine.html +387 -0
  87. data/rdoc/site/0.5.1/CORL/Mixin/Action/Keypair.html +616 -0
  88. data/rdoc/site/0.5.1/CORL/Mixin/Action/Registration.html +469 -0
  89. data/rdoc/site/0.5.1/CORL/Mixin/Action.html +384 -0
  90. data/rdoc/site/0.5.1/CORL/Mixin/Builder/Global.html +628 -0
  91. data/rdoc/site/0.5.1/CORL/Mixin/Builder/Instance.html +720 -0
  92. data/rdoc/site/0.5.1/CORL/Mixin/Builder.html +383 -0
  93. data/rdoc/site/0.5.1/CORL/Mixin/Lookup.html +1315 -0
  94. data/rdoc/site/0.5.1/CORL/Mixin/Machine/SSH.html +699 -0
  95. data/rdoc/site/0.5.1/CORL/Mixin/Machine.html +383 -0
  96. data/rdoc/site/0.5.1/CORL/Mixin/Macro/NetworkSettings.html +508 -0
  97. data/rdoc/site/0.5.1/CORL/Mixin/Macro.html +383 -0
  98. data/rdoc/site/0.5.1/CORL/Mixin.html +388 -0
  99. data/rdoc/site/0.5.1/CORL/Network/CORL.html +435 -0
  100. data/rdoc/site/0.5.1/CORL/Network.html +383 -0
  101. data/rdoc/site/0.5.1/CORL/Node/AWS.html +760 -0
  102. data/rdoc/site/0.5.1/CORL/Node/Fog.html +1268 -0
  103. data/rdoc/site/0.5.1/CORL/Node/Local.html +468 -0
  104. data/rdoc/site/0.5.1/CORL/Node/Rackspace.html +753 -0
  105. data/rdoc/site/0.5.1/CORL/Node/Vagrant.html +1497 -0
  106. data/rdoc/site/0.5.1/CORL/Node.html +387 -0
  107. data/rdoc/site/0.5.1/CORL/Plugin/Builder.html +524 -0
  108. data/rdoc/site/0.5.1/CORL/Plugin/Configuration.html +1294 -0
  109. data/rdoc/site/0.5.1/CORL/Plugin/Machine.html +1323 -0
  110. data/rdoc/site/0.5.1/CORL/Plugin/Network.html +1766 -0
  111. data/rdoc/site/0.5.1/CORL/Plugin/Node.html +4263 -0
  112. data/rdoc/site/0.5.1/CORL/Plugin/Provisioner.html +1139 -0
  113. data/rdoc/site/0.5.1/CORL/Plugin.html +673 -0
  114. data/rdoc/site/0.5.1/CORL/Provisioner/Puppetnode.html +1201 -0
  115. data/rdoc/site/0.5.1/CORL/Provisioner.html +383 -0
  116. data/rdoc/site/0.5.1/CORL/Util/Puppet/Resource.html +1082 -0
  117. data/rdoc/site/0.5.1/CORL/Util/Puppet/ResourceGroup.html +964 -0
  118. data/rdoc/site/0.5.1/CORL/Util/Puppet.html +1131 -0
  119. data/rdoc/site/0.5.1/CORL/Util.html +385 -0
  120. data/rdoc/site/0.5.1/CORL/Vagrant/Config.html +967 -0
  121. data/rdoc/site/0.5.1/CORL/Vagrant.html +462 -0
  122. data/rdoc/site/0.5.1/CORL.html +496 -0
  123. data/rdoc/site/0.5.1/Fog/Compute/AWS/Server.html +467 -0
  124. data/rdoc/site/0.5.1/Fog/Compute/AWS.html +389 -0
  125. data/rdoc/site/0.5.1/Fog/Compute/RackspaceV2/Server.html +452 -0
  126. data/rdoc/site/0.5.1/Fog/Compute/RackspaceV2.html +389 -0
  127. data/rdoc/site/0.5.1/Fog/Compute.html +384 -0
  128. data/rdoc/site/0.5.1/Fog.html +384 -0
  129. data/rdoc/site/0.5.1/Hiera/Backend.html +466 -0
  130. data/rdoc/site/0.5.1/Hiera/Corl_logger.html +493 -0
  131. data/rdoc/site/0.5.1/Hiera.html +390 -0
  132. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Config.html +978 -0
  133. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Create.html +562 -0
  134. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Images.html +596 -0
  135. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Inspect.html +567 -0
  136. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Machines.html +591 -0
  137. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Regions.html +591 -0
  138. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Settings.html +878 -0
  139. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Vagrantfile.html +539 -0
  140. data/rdoc/site/0.5.1/Nucleon/Action/Cloud.html +390 -0
  141. data/rdoc/site/0.5.1/Nucleon/Action/Node/Authorize.html +567 -0
  142. data/rdoc/site/0.5.1/Nucleon/Action/Node/Bootstrap.html +628 -0
  143. data/rdoc/site/0.5.1/Nucleon/Action/Node/Build.html +550 -0
  144. data/rdoc/site/0.5.1/Nucleon/Action/Node/Cache.html +773 -0
  145. data/rdoc/site/0.5.1/Nucleon/Action/Node/Destroy.html +597 -0
  146. data/rdoc/site/0.5.1/Nucleon/Action/Node/Exec.html +554 -0
  147. data/rdoc/site/0.5.1/Nucleon/Action/Node/Fact.html +733 -0
  148. data/rdoc/site/0.5.1/Nucleon/Action/Node/Facts.html +505 -0
  149. data/rdoc/site/0.5.1/Nucleon/Action/Node/Group.html +729 -0
  150. data/rdoc/site/0.5.1/Nucleon/Action/Node/Groups.html +505 -0
  151. data/rdoc/site/0.5.1/Nucleon/Action/Node/IP.html +477 -0
  152. data/rdoc/site/0.5.1/Nucleon/Action/Node/Identity.html +614 -0
  153. data/rdoc/site/0.5.1/Nucleon/Action/Node/Image.html +597 -0
  154. data/rdoc/site/0.5.1/Nucleon/Action/Node/Keypair.html +596 -0
  155. data/rdoc/site/0.5.1/Nucleon/Action/Node/Lookup.html +579 -0
  156. data/rdoc/site/0.5.1/Nucleon/Action/Node/Provision.html +577 -0
  157. data/rdoc/site/0.5.1/Nucleon/Action/Node/Reboot.html +597 -0
  158. data/rdoc/site/0.5.1/Nucleon/Action/Node/Revoke.html +565 -0
  159. data/rdoc/site/0.5.1/Nucleon/Action/Node/SSH.html +607 -0
  160. data/rdoc/site/0.5.1/Nucleon/Action/Node/Seed.html +626 -0
  161. data/rdoc/site/0.5.1/Nucleon/Action/Node/Spawn.html +699 -0
  162. data/rdoc/site/0.5.1/Nucleon/Action/Node/Start.html +597 -0
  163. data/rdoc/site/0.5.1/Nucleon/Action/Node/Status.html +615 -0
  164. data/rdoc/site/0.5.1/Nucleon/Action/Node/Stop.html +597 -0
  165. data/rdoc/site/0.5.1/Nucleon/Action/Node.html +406 -0
  166. data/rdoc/site/0.5.1/Nucleon/Action/Plugin/Create.html +736 -0
  167. data/rdoc/site/0.5.1/Nucleon/Action/Plugin/List.html +570 -0
  168. data/rdoc/site/0.5.1/Nucleon/Action/Plugin.html +384 -0
  169. data/rdoc/site/0.5.1/Nucleon/Action/Plugins.html +435 -0
  170. data/rdoc/site/0.5.1/Nucleon/Action.html +417 -0
  171. data/rdoc/site/0.5.1/Nucleon/Config.html +401 -0
  172. data/rdoc/site/0.5.1/Nucleon/Event/Puppet.html +717 -0
  173. data/rdoc/site/0.5.1/Nucleon/Event.html +383 -0
  174. data/rdoc/site/0.5.1/Nucleon/Plugin/Base.html +389 -0
  175. data/rdoc/site/0.5.1/Nucleon/Plugin/CloudAction.html +894 -0
  176. data/rdoc/site/0.5.1/Nucleon/Plugin.html +384 -0
  177. data/rdoc/site/0.5.1/Nucleon/Template/Environment.html +572 -0
  178. data/rdoc/site/0.5.1/Nucleon/Template.html +383 -0
  179. data/rdoc/site/0.5.1/Nucleon.html +421 -0
  180. data/rdoc/site/0.5.1/Object.html +402 -0
  181. data/rdoc/site/0.5.1/Puppet/DataBinding/Corl.html +389 -0
  182. data/rdoc/site/0.5.1/Puppet/DataBinding.html +382 -0
  183. data/rdoc/site/0.5.1/Puppet/Indirector/Corl.html +501 -0
  184. data/rdoc/site/0.5.1/Puppet/Indirector.html +382 -0
  185. data/rdoc/site/0.5.1/Puppet/Parser/Functions.html +524 -0
  186. data/rdoc/site/0.5.1/Puppet/Parser.html +382 -0
  187. data/rdoc/site/0.5.1/Puppet.html +382 -0
  188. data/rdoc/site/0.5.1/README_rdoc.html +384 -0
  189. data/rdoc/site/0.5.1/Vagrant/Config/Loader.html +443 -0
  190. data/rdoc/site/0.5.1/Vagrant/Config.html +383 -0
  191. data/rdoc/site/0.5.1/Vagrant/Vagrantfile.html +436 -0
  192. data/rdoc/site/0.5.1/Vagrant.html +390 -0
  193. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Action/DeleteCache.html +446 -0
  194. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Action/InitKeys.html +452 -0
  195. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Action/LinkNetwork.html +450 -0
  196. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Action.html +385 -0
  197. data/rdoc/site/0.5.1/VagrantPlugins/CORL/BaseAction.html +535 -0
  198. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Command/Launcher.html +577 -0
  199. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Command.html +383 -0
  200. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Config/CORL.html +776 -0
  201. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Config.html +383 -0
  202. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Plugin.html +389 -0
  203. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Provisioner/CORL.html +580 -0
  204. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Provisioner.html +383 -0
  205. data/rdoc/site/0.5.1/VagrantPlugins/CORL.html +390 -0
  206. data/rdoc/site/0.5.1/VagrantPlugins.html +390 -0
  207. data/rdoc/site/0.5.1/created.rid +114 -0
  208. data/rdoc/site/0.5.1/images/add.png +0 -0
  209. data/rdoc/site/0.5.1/images/brick.png +0 -0
  210. data/rdoc/site/0.5.1/images/brick_link.png +0 -0
  211. data/rdoc/site/0.5.1/images/bug.png +0 -0
  212. data/rdoc/site/0.5.1/images/bullet_black.png +0 -0
  213. data/rdoc/site/0.5.1/images/bullet_toggle_minus.png +0 -0
  214. data/rdoc/site/0.5.1/images/bullet_toggle_plus.png +0 -0
  215. data/rdoc/site/0.5.1/images/date.png +0 -0
  216. data/rdoc/site/0.5.1/images/delete.png +0 -0
  217. data/rdoc/site/0.5.1/images/find.png +0 -0
  218. data/rdoc/site/0.5.1/images/loadingAnimation.gif +0 -0
  219. data/rdoc/site/0.5.1/images/macFFBgHack.png +0 -0
  220. data/rdoc/site/0.5.1/images/package.png +0 -0
  221. data/rdoc/site/0.5.1/images/page_green.png +0 -0
  222. data/rdoc/site/0.5.1/images/page_white_text.png +0 -0
  223. data/rdoc/site/0.5.1/images/page_white_width.png +0 -0
  224. data/rdoc/site/0.5.1/images/plugin.png +0 -0
  225. data/rdoc/site/0.5.1/images/ruby.png +0 -0
  226. data/rdoc/site/0.5.1/images/tag_blue.png +0 -0
  227. data/rdoc/site/0.5.1/images/tag_green.png +0 -0
  228. data/rdoc/site/0.5.1/images/transparent.png +0 -0
  229. data/rdoc/site/0.5.1/images/wrench.png +0 -0
  230. data/rdoc/site/0.5.1/images/wrench_orange.png +0 -0
  231. data/rdoc/site/0.5.1/images/zoom.png +0 -0
  232. data/rdoc/site/0.5.1/index.html +383 -0
  233. data/rdoc/site/0.5.1/js/darkfish.js +155 -0
  234. data/rdoc/site/0.5.1/js/jquery.js +18 -0
  235. data/rdoc/site/0.5.1/js/navigation.js +142 -0
  236. data/rdoc/site/0.5.1/js/search.js +94 -0
  237. data/rdoc/site/0.5.1/js/search_index.js +1 -0
  238. data/rdoc/site/0.5.1/js/searcher.js +228 -0
  239. data/rdoc/site/0.5.1/rdoc.css +543 -0
  240. data/rdoc/site/0.5.1/table_of_contents.html +2005 -0
  241. metadata +174 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b1f29a3e15157033eb15220fec258f5dab7c864f
4
- data.tar.gz: eedf1f77dd5ceb8a0bec1e3ee8051c36e2d52250
3
+ metadata.gz: 3840ed0b53491146d0b010ac91c9e262b9ccd25f
4
+ data.tar.gz: 417a4965b14c57eb2a681240675e010ac46ea29c
5
5
  SHA512:
6
- metadata.gz: 7f81cf183feae8f4b102389f115da4549c50f2fe6da18fa5db9e690a72b498de16689f634d0d5f2dfaec3c584afe188b5e45cfe9c92aa06b505fd66473a7be73
7
- data.tar.gz: 3bce3004dc717b56ad801f1f6549aad4254d9a9374d273b81c37145cc04f8bf355ddd28048300dd8d551dac92a8de13698475481c2ca96f094b014810914cf03
6
+ metadata.gz: 9586034c27a82e8d560a7fcd1b3b36f80683303adecf0f63dd78b4a8dfbf9ecac9cd5c9a565cb34320e356f6f1c95bf58588f51d0eccfba15526ea4f6b19ed2f
7
+ data.tar.gz: d64b068925770fd9f5fd02da6fe7ac5149cdc88e68d181626c92a4011615c70f52d6c4216787a40b1fc6c757451bff412056421f5d8ca017af49b2c805a1650f
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "nucleon", "~> 0.2", ">= 0.2.0", :github => 'coralnexus/nucleon', :branch => '0.2'
3
+ gem "nucleon", "~> 0.2", ">= 0.2.2", :github => 'coralnexus/nucleon', :branch => '0.2'
4
4
 
5
5
  gem "fog", "~> 1.20"
6
6
  gem "unf", "~> 0.1"
data/Gemfile.lock CHANGED
@@ -1,12 +1,14 @@
1
1
  GIT
2
2
  remote: git://github.com/coralnexus/nucleon.git
3
- revision: b1aa31328f2aa1a681134d8ff88ea1639c18432c
3
+ revision: 2c89c3aa92950bec4f6d364ff7a5b528190677b8
4
4
  branch: 0.2
5
5
  specs:
6
- nucleon (0.2.0)
6
+ nucleon (0.2.2)
7
7
  celluloid (~> 0.15)
8
8
  childprocess (~> 0.5)
9
9
  deep_merge (~> 1.0)
10
+ erubis (~> 2.7)
11
+ highline (~> 1.6)
10
12
  i18n (~> 0.6)
11
13
  log4r (~> 1.1)
12
14
  multi_json (~> 1.7)
@@ -36,11 +38,11 @@ GIT
36
38
  PATH
37
39
  remote: .
38
40
  specs:
39
- corl (0.5.1)
41
+ corl (0.5.2)
40
42
  facter (~> 2.1)
41
43
  fog (~> 1.20)
42
44
  hiera (~> 1.3)
43
- nucleon (~> 0.2, >= 0.2.0)
45
+ nucleon (~> 0.2, >= 0.2.2)
44
46
  puppet (~> 3.6)
45
47
  unf (~> 0.1)
46
48
 
@@ -178,7 +180,7 @@ GEM
178
180
  diff-lcs (>= 1.1.3, < 2.0)
179
181
  rspec-mocks (2.14.6)
180
182
  rubyntlm (0.1.1)
181
- rugged (0.19.0)
183
+ rugged (0.21.0)
182
184
  savon (0.9.5)
183
185
  akami (~> 1.0)
184
186
  builder (>= 2.1.2)
@@ -220,7 +222,7 @@ DEPENDENCIES
220
222
  fog (~> 1.20)
221
223
  hiera (~> 1.3)
222
224
  jeweler (~> 2.0)
223
- nucleon (~> 0.2, >= 0.2.0)!
225
+ nucleon (~> 0.2, >= 0.2.2)!
224
226
  puppet (~> 3.6)
225
227
  rdoc (~> 3.12)
226
228
  rspec (~> 2.10)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.5.2
@@ -11,8 +11,8 @@ echo "127.0.1.1 $HOSTNAME" >> /etc/hosts || exit 2
11
11
  echo "nameserver 208.67.222.222" | tee /etc/resolvconf/resolv.conf.d/base > /dev/null || exit 3
12
12
 
13
13
  # Update system packages
14
- apt-get update || exit 4
15
- apt-get -y upgrade || exit 5
14
+ apt-get -y install dialog || exit 4
15
+ apt-get update || exit 5
16
16
 
17
17
  # Install basic build packages.
18
18
  apt-get -y install build-essential cmake bindfs libnl-dev libpopt-dev libssl-dev libcurl4-openssl-dev libxslt-dev libxml2-dev || exit 6
@@ -2,10 +2,22 @@
2
2
  #-------------------------------------------------------------------------------
3
3
 
4
4
  # Install Ruby.
5
- apt-get -y install ruby1.9.1 ruby1.9.1-dev || exit 50
5
+ case "$OS_VERSION" in
6
+ '14.04')
7
+ apt-get -y install ruby1.9.1 ruby1.9.1-dev || exit 50
8
+ ;;
9
+ '12.04')
10
+ add-apt-repository -y ppa:brightbox/ruby-ng-experimental 2>&1 || exit 51
11
+ apt-get update || exit 52
12
+
13
+ apt-get -y install ruby2.0 ruby2.0-dev || exit 53
14
+ update-alternatives --set ruby /usr/bin/ruby2.0 || exit 54
15
+ update-alternatives --set gem /usr/bin/gem2.0 || exit 55
16
+ ;;
17
+ esac
6
18
 
7
19
  # Set Gem options
8
20
  ( cat <<'EOP'
9
21
  gem: --no-rdoc --no-ri
10
22
  EOP
11
- ) > "$HOME/.gemrc" || exit 51
23
+ ) > "$HOME/.gemrc" || exit 56
data/corl.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "corl"
8
- s.version = "0.5.1"
8
+ s.version = "0.5.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Adrian Webb"]
12
- s.date = "2014-07-10"
12
+ s.date = "2014-08-10"
13
13
  s.description = "Framework that provides a simple foundation for growing organically in the cloud"
14
14
  s.email = "adrian.webb@coralnexus.com"
15
15
  s.executables = ["corl"]
@@ -104,6 +104,7 @@ Gem::Specification.new do |s|
104
104
  "lib/nucleon/action/cloud/inspect.rb",
105
105
  "lib/nucleon/action/cloud/machines.rb",
106
106
  "lib/nucleon/action/cloud/regions.rb",
107
+ "lib/nucleon/action/cloud/remote.rb",
107
108
  "lib/nucleon/action/cloud/settings.rb",
108
109
  "lib/nucleon/action/cloud/vagrantfile.rb",
109
110
  "lib/nucleon/action/node/IP.rb",
@@ -135,6 +136,7 @@ Gem::Specification.new do |s|
135
136
  "lib/nucleon/action/plugin/template/nucleon.action.erb",
136
137
  "lib/nucleon/action/plugins.rb",
137
138
  "lib/nucleon/event/puppet.rb",
139
+ "lib/nucleon/extension/corl_config.rb",
138
140
  "lib/nucleon/template/environment.rb",
139
141
  "lib/puppet/indirector/corl.rb",
140
142
  "lib/puppet/indirector/data_binding/corl.rb",
@@ -461,6 +463,174 @@ Gem::Specification.new do |s|
461
463
  "rdoc/site/0.5.0/js/searcher.js",
462
464
  "rdoc/site/0.5.0/rdoc.css",
463
465
  "rdoc/site/0.5.0/table_of_contents.html",
466
+ "rdoc/site/0.5.1/CORL.html",
467
+ "rdoc/site/0.5.1/CORL/Build.html",
468
+ "rdoc/site/0.5.1/CORL/Builder.html",
469
+ "rdoc/site/0.5.1/CORL/Builder/Identity.html",
470
+ "rdoc/site/0.5.1/CORL/Builder/Package.html",
471
+ "rdoc/site/0.5.1/CORL/Configuration.html",
472
+ "rdoc/site/0.5.1/CORL/Configuration/File.html",
473
+ "rdoc/site/0.5.1/CORL/Errors.html",
474
+ "rdoc/site/0.5.1/CORL/Facade.html",
475
+ "rdoc/site/0.5.1/CORL/Machine.html",
476
+ "rdoc/site/0.5.1/CORL/Machine/AWS.html",
477
+ "rdoc/site/0.5.1/CORL/Machine/Fog.html",
478
+ "rdoc/site/0.5.1/CORL/Machine/Physical.html",
479
+ "rdoc/site/0.5.1/CORL/Machine/Rackspace.html",
480
+ "rdoc/site/0.5.1/CORL/Machine/Vagrant.html",
481
+ "rdoc/site/0.5.1/CORL/Mixin.html",
482
+ "rdoc/site/0.5.1/CORL/Mixin/Action.html",
483
+ "rdoc/site/0.5.1/CORL/Mixin/Action/Keypair.html",
484
+ "rdoc/site/0.5.1/CORL/Mixin/Action/Registration.html",
485
+ "rdoc/site/0.5.1/CORL/Mixin/Builder.html",
486
+ "rdoc/site/0.5.1/CORL/Mixin/Builder/Global.html",
487
+ "rdoc/site/0.5.1/CORL/Mixin/Builder/Instance.html",
488
+ "rdoc/site/0.5.1/CORL/Mixin/Lookup.html",
489
+ "rdoc/site/0.5.1/CORL/Mixin/Machine.html",
490
+ "rdoc/site/0.5.1/CORL/Mixin/Machine/SSH.html",
491
+ "rdoc/site/0.5.1/CORL/Mixin/Macro.html",
492
+ "rdoc/site/0.5.1/CORL/Mixin/Macro/NetworkSettings.html",
493
+ "rdoc/site/0.5.1/CORL/Network.html",
494
+ "rdoc/site/0.5.1/CORL/Network/CORL.html",
495
+ "rdoc/site/0.5.1/CORL/Node.html",
496
+ "rdoc/site/0.5.1/CORL/Node/AWS.html",
497
+ "rdoc/site/0.5.1/CORL/Node/Fog.html",
498
+ "rdoc/site/0.5.1/CORL/Node/Local.html",
499
+ "rdoc/site/0.5.1/CORL/Node/Rackspace.html",
500
+ "rdoc/site/0.5.1/CORL/Node/Vagrant.html",
501
+ "rdoc/site/0.5.1/CORL/Plugin.html",
502
+ "rdoc/site/0.5.1/CORL/Plugin/Builder.html",
503
+ "rdoc/site/0.5.1/CORL/Plugin/Configuration.html",
504
+ "rdoc/site/0.5.1/CORL/Plugin/Machine.html",
505
+ "rdoc/site/0.5.1/CORL/Plugin/Network.html",
506
+ "rdoc/site/0.5.1/CORL/Plugin/Node.html",
507
+ "rdoc/site/0.5.1/CORL/Plugin/Provisioner.html",
508
+ "rdoc/site/0.5.1/CORL/Provisioner.html",
509
+ "rdoc/site/0.5.1/CORL/Provisioner/Puppetnode.html",
510
+ "rdoc/site/0.5.1/CORL/Util.html",
511
+ "rdoc/site/0.5.1/CORL/Util/Puppet.html",
512
+ "rdoc/site/0.5.1/CORL/Util/Puppet/Resource.html",
513
+ "rdoc/site/0.5.1/CORL/Util/Puppet/ResourceGroup.html",
514
+ "rdoc/site/0.5.1/CORL/Vagrant.html",
515
+ "rdoc/site/0.5.1/CORL/Vagrant/Config.html",
516
+ "rdoc/site/0.5.1/Fog.html",
517
+ "rdoc/site/0.5.1/Fog/Compute.html",
518
+ "rdoc/site/0.5.1/Fog/Compute/AWS.html",
519
+ "rdoc/site/0.5.1/Fog/Compute/AWS/Server.html",
520
+ "rdoc/site/0.5.1/Fog/Compute/RackspaceV2.html",
521
+ "rdoc/site/0.5.1/Fog/Compute/RackspaceV2/Server.html",
522
+ "rdoc/site/0.5.1/Hiera.html",
523
+ "rdoc/site/0.5.1/Hiera/Backend.html",
524
+ "rdoc/site/0.5.1/Hiera/Corl_logger.html",
525
+ "rdoc/site/0.5.1/Nucleon.html",
526
+ "rdoc/site/0.5.1/Nucleon/Action.html",
527
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud.html",
528
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud/Config.html",
529
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud/Create.html",
530
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud/Images.html",
531
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud/Inspect.html",
532
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud/Machines.html",
533
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud/Regions.html",
534
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud/Settings.html",
535
+ "rdoc/site/0.5.1/Nucleon/Action/Cloud/Vagrantfile.html",
536
+ "rdoc/site/0.5.1/Nucleon/Action/Node.html",
537
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Authorize.html",
538
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Bootstrap.html",
539
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Build.html",
540
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Cache.html",
541
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Destroy.html",
542
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Exec.html",
543
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Fact.html",
544
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Facts.html",
545
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Group.html",
546
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Groups.html",
547
+ "rdoc/site/0.5.1/Nucleon/Action/Node/IP.html",
548
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Identity.html",
549
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Image.html",
550
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Keypair.html",
551
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Lookup.html",
552
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Provision.html",
553
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Reboot.html",
554
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Revoke.html",
555
+ "rdoc/site/0.5.1/Nucleon/Action/Node/SSH.html",
556
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Seed.html",
557
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Spawn.html",
558
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Start.html",
559
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Status.html",
560
+ "rdoc/site/0.5.1/Nucleon/Action/Node/Stop.html",
561
+ "rdoc/site/0.5.1/Nucleon/Action/Plugin.html",
562
+ "rdoc/site/0.5.1/Nucleon/Action/Plugin/Create.html",
563
+ "rdoc/site/0.5.1/Nucleon/Action/Plugin/List.html",
564
+ "rdoc/site/0.5.1/Nucleon/Action/Plugins.html",
565
+ "rdoc/site/0.5.1/Nucleon/Config.html",
566
+ "rdoc/site/0.5.1/Nucleon/Event.html",
567
+ "rdoc/site/0.5.1/Nucleon/Event/Puppet.html",
568
+ "rdoc/site/0.5.1/Nucleon/Plugin.html",
569
+ "rdoc/site/0.5.1/Nucleon/Plugin/Base.html",
570
+ "rdoc/site/0.5.1/Nucleon/Plugin/CloudAction.html",
571
+ "rdoc/site/0.5.1/Nucleon/Template.html",
572
+ "rdoc/site/0.5.1/Nucleon/Template/Environment.html",
573
+ "rdoc/site/0.5.1/Object.html",
574
+ "rdoc/site/0.5.1/Puppet.html",
575
+ "rdoc/site/0.5.1/Puppet/DataBinding.html",
576
+ "rdoc/site/0.5.1/Puppet/DataBinding/Corl.html",
577
+ "rdoc/site/0.5.1/Puppet/Indirector.html",
578
+ "rdoc/site/0.5.1/Puppet/Indirector/Corl.html",
579
+ "rdoc/site/0.5.1/Puppet/Parser.html",
580
+ "rdoc/site/0.5.1/Puppet/Parser/Functions.html",
581
+ "rdoc/site/0.5.1/README_rdoc.html",
582
+ "rdoc/site/0.5.1/Vagrant.html",
583
+ "rdoc/site/0.5.1/Vagrant/Config.html",
584
+ "rdoc/site/0.5.1/Vagrant/Config/Loader.html",
585
+ "rdoc/site/0.5.1/Vagrant/Vagrantfile.html",
586
+ "rdoc/site/0.5.1/VagrantPlugins.html",
587
+ "rdoc/site/0.5.1/VagrantPlugins/CORL.html",
588
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Action.html",
589
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Action/DeleteCache.html",
590
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Action/InitKeys.html",
591
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Action/LinkNetwork.html",
592
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/BaseAction.html",
593
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Command.html",
594
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Command/Launcher.html",
595
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Config.html",
596
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Config/CORL.html",
597
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Plugin.html",
598
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Provisioner.html",
599
+ "rdoc/site/0.5.1/VagrantPlugins/CORL/Provisioner/CORL.html",
600
+ "rdoc/site/0.5.1/created.rid",
601
+ "rdoc/site/0.5.1/images/add.png",
602
+ "rdoc/site/0.5.1/images/brick.png",
603
+ "rdoc/site/0.5.1/images/brick_link.png",
604
+ "rdoc/site/0.5.1/images/bug.png",
605
+ "rdoc/site/0.5.1/images/bullet_black.png",
606
+ "rdoc/site/0.5.1/images/bullet_toggle_minus.png",
607
+ "rdoc/site/0.5.1/images/bullet_toggle_plus.png",
608
+ "rdoc/site/0.5.1/images/date.png",
609
+ "rdoc/site/0.5.1/images/delete.png",
610
+ "rdoc/site/0.5.1/images/find.png",
611
+ "rdoc/site/0.5.1/images/loadingAnimation.gif",
612
+ "rdoc/site/0.5.1/images/macFFBgHack.png",
613
+ "rdoc/site/0.5.1/images/package.png",
614
+ "rdoc/site/0.5.1/images/page_green.png",
615
+ "rdoc/site/0.5.1/images/page_white_text.png",
616
+ "rdoc/site/0.5.1/images/page_white_width.png",
617
+ "rdoc/site/0.5.1/images/plugin.png",
618
+ "rdoc/site/0.5.1/images/ruby.png",
619
+ "rdoc/site/0.5.1/images/tag_blue.png",
620
+ "rdoc/site/0.5.1/images/tag_green.png",
621
+ "rdoc/site/0.5.1/images/transparent.png",
622
+ "rdoc/site/0.5.1/images/wrench.png",
623
+ "rdoc/site/0.5.1/images/wrench_orange.png",
624
+ "rdoc/site/0.5.1/images/zoom.png",
625
+ "rdoc/site/0.5.1/index.html",
626
+ "rdoc/site/0.5.1/js/darkfish.js",
627
+ "rdoc/site/0.5.1/js/jquery.js",
628
+ "rdoc/site/0.5.1/js/navigation.js",
629
+ "rdoc/site/0.5.1/js/search.js",
630
+ "rdoc/site/0.5.1/js/search_index.js",
631
+ "rdoc/site/0.5.1/js/searcher.js",
632
+ "rdoc/site/0.5.1/rdoc.css",
633
+ "rdoc/site/0.5.1/table_of_contents.html",
464
634
  "spec/corl_mock_input.rb",
465
635
  "spec/corl_test_kernel.rb",
466
636
  "spec/spec_helper.rb"
@@ -478,7 +648,7 @@ Gem::Specification.new do |s|
478
648
  s.specification_version = 4
479
649
 
480
650
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
481
- s.add_runtime_dependency(%q<nucleon>, [">= 0.2.0", "~> 0.2"])
651
+ s.add_runtime_dependency(%q<nucleon>, [">= 0.2.2", "~> 0.2"])
482
652
  s.add_runtime_dependency(%q<fog>, ["~> 1.20"])
483
653
  s.add_runtime_dependency(%q<unf>, ["~> 0.1"])
484
654
  s.add_runtime_dependency(%q<facter>, ["~> 2.1"])
@@ -491,7 +661,7 @@ Gem::Specification.new do |s|
491
661
  s.add_development_dependency(%q<yard>, ["~> 0.8"])
492
662
  s.add_development_dependency(%q<vagrant>, ["~> 1.5"])
493
663
  else
494
- s.add_dependency(%q<nucleon>, [">= 0.2.0", "~> 0.2"])
664
+ s.add_dependency(%q<nucleon>, [">= 0.2.2", "~> 0.2"])
495
665
  s.add_dependency(%q<fog>, ["~> 1.20"])
496
666
  s.add_dependency(%q<unf>, ["~> 0.1"])
497
667
  s.add_dependency(%q<facter>, ["~> 2.1"])
@@ -505,7 +675,7 @@ Gem::Specification.new do |s|
505
675
  s.add_dependency(%q<vagrant>, ["~> 1.5"])
506
676
  end
507
677
  else
508
- s.add_dependency(%q<nucleon>, [">= 0.2.0", "~> 0.2"])
678
+ s.add_dependency(%q<nucleon>, [">= 0.2.2", "~> 0.2"])
509
679
  s.add_dependency(%q<fog>, ["~> 1.20"])
510
680
  s.add_dependency(%q<unf>, ["~> 0.1"])
511
681
  s.add_dependency(%q<facter>, ["~> 2.1"])
@@ -1,7 +1,7 @@
1
1
 
2
2
  module CORL
3
3
  module Builder
4
- class Identity < CORL.plugin_class(:CORL, :builder)
4
+ class Identity < Nucleon.plugin_class(:CORL, :builder)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Identity plugin interface
@@ -1,7 +1,7 @@
1
1
 
2
2
  module CORL
3
3
  module Builder
4
- class Package < CORL.plugin_class(:CORL, :builder)
4
+ class Package < Nucleon.plugin_class(:CORL, :builder)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Package plugin interface
@@ -1,7 +1,7 @@
1
1
 
2
2
  module CORL
3
3
  module Configuration
4
- class File < CORL.plugin_class(:CORL, :configuration)
4
+ class File < Nucleon.plugin_class(:CORL, :configuration)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Configuration plugin interface
@@ -62,8 +62,8 @@ class File < CORL.plugin_class(:CORL, :configuration)
62
62
  logger.info("Loading #{provider} translated source configuration from #{file}")
63
63
 
64
64
  parser = CORL.translator(method_config, provider)
65
- raw = Util::Disk.read(file)
66
-
65
+ raw = Util::Disk.read(file)
66
+
67
67
  if parser && raw && ! raw.empty?
68
68
  logger.debug("Source configuration file contents: #{raw}")
69
69
 
@@ -134,15 +134,9 @@ class File < CORL.plugin_class(:CORL, :configuration)
134
134
  config_name = select_largest(local_router)
135
135
  file_data.set([ config_name, keys ].flatten, value)
136
136
  else
137
- # Router is non existent
138
- if config_name = select_largest(router.export)
139
- # Pick largest router from top level
140
- file_data.set([ config_name, keys ].flatten, value)
141
- else
142
- # Resort to sane defaults
143
- config_name = "corl.#{default_provider}"
144
- file_data.set([ config_name, keys ].flatten, value)
145
- end
137
+ # Router is non existent. Resort to easily found default
138
+ config_name = "corl.#{default_provider}"
139
+ file_data.set([ config_name, keys ].flatten, value)
146
140
  end
147
141
  end
148
142
  end
@@ -333,7 +327,7 @@ class File < CORL.plugin_class(:CORL, :configuration)
333
327
  search.clear
334
328
  else
335
329
  translators = CORL.loaded_plugins(:nucleon, :translator)
336
- file_bases = [ "corl", extension_collect(:base) ].flatten
330
+ file_bases = [ :corl, extension_set(:base, []) ].flatten.uniq
337
331
 
338
332
  project.localize do
339
333
  translators.each do |provider, info|
@@ -1,7 +1,7 @@
1
1
 
2
2
  module CORL
3
3
  module Machine
4
- class Physical < CORL.plugin_class(:CORL, :machine)
4
+ class Physical < Nucleon.plugin_class(:CORL, :machine)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Machine plugin interface
@@ -1,14 +1,22 @@
1
1
 
2
2
  module CORL
3
3
  module Machine
4
- class Vagrant < CORL.plugin_class(:CORL, :machine)
4
+ class Vagrant < Nucleon.plugin_class(:CORL, :machine)
5
5
 
6
6
  include Mixin::Machine::SSH
7
7
 
8
8
  #---
9
9
 
10
10
  @@lock = Mutex.new
11
-
11
+
12
+ #-----------------------------------------------------------------------------
13
+ # Machine plugin interface
14
+
15
+ def normalize(reload)
16
+ super
17
+ myself.plugin_name = node.plugin_name if node
18
+ end
19
+
12
20
  #-----------------------------------------------------------------------------
13
21
  # Checks
14
22
 
@@ -281,7 +289,7 @@ class Vagrant < CORL.plugin_class(:CORL, :machine)
281
289
  if server
282
290
  load
283
291
  success = run(:up, options)
284
-
292
+
285
293
  # Make sure provisioner changes (key changes) are accounted for
286
294
  # TODO: Is there a better way?
287
295
  load if success
@@ -306,7 +314,7 @@ class Vagrant < CORL.plugin_class(:CORL, :machine)
306
314
  server.send(:action, action.to_sym, params)
307
315
 
308
316
  rescue => error
309
- error(error, { :i18n => false })
317
+ error(error.message, { :i18n => false })
310
318
  error(Util::Data.to_yaml(error.backtrace), { :i18n => false })
311
319
  success = false
312
320
  end
@@ -1,7 +1,7 @@
1
1
 
2
2
  module CORL
3
3
  module Network
4
- class CORL < CORL.plugin_class(:CORL, :network)
4
+ class CORL < Nucleon.plugin_class(:CORL, :network)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Cloud plugin interface
data/lib/CORL/node/AWS.rb CHANGED
@@ -8,6 +8,18 @@ class AWS < Fog
8
8
 
9
9
  def normalize(reload)
10
10
  super do
11
+ region_info.import({
12
+ 'us-east-1' => 'US East -- North Virginia',
13
+ 'us-west-1' => 'US West -- North California',
14
+ 'us-west-2' => 'US West -- Oregon',
15
+ 'eu-west-1' => 'EU -- Ireland',
16
+ 'ap-northeast-1' => 'Asia Pacific -- Tokyo',
17
+ 'ap-southeast-1' => 'Asia Pacific -- Singapore',
18
+ 'ap-southeast-2' => 'Asia Pacific -- Sydney',
19
+ 'sa-east-1' => 'South America -- Sao Paulo'
20
+ })
21
+
22
+ # Return machine provider
11
23
  :aws
12
24
  end
13
25
  end
@@ -21,20 +33,7 @@ class AWS < Fog
21
33
 
22
34
  #-----------------------------------------------------------------------------
23
35
  # Property accessors / modifiers
24
-
25
- def regions
26
- [
27
- 'us-east-1',
28
- 'us-west-1',
29
- 'us-west-2',
30
- 'eu-west-1',
31
- 'ap-northeast-1',
32
- 'ap-southeast-1',
33
- 'ap-southeast-2',
34
- 'sa-east-1'
35
- ]
36
- end
37
-
36
+
38
37
  #-----------------------------------------------------------------------------
39
38
  # Settings groups
40
39
 
@@ -42,7 +41,7 @@ class AWS < Fog
42
41
  super do |config|
43
42
  config.import({
44
43
  :provider => 'AWS',
45
- :region => region
44
+ :region => region.to_s
46
45
  })
47
46
 
48
47
  config[:aws_access_key_id] = api_user if api_user
@@ -81,21 +80,24 @@ class AWS < Fog
81
80
  # Utilities
82
81
 
83
82
  def render_machine_type(machine_type)
84
- sprintf("[ %20s ][ VCPUS: %5.1f ] %-40s ( RAM: %6iMB | DISK: %8iGB ) ( BITS: %2i )",
85
- machine_type_id(machine_type),
86
- machine_type.cores,
87
- machine_type.name,
88
- machine_type.ram,
89
- machine_type.disk,
90
- machine_type.bits
83
+ sprintf("%-25s %-50s [ VCPUS: %-5s ] ( RAM: %6sMB | DISK: %8sGB ) ( BITS: %5s )",
84
+ purple(machine_type_id(machine_type)),
85
+ yellow(machine_type.name),
86
+ blue(machine_type.cores.to_s),
87
+ blue(machine_type.ram.to_s),
88
+ blue(machine_type.disk.to_s),
89
+ blue(machine_type.bits.to_s)
91
90
  )
92
91
  end
93
92
 
94
93
  #---
95
94
 
96
95
  def render_image(image)
96
+ description = image.name
97
+ description = image.description if image.description && ! image.description.empty?
98
+
97
99
  location = image.location.split('/').first
98
- sprintf("[ %20s ][ %10s ] %10s - %s (%s)", image_id(image), image.state, image.architecture, image.name, location)
100
+ sprintf("%-23s [ %-10s | %-6s ] %s ( %s )", purple(image_id(image)), blue(image.state), image.architecture, yellow(description), cyan(location))
99
101
  end
100
102
 
101
103
  #---
@@ -1,7 +1,7 @@
1
1
 
2
2
  module CORL
3
3
  module Node
4
- class Local < CORL.plugin_class(:CORL, :node)
4
+ class Local < Nucleon.plugin_class(:CORL, :node)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Node plugin interface
@@ -8,6 +8,12 @@ class Rackspace < Fog
8
8
 
9
9
  def normalize(reload)
10
10
  super do
11
+ region_info.import({
12
+ :dfw => 'Dallas',
13
+ :ord => 'Chicago',
14
+ :lon => 'London (for UK accounts)'
15
+ })
16
+ # Return machine provider
11
17
  :rackspace
12
18
  end
13
19
  end
@@ -22,14 +28,6 @@ class Rackspace < Fog
22
28
  #-----------------------------------------------------------------------------
23
29
  # Property accessors / modifiers
24
30
 
25
- def regions
26
- [
27
- :dfw, # Dallas
28
- :ord, # Chicago
29
- :lon # London (for UK accounts)
30
- ]
31
- end
32
-
33
31
  #-----------------------------------------------------------------------------
34
32
  # Settings groups
35
33
 
@@ -78,19 +76,19 @@ class Rackspace < Fog
78
76
  # Utilities
79
77
 
80
78
  def render_machine_type(machine_type)
81
- sprintf("[ %20s ][ VCPUS: %2i ] %-30s ( RAM: %6iMB | DISK: %4iGB )",
82
- machine_type_id(machine_type),
83
- machine_type.vcpus,
84
- machine_type.name,
85
- machine_type.ram,
86
- machine_type.disk
79
+ sprintf("%-30s %-35s [ VCPUS: %-5s ] ( RAM: %6sMB | DISK: %4sGB )",
80
+ purple(machine_type_id(machine_type)),
81
+ yellow(machine_type.name),
82
+ blue(machine_type.vcpus.to_s),
83
+ blue(machine_type.ram.to_s),
84
+ blue(machine_type.disk.to_s)
87
85
  )
88
86
  end
89
87
 
90
88
  #---
91
89
 
92
90
  def render_image(image)
93
- sprintf("[ %40s ][ %10s ] %s", image_id(image), image.state, image.name)
91
+ sprintf("%-47s [ %-10s ] %s", purple(image_id(image)), blue(image.state), yellow(image.name))
94
92
  end
95
93
 
96
94
  #---
@@ -1,7 +1,7 @@
1
1
 
2
2
  module CORL
3
3
  module Node
4
- class Vagrant < CORL.plugin_class(:CORL, :node)
4
+ class Vagrant < Nucleon.plugin_class(:CORL, :node)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Node plugin interface
@@ -1,7 +1,7 @@
1
1
 
2
2
  module CORL
3
3
  module Provisioner
4
- class Puppetnode < CORL.plugin_class(:CORL, :provisioner)
4
+ class Puppetnode < Nucleon.plugin_class(:CORL, :provisioner)
5
5
 
6
6
  @@puppet_lock = Mutex.new
7
7