mccloud 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (225) hide show
  1. data/.gitignore +13 -8
  2. data/.rvmrc +2 -0
  3. data/Gemfile +10 -1
  4. data/Guardfile +10 -0
  5. data/README.md +453 -89
  6. data/Rakefile +29 -2
  7. data/bin/mccloud +17 -116
  8. data/bin/mccloud_old +159 -0
  9. data/doc/old-README.md +81 -0
  10. data/lib/mccloud/cli.rb +55 -0
  11. data/lib/mccloud/command/balance.rb +21 -0
  12. data/lib/mccloud/command/base.rb +106 -0
  13. data/lib/mccloud/command/bootstrap.rb +12 -24
  14. data/lib/mccloud/command/define.rb +18 -0
  15. data/lib/mccloud/command/destroy.rb +12 -13
  16. data/lib/mccloud/command/forward.rb +29 -0
  17. data/lib/mccloud/command/group_base.rb +107 -0
  18. data/lib/mccloud/command/halt.rb +11 -13
  19. data/lib/mccloud/command/helpers.rb +13 -0
  20. data/lib/mccloud/command/image.rb +37 -0
  21. data/lib/mccloud/command/init.rb +8 -504
  22. data/lib/mccloud/command/init_vagrant.rb +14 -0
  23. data/lib/mccloud/command/ip.rb +32 -0
  24. data/lib/mccloud/command/ips.rb +22 -0
  25. data/lib/mccloud/command/keypair.rb +27 -0
  26. data/lib/mccloud/command/keystore.rb +29 -0
  27. data/lib/mccloud/command/lb.rb +38 -0
  28. data/lib/mccloud/command/named_base.rb +14 -0
  29. data/lib/mccloud/command/package.rb +17 -0
  30. data/lib/mccloud/command/provider.rb +30 -0
  31. data/lib/mccloud/command/provision.rb +10 -24
  32. data/lib/mccloud/command/reload.rb +12 -6
  33. data/lib/mccloud/command/sorry.rb +20 -0
  34. data/lib/mccloud/command/ssh.rb +11 -45
  35. data/lib/mccloud/command/status.rb +14 -35
  36. data/lib/mccloud/command/template.rb +16 -0
  37. data/lib/mccloud/command/undefine.rb +23 -0
  38. data/lib/mccloud/command/up.rb +8 -62
  39. data/lib/mccloud/command/version.rb +14 -0
  40. data/lib/mccloud/command/vm.rb +27 -0
  41. data/lib/mccloud/command.rb +36 -0
  42. data/lib/mccloud/config/collection.rb +107 -0
  43. data/lib/mccloud/config/component.rb +20 -0
  44. data/lib/mccloud/config/definition.rb +35 -0
  45. data/lib/mccloud/config/keypair.rb +36 -0
  46. data/lib/mccloud/config/mccloud.rb +39 -0
  47. data/lib/mccloud/config/provider.rb +55 -0
  48. data/lib/mccloud/config/template.rb +35 -0
  49. data/lib/mccloud/config.rb +128 -41
  50. data/lib/mccloud/definition.rb +104 -0
  51. data/lib/mccloud/definitions.rb +91 -0
  52. data/lib/mccloud/environment.rb +222 -0
  53. data/lib/mccloud/error.rb +20 -0
  54. data/lib/mccloud/generator.rb +49 -0
  55. data/lib/mccloud/keypair.rb +48 -0
  56. data/lib/mccloud/mccloudfile.rb +78 -0
  57. data/lib/mccloud/provider/aws/image.rb +107 -0
  58. data/lib/mccloud/provider/aws/ip/associate.rb +33 -0
  59. data/lib/mccloud/provider/aws/ip.rb +31 -0
  60. data/lib/mccloud/provider/aws/keystore.rb +21 -0
  61. data/lib/mccloud/provider/aws/lb/associate.rb +53 -0
  62. data/lib/mccloud/provider/aws/lb/sorry.rb +14 -0
  63. data/lib/mccloud/provider/aws/lb.rb +37 -0
  64. data/lib/mccloud/provider/aws/provider/image_destroy.rb +27 -0
  65. data/lib/mccloud/provider/aws/provider/image_list.rb +19 -0
  66. data/lib/mccloud/provider/aws/provider/ip_list.rb +17 -0
  67. data/lib/mccloud/provider/aws/provider/keystore_list.rb +22 -0
  68. data/lib/mccloud/provider/aws/provider/keystore_sync.rb +62 -0
  69. data/lib/mccloud/provider/aws/provider/lb_list.rb +21 -0
  70. data/lib/mccloud/provider/aws/provider/old_deregister.rb +39 -0
  71. data/lib/mccloud/provider/aws/provider/old_flavors.rb +18 -0
  72. data/lib/mccloud/provider/aws/provider/old_ips.rb +42 -0
  73. data/lib/mccloud/provider/aws/provider/old_loadbalance.rb +46 -0
  74. data/lib/mccloud/provider/aws/provider/old_package.rb +75 -0
  75. data/lib/mccloud/provider/aws/provider/old_sorry.rb +51 -0
  76. data/lib/mccloud/provider/aws/provider/old_status.rb +119 -0
  77. data/lib/mccloud/provider/aws/provider/old_validate.rb +51 -0
  78. data/lib/mccloud/provider/aws/provider/status.rb +58 -0
  79. data/lib/mccloud/provider/aws/provider.rb +219 -0
  80. data/lib/mccloud/provider/aws/stack/old_destroy.rb +43 -0
  81. data/lib/mccloud/provider/aws/stack/old_up.rb +59 -0
  82. data/lib/mccloud/provider/aws/stack/old_vm.rb +98 -0
  83. data/lib/mccloud/provider/aws/stack.rb +243 -0
  84. data/lib/mccloud/provider/aws/vm/bootstrap.rb +13 -0
  85. data/lib/mccloud/provider/aws/vm/destroy.rb +21 -0
  86. data/lib/mccloud/provider/aws/vm/forward.rb +17 -0
  87. data/lib/mccloud/provider/aws/vm/halt.rb +24 -0
  88. data/lib/mccloud/provider/aws/vm/package.rb +63 -0
  89. data/lib/mccloud/provider/aws/vm/provision.rb +25 -0
  90. data/lib/mccloud/provider/aws/vm/reload.rb +13 -0
  91. data/lib/mccloud/provider/aws/vm/resume.rb +0 -0
  92. data/lib/mccloud/provider/aws/vm/rsync.rb +11 -0
  93. data/lib/mccloud/provider/aws/vm/scp.rb +21 -0
  94. data/lib/mccloud/provider/aws/vm/ssh.rb +11 -0
  95. data/lib/mccloud/provider/aws/vm/suspend.rb +0 -0
  96. data/lib/mccloud/provider/aws/vm/up.rb +133 -0
  97. data/lib/mccloud/provider/aws/vm.rb +123 -0
  98. data/lib/mccloud/{type → provider/core}/forwarding.rb +6 -3
  99. data/lib/mccloud/provider/core/ip.rb +24 -0
  100. data/lib/mccloud/provider/core/keystore.rb +23 -0
  101. data/lib/mccloud/provider/core/lb.rb +23 -0
  102. data/lib/mccloud/provider/core/provider.rb +99 -0
  103. data/lib/mccloud/provider/core/vm/old_halt.rb +19 -0
  104. data/lib/mccloud/{generators.rb → provider/core/vm/old_init.rb} +0 -0
  105. data/lib/mccloud/provider/core/vm/old_multi.rb +60 -0
  106. data/lib/mccloud/provider/core/vm/old_reload.rb +11 -0
  107. data/lib/mccloud/{command/server.rb → provider/core/vm/old_server.rb} +2 -2
  108. data/lib/mccloud/provider/core/vm/old_ssh_command.rb +21 -0
  109. data/lib/mccloud/{command/suspend.rb → provider/core/vm/old_suspend.rb} +2 -2
  110. data/lib/mccloud/provider/core/vm/old_wizard.rb +511 -0
  111. data/lib/mccloud/provider/core/vm/rsync.rb +67 -0
  112. data/lib/mccloud/provider/core/vm/ssh.rb +137 -0
  113. data/lib/mccloud/provider/core/vm/ssh_bootstrap.rb +62 -0
  114. data/lib/mccloud/provider/core/vm/ssh_forward.rb +47 -0
  115. data/lib/mccloud/provider/core/vm.rb +121 -0
  116. data/lib/mccloud/provider/fog/fogconfig.rb +44 -0
  117. data/lib/mccloud/provider/fog/provider.rb +46 -0
  118. data/lib/mccloud/provider/host/provider/status.rb +12 -0
  119. data/lib/mccloud/provider/host/provider.rb +85 -0
  120. data/lib/mccloud/provider/host/vm/bootstrap.rb +11 -0
  121. data/lib/mccloud/provider/host/vm/forward.rb +12 -0
  122. data/lib/mccloud/provider/host/vm/provision.rb +19 -0
  123. data/lib/mccloud/provider/host/vm/scp.rb +35 -0
  124. data/lib/mccloud/provider/host/vm/ssh.rb +11 -0
  125. data/lib/mccloud/provider/host/vm.rb +28 -0
  126. data/lib/mccloud/provider/libvirt/provider/status.rb +43 -0
  127. data/lib/mccloud/provider/libvirt/provider.rb +96 -0
  128. data/lib/mccloud/provider/libvirt/vm/bootstrap.rb +17 -0
  129. data/lib/mccloud/provider/libvirt/vm/destroy.rb +33 -0
  130. data/lib/mccloud/provider/libvirt/vm/forward.rb +12 -0
  131. data/lib/mccloud/provider/libvirt/vm/halt.rb +20 -0
  132. data/lib/mccloud/provider/libvirt/vm/provision.rb +25 -0
  133. data/lib/mccloud/provider/libvirt/vm/reload.rb +13 -0
  134. data/lib/mccloud/provider/libvirt/vm/rsync.rb +11 -0
  135. data/lib/mccloud/provider/libvirt/vm/scp.rb +15 -0
  136. data/lib/mccloud/provider/libvirt/vm/ssh.rb +11 -0
  137. data/lib/mccloud/provider/libvirt/vm/up.rb +65 -0
  138. data/lib/mccloud/provider/libvirt/vm.rb +67 -0
  139. data/lib/mccloud/provider/script/provider/status.rb +12 -0
  140. data/lib/mccloud/provider/script/provider.rb +125 -0
  141. data/lib/mccloud/provider/script/vm.rb +13 -0
  142. data/lib/mccloud/provider/vagrant/provider/status.rb +14 -0
  143. data/lib/mccloud/provider/vagrant/provider.rb +135 -0
  144. data/lib/mccloud/provider/vagrant/vm/destroy.rb +11 -0
  145. data/lib/mccloud/provider/vagrant/vm/forward.rb +12 -0
  146. data/lib/mccloud/provider/vagrant/vm/halt.rb +11 -0
  147. data/lib/mccloud/provider/vagrant/vm/provision.rb +11 -0
  148. data/lib/mccloud/provider/vagrant/vm/reload.rb +11 -0
  149. data/lib/mccloud/provider/vagrant/vm/resume.rb +11 -0
  150. data/lib/mccloud/provider/vagrant/vm/ssh.rb +11 -0
  151. data/lib/mccloud/provider/vagrant/vm/suspend.rb +11 -0
  152. data/lib/mccloud/provider/vagrant/vm/up.rb +11 -0
  153. data/lib/mccloud/provider/vagrant/vm.rb +46 -0
  154. data/lib/mccloud/provider/vmfusion/provider/status.rb +24 -0
  155. data/lib/mccloud/provider/vmfusion/provider.rb +98 -0
  156. data/lib/mccloud/provider/vmfusion/vm/forward.rb +12 -0
  157. data/lib/mccloud/provider/vmfusion/vm/halt.rb +11 -0
  158. data/lib/mccloud/provider/vmfusion/vm/resume.rb +11 -0
  159. data/lib/mccloud/provider/vmfusion/vm/suspend.rb +11 -0
  160. data/lib/mccloud/provider/vmfusion/vm/up.rb +11 -0
  161. data/lib/mccloud/provider/vmfusion/vm.rb +47 -0
  162. data/lib/mccloud/provisioner/chef_solo.rb +193 -79
  163. data/lib/mccloud/provisioner/puppet.rb +205 -32
  164. data/lib/mccloud/provisioner/shell.rb +48 -0
  165. data/lib/mccloud/template.rb +74 -0
  166. data/lib/mccloud/templates/Mccloudfile.erb +212 -39
  167. data/lib/mccloud/templates/{bootstrap-centos-rubysource-1.8.7.sh → bootstrap/bootstrap-centos-rubysource-1.8.7.sh} +0 -0
  168. data/lib/mccloud/templates/{bootstrap-centos-rvm-1.8.7.sh → bootstrap/bootstrap-centos-rvm-1.8.7.sh} +0 -0
  169. data/lib/mccloud/templates/{bootstrap-centos-rvm-1.9.2.sh → bootstrap/bootstrap-centos-rvm-1.9.2.sh} +0 -0
  170. data/lib/mccloud/templates/{bootstrap-centos-rvm-ree-1.8.7.sh → bootstrap/bootstrap-centos-rvm-ree-1.8.7.sh} +0 -0
  171. data/lib/mccloud/templates/bootstrap/bootstrap-chef-omnibus.sh +8 -0
  172. data/lib/mccloud/templates/{bootstrap-custom.sh → bootstrap/bootstrap-custom.sh} +0 -0
  173. data/lib/mccloud/templates/{bootstrap-ubuntu-rvm-1.8.7.sh → bootstrap/bootstrap-ubuntu-rvm-1.8.7.sh} +0 -0
  174. data/lib/mccloud/templates/{bootstrap-ubuntu-system.sh → bootstrap/bootstrap-ubuntu-system.sh} +0 -0
  175. data/lib/mccloud/templates/locales/en.yml +30 -0
  176. data/lib/mccloud/templates/vm.erb +9 -0
  177. data/lib/mccloud/templates.rb +35 -0
  178. data/lib/mccloud/ui.rb +82 -0
  179. data/lib/mccloud/util/rostruct.rb +24 -0
  180. data/lib/mccloud/util/rsync.rb +12 -8
  181. data/lib/mccloud/util/ssh.rb +18 -12
  182. data/lib/mccloud/util/sshkey.rb +3 -2
  183. data/lib/mccloud/version.rb +4 -1
  184. data/lib/mccloud/vm.rb +62 -0
  185. data/lib/mccloud/vms.rb +60 -0
  186. data/lib/mccloud.rb +24 -1
  187. data/mccloud.gemspec +12 -3
  188. data/samples/Mccloudfile +117 -0
  189. data/samples/bitnami_drupal_cloud.json +102 -0
  190. data/samples/bootstrap-ubuntu-system.sh +16 -0
  191. data/samples/mcollective_cloud.json +198 -0
  192. data/samples/stack_cloud.json +93 -0
  193. data/samples/stacks.txt +5 -0
  194. data/spec/commands/define_spec.rb +96 -0
  195. data/spec/commands/init_spec.rb +30 -0
  196. data/spec/environment/environment_spec.rb +26 -0
  197. data/spec/generator_spec.rb +30 -0
  198. data/spec/keypair_spec.rb +38 -0
  199. data/spec/provider/aws/credentials_spec.rb +37 -0
  200. data/spec/provisioner/puppet/Mccloud-puppet-test +32 -0
  201. data/spec/provisioner/puppet/puppet_spec.rb +110 -0
  202. data/spec/spec_helper.rb +0 -0
  203. data/templates/ubuntu-10.10-server-amd64/aws.json +3 -0
  204. data/templates/ubuntu-10.10-server-amd64/bootstrap.sh +16 -0
  205. data/templates/ubuntu-10.10-server-amd64/definition.old +51 -0
  206. data/templates/ubuntu-10.10-server-amd64/mccloud.erb +6 -0
  207. metadata +293 -67
  208. data/Gemfile.lock +0 -53
  209. data/lib/mccloud/command/boot.rb +0 -12
  210. data/lib/mccloud/command/command.rb +0 -21
  211. data/lib/mccloud/command/multi.rb +0 -60
  212. data/lib/mccloud/configurator/lb.rb +0 -26
  213. data/lib/mccloud/configurator/mccloud.rb +0 -33
  214. data/lib/mccloud/configurator/vm.rb +0 -37
  215. data/lib/mccloud/provisioner/vagrant/base.rb +0 -63
  216. data/lib/mccloud/provisioner/vagrant/chef.rb +0 -130
  217. data/lib/mccloud/provisioner/vagrant/chef_server.rb +0 -103
  218. data/lib/mccloud/provisioner/vagrant/chef_solo.rb +0 -142
  219. data/lib/mccloud/provisioner/vagrant/puppet.rb +0 -137
  220. data/lib/mccloud/provisioner/vagrant/puppet_server.rb +0 -55
  221. data/lib/mccloud/provisioner/vagrant/shell.rb +0 -52
  222. data/lib/mccloud/session.rb +0 -206
  223. data/lib/mccloud/type/lb.rb +0 -34
  224. data/lib/mccloud/type/vm.rb +0 -47
  225. data/lib/mccloud/util/iterator.rb +0 -20
@@ -1,52 +0,0 @@
1
- module Vagrant
2
- module Provisioners
3
- class Shell < Base
4
- register :shell
5
-
6
- class Config < Vagrant::Config::Base
7
- attr_accessor :path
8
- attr_accessor :upload_path
9
-
10
- def initialize
11
- @upload_path = "/tmp/vagrant-shell"
12
- end
13
-
14
- def expanded_path
15
- Pathname.new(path).expand_path(env.root_path) if path
16
- end
17
-
18
- def validate(errors)
19
- super
20
-
21
- if !path
22
- errors.add(I18n.t("vagrant.provisioners.shell.path_not_set"))
23
- elsif !expanded_path.file?
24
- errors.add(I18n.t("vagrant.provisioners.shell.path_invalid", :path => expanded_path))
25
- end
26
-
27
- if !upload_path
28
- errors.add(I18n.t("vagrant.provisioners.shell.upload_path_not_set"))
29
- end
30
- end
31
- end
32
-
33
- def provision!
34
- commands = ["chmod +x #{config.upload_path}", config.upload_path]
35
-
36
- # Upload the script to the VM
37
- vm.ssh.upload!(config.expanded_path.to_s, config.upload_path)
38
-
39
- # Execute it with sudo
40
- vm.ssh.execute do |ssh|
41
- ssh.sudo!(commands) do |ch, type, data|
42
- if type == :exit_status
43
- ssh.check_exit_status(data, commands)
44
- else
45
- env.ui.info(data)
46
- end
47
- end
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,206 +0,0 @@
1
- require 'json'
2
- require 'logger'
3
-
4
-
5
- require 'fog'
6
- require 'highline'
7
- require 'highline/import'
8
-
9
- require 'mccloud/config'
10
-
11
- require 'mccloud/command/status'
12
- require 'mccloud/command/up'
13
- require 'mccloud/command/halt'
14
- require 'mccloud/command/ssh'
15
- require 'mccloud/command/boot'
16
- require 'mccloud/command/bootstrap'
17
- require 'mccloud/command/reload'
18
- require 'mccloud/command/multi'
19
- require 'mccloud/command/init'
20
- require 'mccloud/command/suspend'
21
- require 'mccloud/command/destroy'
22
- require 'mccloud/command/provision'
23
- require 'mccloud/command/server'
24
-
25
- module Mccloud
26
-
27
- # We need some global thing for the config file to find our session
28
- def self.session=(value)
29
- @session=value
30
- end
31
- def self.session
32
- return @session
33
- end
34
-
35
- class Session
36
- attr_accessor :config
37
- attr_accessor :logger
38
- attr_accessor :all_servers
39
-
40
- include Mccloud::Command
41
-
42
- def initialize(options=nil)
43
- @logger = Logger.new(STDOUT)
44
- @logger.level = Logger::INFO
45
-
46
- #http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc/classes/Logger.html
47
- @logger.datetime_format = "%Y-%m-%d %H:%M:%S"
48
-
49
- #logger.formatter = proc { |severity, datetime, progname, msg|
50
- # "#{datetime} - #{severity}: #{msg}\n"
51
- # }
52
- @session=self
53
- Mccloud.session=self
54
- end
55
-
56
- def load_config(options=nil)
57
- @logger.debug "Loading mccloud config"
58
- #if File.exist?(path)
59
- begin
60
- Kernel.load File.join(Dir.pwd,"Mccloudfile")
61
- rescue LoadError => e
62
- @logger.error "Error loading configfile - Sorry"
63
- @logger.error e.message
64
- @logger.error e.backtrace.inspect
65
- exit -1
66
- end
67
-
68
- @all_servers=Hash.new
69
- if File.exists?(".mccloud")
70
-
71
- @logger.debug ".mccloud exists"
72
- dotmccloud=File.new(".mccloud")
73
-
74
- @logger.debug "reading .mccloud json file"
75
- json=dotmccloud.readlines.to_s
76
-
77
- begin
78
- @logger.debug "parsing .mccloud json file"
79
- @all_servers=JSON.parse(json)
80
- rescue Error => e
81
- @logger.error "Error parsing json file - Sorry"
82
- @logger.error e.message
83
- @logger.error e.backtrace.inspect
84
- exit -1
85
- end
86
-
87
- end
88
-
89
- #Loading providers
90
- Mccloud.session.config.vms.each do |name,vm|
91
- if @session.config.providers[vm.provider].nil?
92
-
93
- @logger.debug "adding provider #{vm.provider}"
94
- begin
95
- @session.config.providers[vm.provider]=Fog::Compute.new(:provider => vm.provider)
96
- rescue ArgumentError => e
97
- # Missing required arguments:
98
- required_string=e.message
99
- required_string["Missing required arguments: "]=""
100
- required_options=required_string.split(", ")
101
- puts "Please provide credentials for provider [#{vm.provider}]:"
102
- answer=Hash.new
103
- for fog_option in required_options do
104
- answer["#{fog_option}".to_sym]=ask("- #{fog_option}: ")
105
- #{ |q| q.validate = /\A\d{5}(?:-?\d{4})?\Z/ }
106
- end
107
- puts "\nThe following snippet will be written to #{File.join(ENV['HOME'],".fog")}"
108
-
109
- snippet=":default:\n"
110
- for fog_option in required_options do
111
- snippet=snippet+" :#{fog_option}: #{answer[fog_option.to_sym]}\n"
112
- end
113
-
114
- puts "======== snippit start ====="
115
- puts "#{snippet}"
116
- puts "======== snippit end ======="
117
- confirmed=agree("Do you wan to save this?: ")
118
-
119
- if (confirmed)
120
- fogfilename="#{File.join(ENV['HOME'],".fog")}"
121
- fogfile=File.new(fogfilename,"w")
122
- fogfile.puts "#{snippet}"
123
- fogfile.close
124
- FileUtils.chmod(0600,fogfilename)
125
- else
126
- puts "Ok, we won't write it, but we continue with your credentials in memory"
127
- exit -1
128
- end
129
- begin
130
- answer[:provider]= vm.provider
131
- @session.config.providers[vm.provider]=Fog::Compute.new(answer)
132
- rescue
133
- puts "We tried to create the provider but failed again, sorry we give up"
134
- exit -1
135
- end
136
- end
137
-
138
-
139
-
140
-
141
-
142
- end
143
- end
144
-
145
- invalid_cache=false
146
- @session.config.vms.each do |name,vm|
147
- filter=@session.config.mccloud.filter
148
- id=@all_servers["#{name.to_s}"]
149
-
150
- #Check if not destroyed or something else
151
- instance=vm.instance
152
- if instance.nil?
153
- @logger.debug "Cache is invalid"
154
- invalid_cache=true
155
- else
156
- if instance.state == "shutting-down" || instance.state == "terminated"
157
- @logger.debug "parsing .mccloud json"
158
- @logger.debug "rebuilding cache"
159
- invalid_cache=true
160
- end
161
- end
162
- end
163
-
164
- #
165
- if (invalid_cache)
166
- #Resetting the list
167
- @all_servers=Hash.new
168
-
169
- servers_by_provider=Hash.new
170
-
171
- # Find all providers
172
- @session.config.providers.each do |name,provider|
173
- server_list=Hash.new
174
- provider.servers.each do |server|
175
-
176
- if !(server.state == "terminated")
177
- server_list[server.tags["Name"]]=server.id
178
- end
179
- end
180
- servers_by_provider[name]=server_list
181
- end
182
- filter=@session.config.mccloud.filter
183
-
184
- @session.config.vms.each do |name,vm|
185
- id=servers_by_provider[vm.provider]["#{filter} - #{name.to_s}"]
186
-
187
-
188
- if !id.nil?
189
- @all_servers[name]=id
190
- #@session.config.vms[name].instance=@session.config.providers[vm.provider].servers.get(id)
191
- end
192
- end
193
-
194
- #dotmccloud=File.new(".mccloud","w")
195
- #dotmccloud.puts(@all_servers.to_json)
196
- #dotmccloud.close
197
-
198
-
199
- end
200
- end
201
-
202
-
203
-
204
-
205
- end
206
- end
@@ -1,34 +0,0 @@
1
- require 'mccloud/type/forwarding'
2
- module Mccloud
3
- module Type
4
-
5
- class Lb
6
- attr_accessor :provider
7
- attr_accessor :provider_options
8
- attr_accessor :name
9
-
10
- attr_accessor :members
11
-
12
- attr_accessor :instance
13
-
14
- def initialize
15
- end
16
-
17
- def instance
18
- if @this_instance.nil?
19
- begin
20
- @this_instance=Mccloud.session.config.providers[provider].servers.get(Mccloud.session.all_servers[name.to_s])
21
- rescue Fog::Service::Error => e
22
- puts "Error: #{e.message}"
23
- puts "We could not request the information from your provider #{provider}. We suggest you check your credentials."
24
- puts "Check configuration file: #{File.join(ENV['HOME'],".fog")}"
25
- exit -1
26
- end
27
- end
28
- return @this_instance
29
- end
30
-
31
- end
32
-
33
- end
34
- end #Module Mccloud
@@ -1,47 +0,0 @@
1
- require 'mccloud/type/forwarding'
2
- module Mccloud
3
- module Type
4
-
5
- class Vm
6
- attr_accessor :ami
7
- attr_accessor :provider
8
- attr_accessor :provider_options
9
- attr_accessor :name
10
- attr_accessor :user
11
- attr_accessor :private_key
12
- attr_accessor :public_key
13
- attr_accessor :bootstrap
14
- attr_accessor :provisioner
15
- attr_accessor :forwardings
16
-
17
- attr_accessor :instance
18
-
19
- def initialize
20
- @forwardings=Array.new
21
- end
22
-
23
- def instance
24
- if @this_instance.nil?
25
- begin
26
- @this_instance=Mccloud.session.config.providers[provider].servers.get(Mccloud.session.all_servers[name.to_s])
27
- rescue Fog::Service::Error => e
28
- puts "Error: #{e.message}"
29
- puts "We could not request the information from your provider #{provider}. We suggest you check your credentials."
30
- puts "Check configuration file: #{File.join(ENV['HOME'],".fog")}"
31
- exit -1
32
- end
33
- end
34
- return @this_instance
35
- end
36
-
37
- def reload
38
- @this_instance=nil
39
- end
40
- def forward_port(name,local,remote)
41
- forwarding=Forwarding.new(name,local,remote)
42
- forwardings << forwarding
43
- end
44
- end
45
-
46
- end
47
- end #Module Mccloud
@@ -1,20 +0,0 @@
1
- require 'pp'
2
- module Mccloud
3
- module Util
4
- def on_selected_machines(selection=nil)
5
- if selection.nil? || selection == "all"
6
- #puts "no selection - all machines"
7
- @session.config.vms.each do |name,vm|
8
- id=@all_servers["#{name}"]
9
- vm=@session.config.vms[name]
10
- yield id,vm
11
- end
12
- else
13
- name=selection
14
- id=@all_servers["#{name}"]
15
- vm=@session.config.vms[name]
16
- yield id,vm
17
- end
18
- end
19
- end
20
- end