class Hyrb::Tasks::Provision::Rackspace
Public Instance Methods
run(env)
click to toggle source
# 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