Skip to content

Instantly share code, notes, and snippets.

@dyoder
Created October 16, 2012 03:14
Show Gist options
  • Save dyoder/3897071 to your computer and use it in GitHub Desktop.
Save dyoder/3897071 to your computer and use it in GitHub Desktop.
Getting spot instances with fog ...
def provision_server
if options[:spot]
request = compute.spot_requests.create(
:price => price, :instance_count => 1,
:tags => {"Name" => generate_server_name},
:region => region, :flavor_id => flavor, :image_id => image,
:security_group_ids => security_group, :key_name => keypair)
server = nil
Fog.wait_for { server = compute.servers.get(request.reload.instance_id) }
server
else
compute.servers.create(
:tags => {"Name" => generate_server_name},
:region => region, :flavor_id => flavor, :image_id => image,
:security_group_ids => security_group, :key_name => keypair)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment