2013-01-18 10:34:08 -05:00
|
|
|
Shindo.tests('Fog::Compute[:cloudsigma] | server model', ['cloudsigma']) do
|
|
|
|
service = Fog::Compute[:cloudsigma]
|
|
|
|
servers = Fog::Compute[:cloudsigma].servers
|
|
|
|
server_create_args = {:name => 'fogtest', :cpu => 2000, :mem => 512*1024**2, :vnc_password => 'myrandompass'}
|
|
|
|
|
|
|
|
model_tests(servers, server_create_args, true) do
|
|
|
|
tests('start_stop').succeeds do
|
|
|
|
@instance.start
|
|
|
|
|
|
|
|
@instance.wait_for(timeout=60) { status == 'running' }
|
|
|
|
|
|
|
|
@instance.stop
|
|
|
|
|
|
|
|
@instance.wait_for(timeout=60) { status == 'stopped' }
|
|
|
|
end
|
|
|
|
|
|
|
|
tests('attach_dhcp_nic').succeeds do
|
|
|
|
@instance.add_public_nic()
|
|
|
|
@instance.save
|
|
|
|
|
|
|
|
@instance.reload
|
|
|
|
|
|
|
|
returns('dhcp') { @instance.nics.first.ip_v4_conf.conf }
|
|
|
|
succeeds {/^([0-9a-f]{2}[:]){5}([0-9a-f]{2})$/ === @instance.nics.first.mac}
|
|
|
|
end
|
|
|
|
|
|
|
|
tests('attach_vlan') do
|
|
|
|
if Fog.mocking?
|
|
|
|
# Do not buy subscription with real account
|
|
|
|
service.subscriptions.create({:period=>"1 month", :amount=>1, :resource=>"vlan"})
|
|
|
|
vlan = service.vlans.first
|
|
|
|
vlan.meta['name'] = 'fog-test'
|
|
|
|
vlan.save
|
|
|
|
end
|
|
|
|
|
|
|
|
vlan = service.vlans.find {|vlan| vlan.meta['name'] == 'fog-test'}
|
|
|
|
|
|
|
|
# Skip if there is no vlan marked for fog tests
|
|
|
|
pending unless vlan
|
|
|
|
|
|
|
|
@instance.add_private_nic(vlan)
|
|
|
|
@instance.save
|
|
|
|
|
|
|
|
@instance.reload
|
|
|
|
|
|
|
|
returns(vlan.uuid) { @instance.nics.last.vlan['uuid'] || @instance.nics.last.vlan}
|
|
|
|
succeeds {/^([0-9a-f]{2}[:]){5}([0-9a-f]{2})$/ === @instance.nics.last.mac}
|
|
|
|
end
|
|
|
|
|
|
|
|
tests('attach_volume') do
|
|
|
|
volume_create_args = {:name => 'fogservermodeltest', :size => 1000**3, :media => :cdrom}
|
|
|
|
v = service.volumes.create(volume_create_args)
|
|
|
|
volume_uuid = v.uuid
|
|
|
|
|
|
|
|
@instance.mount_volume(v)
|
|
|
|
@instance.save
|
|
|
|
@instance.reload
|
|
|
|
|
|
|
|
returns(volume_uuid) { @instance.volumes.first.volume }
|
|
|
|
|
|
|
|
@instance.unmount_volume(v)
|
|
|
|
@instance.save
|
|
|
|
@instance.reload
|
|
|
|
|
|
|
|
succeeds { @instance.volumes.empty? }
|
|
|
|
|
|
|
|
v.delete
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2014-05-26 09:35:26 -04:00
|
|
|
end
|