Sha256: f8f11ad1046b07ae52d76c05b81975e83eb57537ff98bd7e2782d1f5edb91807

Contents?: true

Size: 1.07 KB

Versions: 8

Compression:

Stored size: 1.07 KB

Contents

def test
  connection = Fog::Compute.new({ :provider => "Google" })

  server = connection.servers.create(defaults = {
    :name => "fog-smoke-test-#{Time.now.to_i}",
    :image_name => "debian-7-wheezy-v20130522",
    :machine_type => "n1-standard-1",
    :zone_name => "us-central1-a",
    :private_key_path => File.expand_path("~/.ssh/id_rsa"),
    :public_key_path => File.expand_path("~/.ssh/id_rsa.pub"),
    :user => ENV['USER'],
  })

  # My own wait_for because it hides errors
  duration = 0
  interval = 5
  timeout = 600
  start = Time.now
  until server.sshable? || duration > timeout
    # puts duration
    # puts " ----- "

    server.reload

    # p "ready?: #{server.ready?}"
    # p "public_ip_address: #{server.public_ip_address.inspect}"
    # p "public_key: #{server.public_key.inspect}"
    # p "metadata: #{server.metadata.inspect}"
    # p "sshable?: #{server.sshable?}"

    sleep(interval.to_f)
    duration = Time.now - start
  end

  raise "Could not bootstrap sshable server." unless server.ssh("whoami")
  raise "Cloud note delete server." unless server.destroy
end

Version data entries

8 entries across 8 versions & 3 rubygems

Version Path
fog-1.18.0 lib/fog/google/examples/create.rb
fog-1.17.0 lib/fog/google/examples/create.rb
fog-1.16.0 lib/fog/google/examples/create.rb
fog-maestrodev-1.15.0.20130927082724 lib/fog/google/examples/create.rb
fog-maestrodev-1.15.0.20130829165835 lib/fog/google/examples/create.rb
fog-1.15.0 lib/fog/google/examples/create.rb
gapinc-fog-1.14.0 lib/fog/google/examples/create.rb
fog-maestrodev-1.14.0.20130806165225 lib/fog/google/examples/create.rb