2013-07-24 18:46:20 -07:00
|
|
|
def test
|
|
|
|
connection = Fog::Compute.new({ :provider => "Google" })
|
|
|
|
|
2013-12-18 13:11:25 +01:00
|
|
|
name = "fog-smoke-test-#{Time.now.to_i}"
|
2014-04-01 16:23:05 +00:00
|
|
|
zone = "us-central1-a"
|
2013-12-18 13:11:25 +01:00
|
|
|
|
|
|
|
disk = connection.disks.create({
|
|
|
|
:name => name,
|
|
|
|
:size_gb => 10,
|
2014-04-01 16:23:05 +00:00
|
|
|
:zone_name => zone,
|
|
|
|
:source_image => 'debian-7-wheezy-v20140318',
|
2013-12-18 13:11:25 +01:00
|
|
|
})
|
|
|
|
|
|
|
|
disk.wait_for { disk.ready? }
|
|
|
|
|
2014-04-01 16:23:05 +00:00
|
|
|
scopes = [
|
|
|
|
"https://www.googleapis.com/auth/compute",
|
|
|
|
"devstorage.full_control",
|
|
|
|
"userinfo.email"
|
|
|
|
]
|
|
|
|
|
2014-03-14 17:00:31 -07:00
|
|
|
server = connection.servers.create({
|
2013-12-18 13:11:25 +01:00
|
|
|
:name => name,
|
|
|
|
:disks => [disk],
|
2013-07-24 18:46:20 -07:00
|
|
|
:machine_type => "n1-standard-1",
|
2014-04-01 16:23:05 +00:00
|
|
|
:zone_name => zone,
|
|
|
|
:metadata => {'foo' => 'bar'},
|
|
|
|
:tags => ["t1", "t2", "t3"],
|
|
|
|
:servce_accounts => scopes
|
2013-07-24 18:46:20 -07:00
|
|
|
})
|
2014-03-14 17:36:17 -07:00
|
|
|
sleep(90)
|
2013-07-24 18:46:20 -07:00
|
|
|
|
|
|
|
raise "Could not reload created server." unless server.reload
|
|
|
|
raise "Could not create sshable server." unless server.ssh("whoami")
|
2014-03-14 17:00:31 -07:00
|
|
|
raise "Could not delete server." unless server.destroy
|
2013-07-24 18:46:20 -07:00
|
|
|
end
|