Class: Hyrb::Tasks::Provision::Rackspace
- Inherits:
-
Hyrb::Task
- Object
- Hyrb::Task
- Hyrb::Tasks::Provision::Rackspace
- Defined in:
- lib/hyrb/tasks/provision.rb
Instance Attribute Summary
Attributes inherited from Hyrb::Task
Instance Method Summary collapse
Methods inherited from Hyrb::Task
depends, #initialize, prompt, prompts, #run_before
Constructor Details
This class inherits a constructor from Hyrb::Task
Instance Method Details
#run(env) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/hyrb/tasks/provision.rb', line 59 def run(env) flavor_id = option_list(env.rackspace_cache, :flavors, 2) do |f, i| "#{i+1}: #{f.name} / id: #{f.id}" end.id image_id = option_list(env.rackspace_cache, :images, 1) do |f, i| "#{i+1}: #{f.name} / id: #{f.id}" end.id say "Creating Rackspace Server" server = env.rackspace_client.servers.create({ name: env.environment.server_name, flavor_id: flavor_id, image_id: image_id, }) env.environment.provider = 'rackspace' env.environment.server_id = server.id sleep(6) until server.reload.ready? env.environment.host = server.public_ip_address env.environment.save! say "Created Rackspace Server!", :green say "IP Address: #{server.public_ip_address} / ID: #{server.id}", :green say "\n\tssh root@#{server.public_ip_address}\n" beep end |