1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

Merge pull request #1405 from rackspace/default_version

Updated default Rackspace compute provider to Cloud Server NG API
This commit is contained in:
Brian Hartsock 2012-12-20 15:12:24 -08:00
commit da091c7429
10 changed files with 68 additions and 51 deletions

View file

@ -70,8 +70,9 @@ module Fog
version = version.to_s.downcase.to_sym unless version.nil?
if version == :v2
require 'fog/rackspace/compute_v2'
Fog::Compute::RackspaceV2.new(attributes)
Fog::Compute::RackspaceV2.new(attributes)
else
warn "[DEPRECATION] First Gen Cloud Servers are deprecated. Please use `:version => :v2` attribute to use Next Gen Cloud Servers."
require 'fog/rackspace/compute'
Fog::Compute::Rackspace.new(attributes)
end

View file

@ -82,6 +82,7 @@ def compute_providers
:mocked => false
},
:rackspace => {
:provider_attributes => { :version => :v1 },
:server_attributes => {
:image_id => 49, # image 49 = Ubuntu 10.04 LTS (lucid)
:name => "fog_#{Time.now.to_i}"

View file

@ -4,7 +4,9 @@ for provider, config in compute_providers
Shindo.tests("Fog::Compute[:#{provider}] | flavors", [provider.to_s]) do
flavors_tests(Fog::Compute[provider], (config[:flavors_attributes] || {}), config[:mocked])
provider_attributes = config[:provider_attributes] || {}
provider_attributes.merge!(:provider => provider)
flavors_tests(Fog::Compute.new(provider_attributes), (config[:flavors_attributes] || {}), config[:mocked])
end

View file

@ -2,7 +2,9 @@ for provider, config in compute_providers
Shindo.tests("Fog::Compute[:#{provider}] | server", [provider.to_s]) do
server_tests(Fog::Compute[provider], (config[:server_attributes] || {}), config[:mocked]) do
provider_attributes = config[:provider_attributes] || {}
provider_attributes.merge!(:provider => provider)
server_tests(Fog::Compute.new(provider_attributes), (config[:server_attributes] || {}), config[:mocked]) do
if Fog.mocking? && !config[:mocked]
pending

View file

@ -3,7 +3,9 @@ for provider, config in compute_providers
Shindo.tests("Fog::Compute[:#{provider}] | servers", [provider.to_s]) do
servers_tests(Fog::Compute[provider], (config[:server_attributes] || {}), config[:mocked])
provider_attributes = config[:provider_attributes] || {}
provider_attributes.merge!(:provider => provider)
servers_tests(Fog::Compute.new(provider_attributes), (config[:server_attributes] || {}), config[:mocked])
end

View file

@ -1,19 +1,21 @@
Shindo.tests('Fog::Compute[:rackspace] | address requests', ['rackspace']) do
@service = Fog::Compute.new(:provider => :rackspace, :version => :v1)
tests('success') do
@server = Fog::Compute[:rackspace].servers.create(:flavor_id => 1, :image_id => 19)
@server = @service.servers.create(:flavor_id => 1, :image_id => 19)
tests("#list_addresses(#{@server.id})").formats({'addresses' => {'private' => [String], 'public' => [String]}}) do
Fog::Compute[:rackspace].list_addresses(@server.id).body
@service.list_addresses(@server.id).body
end
tests("#list_private_addresses(#{@server.id})").formats({'private' => [String]}) do
Fog::Compute[:rackspace].list_private_addresses(@server.id).body
@service.list_private_addresses(@server.id).body
end
tests("#list_public_addresses(#{@server.id})").formats({'public' => [String]}) do
Fog::Compute[:rackspace].list_public_addresses(@server.id).body
@service.list_public_addresses(@server.id).body
end
@server.wait_for { ready? }
@ -22,17 +24,17 @@ Shindo.tests('Fog::Compute[:rackspace] | address requests', ['rackspace']) do
end
tests('failure') do
tests('#list_addresses(0)').raises(Fog::Compute::Rackspace::NotFound) do
Fog::Compute[:rackspace].list_addresses(0)
@service.list_addresses(0)
end
tests('#list_private_addresses(0)').raises(Fog::Compute::Rackspace::NotFound) do
Fog::Compute[:rackspace].list_private_addresses(0)
@service.list_private_addresses(0)
end
tests('#list_public_addresses(0)').raises(Fog::Compute::Rackspace::NotFound) do
Fog::Compute[:rackspace].list_public_addresses(0)
@service.list_public_addresses(0)
end
end

View file

@ -7,21 +7,22 @@ Shindo.tests('Fog::Compute[:rackspace] | flavor requests', ['rackspace']) do
'ram' => Integer
}
tests('success') do
@service = Fog::Compute.new(:provider => :rackspace, :version => :v1)
tests('success') do
tests('#get_flavor_details(1)').formats(@flavor_format) do
pending if Fog.mocking?
Fog::Compute[:rackspace].get_flavor_details(1).body['flavor']
@service.get_flavor_details(1).body['flavor']
end
tests('#list_flavors').formats({'flavors' => [Rackspace::Compute::Formats::SUMMARY]}) do
pending if Fog.mocking?
Fog::Compute[:rackspace].list_flavors.body
@service.list_flavors.body
end
tests('#list_flavors_detail').formats({'flavors' => [@flavor_format]}) do
pending if Fog.mocking?
Fog::Compute[:rackspace].list_flavors_detail.body
@service.list_flavors_detail.body
end
end
@ -30,7 +31,7 @@ Shindo.tests('Fog::Compute[:rackspace] | flavor requests', ['rackspace']) do
tests('#get_flavor_details(0)').raises(Fog::Compute::Rackspace::NotFound) do
pending if Fog.mocking?
Fog::Compute[:rackspace].get_flavor_details(0)
@service.get_flavor_details(0)
end
end

View file

@ -10,42 +10,44 @@ Shindo.tests('Fog::Compute[:rackspace] | image requests', ['rackspace']) do
'updated' => String
}
@service = Fog::Compute.new(:provider => :rackspace, :version => :v1)
tests('success') do
@server = Fog::Compute[:rackspace].servers.create(:flavor_id => 1, :image_id => 19)
@server = @service.servers.create(:flavor_id => 1, :image_id => 19)
@server.wait_for { ready? }
@image_id = nil
tests("#create_image(#{@server.id})").formats(@image_format) do
data = Fog::Compute[:rackspace].create_image(@server.id).body['image']
data = @service.create_image(@server.id).body['image']
@image_id = data['id']
data
end
unless Fog.mocking?
Fog::Compute[:rackspace].images.get(@image_id).wait_for { ready? }
@service.images.get(@image_id).wait_for { ready? }
end
tests("#get_image_details(#{@image_id})").formats(@image_format) do
pending if Fog.mocking?
Fog::Compute[:rackspace].get_image_details(@image_id).body['image']
@service.get_image_details(@image_id).body['image']
end
tests('#list_images').formats({'images' => [Rackspace::Compute::Formats::SUMMARY]}) do
Fog::Compute[:rackspace].list_images.body
@service.list_images.body
end
tests('#list_images_detail').formats({'images' => [@image_format]}) do
Fog::Compute[:rackspace].list_images_detail.body
@service.list_images_detail.body
end
unless Fog.mocking?
Fog::Compute[:rackspace].images.get(@image_id).wait_for { ready? }
@service.images.get(@image_id).wait_for { ready? }
end
tests("#delete_image(#{@image_id})").succeeds do
pending if Fog.mocking? # because it will fail without the wait just above here, which won't work
Fog::Compute[:rackspace].delete_image(@image_id)
@service.delete_image(@image_id)
end
@server.destroy
@ -55,12 +57,12 @@ Shindo.tests('Fog::Compute[:rackspace] | image requests', ['rackspace']) do
tests('failure') do
tests('#delete_image(0)').raises(Excon::Errors::BadRequest) do
Fog::Compute[:rackspace].delete_image(0)
@service.delete_image(0)
end
tests('#get_image_details(0)').raises(Fog::Compute::Rackspace::NotFound) do
pending if Fog.mocking?
Fog::Compute[:rackspace].get_image_details(0)
@service.get_image_details(0)
end
end

View file

@ -1,27 +1,29 @@
Shindo.tests('Fog::Compute[:rackspace] | resize request', ['rackspace']) do
@confirm_server = Fog::Compute[:rackspace].servers.create(:flavor_id => 1, :image_id => 19)
@service = Fog::Compute.new(:provider => :rackspace, :version => :v1)
@revert_server = Fog::Compute[:rackspace].servers.create(:flavor_id => 1, :image_id => 19)
@confirm_server = @service.servers.create(:flavor_id => 1, :image_id => 19)
@revert_server = @service.servers.create(:flavor_id => 1, :image_id => 19)
@confirm_server.wait_for { ready? }
tests("#resize_server(#{@confirm_server.id}, 2) # to confirm").succeeds do
Fog::Compute[:rackspace].resize_server(@confirm_server.id, 2)
@service.resize_server(@confirm_server.id, 2)
end
@revert_server.wait_for { ready? }
tests("#resize_server(#{@revert_server.id}, 2) # to revert").succeeds do
Fog::Compute[:rackspace].resize_server(@revert_server.id, 2)
@service.resize_server(@revert_server.id, 2)
end
@confirm_server.wait_for { state == 'VERIFY_RESIZE' }
tests("#confirm_resized_server(#{@confirm_server.id})").succeeds do
Fog::Compute[:rackspace].confirm_resized_server(@confirm_server.id)
@service.confirm_resized_server(@confirm_server.id)
end
@revert_server.wait_for { state == 'VERIFY_RESIZE' }
tests("#revert_resized_server(#{@revert_server.id})").succeeds do
Fog::Compute[:rackspace].revert_resized_server(@revert_server.id)
@service.revert_resized_server(@revert_server.id)
end
@confirm_server.wait_for { ready? }

View file

@ -14,6 +14,8 @@ Shindo.tests('Fog::Compute[:rackspace] | server requests', ['rackspace']) do
'progress' => Integer,
'status' => String
}
@service = Fog::Compute.new(:provider => :rackspace, :version => :v1)
tests('success') do
@ -21,49 +23,49 @@ Shindo.tests('Fog::Compute[:rackspace] | server requests', ['rackspace']) do
tests('#create_server(1, 19)').formats(@server_format.merge('adminPass' => String)) do
# 1 => 256MB, 19 => Gentoo
data = Fog::Compute[:rackspace].create_server(1, 19).body['server']
data = @service.create_server(1, 19).body['server']
@server_id = data['id']
data
end
Fog::Compute[:rackspace].servers.get(@server_id).wait_for { ready? }
@service.servers.get(@server_id).wait_for { ready? }
tests("#get_server_details(#{@server_id})").formats(@server_format) do
Fog::Compute[:rackspace].get_server_details(@server_id).body['server']
@service.get_server_details(@server_id).body['server']
end
tests('#list_servers').formats({'servers' => [Rackspace::Compute::Formats::SUMMARY]}) do
Fog::Compute[:rackspace].list_servers.body
@service.list_servers.body
end
tests('#list_servers_detail').formats({'servers' => [@server_format]}) do
Fog::Compute[:rackspace].list_servers_detail.body
@service.list_servers_detail.body
end
Fog::Compute[:rackspace].servers.get(@server_id).wait_for { ready? }
@service.servers.get(@server_id).wait_for { ready? }
tests("#update_server(#{@server_id}, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')").succeeds do
Fog::Compute[:rackspace].update_server(@server_id, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')
@service.update_server(@server_id, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')
end
Fog::Compute[:rackspace].servers.get(@server_id).wait_for { ready? }
@service.servers.get(@server_id).wait_for { ready? }
tests("#reboot_server(#{@server_id}, 'HARD')").succeeds do
pending if Fog.mocking?
Fog::Compute[:rackspace].reboot_server(@server_id, 'HARD')
@service.reboot_server(@server_id, 'HARD')
end
Fog::Compute[:rackspace].servers.get(@server_id).wait_for { ready? }
@service.servers.get(@server_id).wait_for { ready? }
tests("#reboot_server(#{@server_id}, 'SOFT')").succeeds do
pending if Fog.mocking?
Fog::Compute[:rackspace].reboot_server(@server_id, 'SOFT')
@service.reboot_server(@server_id, 'SOFT')
end
Fog::Compute[:rackspace].servers.get(@server_id).wait_for { ready? }
@service.servers.get(@server_id).wait_for { ready? }
tests("#delete_server(#{@server_id})").succeeds do
Fog::Compute[:rackspace].delete_server(@server_id)
@service.delete_server(@server_id)
end
end
@ -71,20 +73,20 @@ Shindo.tests('Fog::Compute[:rackspace] | server requests', ['rackspace']) do
tests('failure') do
tests('#delete_server(0)').raises(Fog::Compute::Rackspace::NotFound) do
Fog::Compute[:rackspace].delete_server(0)
@service.delete_server(0)
end
tests('#get_server_details(0)').raises(Fog::Compute::Rackspace::NotFound) do
Fog::Compute[:rackspace].get_server_details(0)
@service.get_server_details(0)
end
tests("#update_server(0, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')").raises(Fog::Compute::Rackspace::NotFound) do
Fog::Compute[:rackspace].update_server(0, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')
@service.update_server(0, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')
end
tests('#reboot_server(0)').raises(Fog::Compute::Rackspace::NotFound) do
pending if Fog.mocking?
Fog::Compute[:rackspace].reboot_server(0)
@service.reboot_server(0)
end
end