corl 0.5.1 → 0.5.2

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.
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