Skip to content

Instantly share code, notes, and snippets.

@robmiller
Last active May 10, 2016 05:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robmiller/c631baaea505f1a4872c211f8b863505 to your computer and use it in GitHub Desktop.
Save robmiller/c631baaea505f1a4872c211f8b863505 to your computer and use it in GitHub Desktop.
Wait for a Rackspace cloud server to build
#!/usr/bin/env ruby
require "fog"
hostname = ARGV.fetch(0)
compute = Fog::Compute.new(
provider: "Rackspace",
rackspace_api_key: ENV.fetch("RACKSPACE_API_KEY"),
rackspace_username: ENV.fetch("RACKSPACE_USERNAME"),
rackspace_region: :lon
)
server = compute.servers.find { |s| s.name == hostname }
loop do
server.reload
if server.ready?
puts "Server seems to be ready."
5.times do
print 7.chr
sleep 0.5
end
exit 0
else
$stderr.puts "Server doesn't seem to be ready yet."
sleep 10
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment