mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Merge pull request #2091 from rackspace/test_fix3
[rackspace] test tweaks
This commit is contained in:
commit
afe4ab7b11
3 changed files with 40 additions and 24 deletions
|
@ -66,5 +66,24 @@ module Shindo
|
|||
@flavor_id ||= Fog.credentials[:rackspace_flavor_id] || service.flavors.first.id
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
# After a server has been successfully deleted they are still being reported as attached to a cloud network
|
||||
# causing delete calls to fail. This method attempts to address that.
|
||||
def delete_test_network(network)
|
||||
return false if Fog.mocking? || network.nil?
|
||||
attempt = 0
|
||||
begin
|
||||
network.destroy
|
||||
rescue Fog::Compute::RackspaceV2::ServiceError => e
|
||||
if attempt == 3
|
||||
Fog::Logger.warning "Unable to delete #{network.label}"
|
||||
return false
|
||||
end
|
||||
Fog::Logger.warning "Network #{network.label} Delete Fail Attempt #{attempt}- #{e.inspect}"
|
||||
attempt += 1
|
||||
sleep 60
|
||||
retry
|
||||
end
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
|
@ -77,7 +77,8 @@ Shindo.tests('Fog::Compute::RackspaceV2 | server', ['rackspace']) do
|
|||
end
|
||||
|
||||
tests('#update').succeeds do
|
||||
@instance.name = "fog_server_update"
|
||||
new_name = "fog_server_update#{Time.now.to_i.to_s}"
|
||||
@instance.name = new_name
|
||||
@instance.access_ipv4_address= "10.10.0.1"
|
||||
@instance.access_ipv6_address= "::1"
|
||||
@instance.save
|
||||
|
@ -85,7 +86,7 @@ Shindo.tests('Fog::Compute::RackspaceV2 | server', ['rackspace']) do
|
|||
@instance.reload
|
||||
returns("10.10.0.1") { @instance.access_ipv4_address }
|
||||
returns("::1") { @instance.access_ipv6_address }
|
||||
returns("fog_server_update") { @instance.name }
|
||||
returns(new_name) { @instance.name }
|
||||
end
|
||||
|
||||
tests('#reboot("SOFT")').succeeds do
|
||||
|
@ -98,18 +99,6 @@ Shindo.tests('Fog::Compute::RackspaceV2 | server', ['rackspace']) do
|
|||
@instance.reboot('HARD')
|
||||
returns('HARD_REBOOT') { @instance.state }
|
||||
end
|
||||
|
||||
@instance.wait_for { ready? }
|
||||
@test_image = nil
|
||||
begin
|
||||
tests('#create_image').succeeds do
|
||||
@test_image = @instance.create_image('fog-test-image')
|
||||
@test_image.reload
|
||||
returns('SAVING') { @test_image.state }
|
||||
end
|
||||
ensure
|
||||
@test_image.destroy unless @test_image.nil? || Fog.mocking?
|
||||
end
|
||||
|
||||
sleep 30 unless Fog.mocking?
|
||||
@instance.wait_for { ready? }
|
||||
|
@ -165,6 +154,18 @@ Shindo.tests('Fog::Compute::RackspaceV2 | server', ['rackspace']) do
|
|||
returns('somerandompassword') { @instance.password }
|
||||
end
|
||||
|
||||
@instance.wait_for { ready? }
|
||||
@test_image = nil
|
||||
begin
|
||||
tests('#create_image').succeeds do
|
||||
@test_image = @instance.create_image('fog-test-image')
|
||||
@test_image.reload
|
||||
returns('SAVING') { @test_image.state }
|
||||
end
|
||||
ensure
|
||||
@test_image.destroy unless @test_image.nil? || Fog.mocking?
|
||||
end
|
||||
|
||||
tests('attachments') do
|
||||
begin
|
||||
@volume = cbs_service.volumes.create(:size => 100, :display_name => "fog-#{Time.now.to_i.to_s}")
|
||||
|
@ -189,13 +190,6 @@ Shindo.tests('Fog::Compute::RackspaceV2 | server', ['rackspace']) do
|
|||
@instance.wait_for { ready? }
|
||||
end
|
||||
|
||||
wait_for_server_deletion(@instance)
|
||||
sleep 60 unless Fog.mocking?
|
||||
|
||||
tests("delete network #{@network.label}").succeeds do
|
||||
@network.destroy if @network
|
||||
end
|
||||
|
||||
#When after testing resize/resize_confirm we get a 409 when we try to resize_revert so I am going to split it into two blocks
|
||||
model_tests(service.servers, options, true) do
|
||||
@instance.wait_for { ready? }
|
||||
|
@ -211,4 +205,7 @@ Shindo.tests('Fog::Compute::RackspaceV2 | server', ['rackspace']) do
|
|||
end
|
||||
@instance.wait_for { ready? }
|
||||
end
|
||||
|
||||
wait_for_server_deletion(@instance)
|
||||
delete_test_network(@network)
|
||||
end
|
||||
|
|
|
@ -117,7 +117,7 @@ Shindo.tests('Fog::Compute::RackspaceV2 | server_tests', ['rackspace']) do
|
|||
wait_for_server_state(service, server_id, 'ACTIVE', 'ERROR')
|
||||
|
||||
tests('#resize_server').succeeds do
|
||||
resize_flavor_id = flavor_id
|
||||
resize_flavor_id = Fog.mocking? ? flavor_id : service.flavors[1].id
|
||||
service.resize_server(server_id, resize_flavor_id)
|
||||
end
|
||||
wait_for_server_state(service, server_id, 'VERIFY_RESIZE', 'ACTIVE')
|
||||
|
|
Loading…
Add table
Reference in a new issue