diff --git a/lib/fog/hp/requests/storage/get_object.rb b/lib/fog/hp/requests/storage/get_object.rb index 8a8eeafbf..af3a18d05 100644 --- a/lib/fog/hp/requests/storage/get_object.rb +++ b/lib/fog/hp/requests/storage/get_object.rb @@ -19,7 +19,6 @@ module Fog ) else response = request({ - :block => block, :expects => 200, :method => 'GET', :path => "#{Fog::HP.escape(container)}/#{Fog::HP.escape(object)}" diff --git a/lib/fog/hp/requests/storage/get_shared_object.rb b/lib/fog/hp/requests/storage/get_shared_object.rb index d429f9b04..f2a7add5d 100644 --- a/lib/fog/hp/requests/storage/get_shared_object.rb +++ b/lib/fog/hp/requests/storage/get_shared_object.rb @@ -22,7 +22,6 @@ module Fog ) else response = shared_request({ - :block => block, :expects => 200, :method => 'GET', :path => path diff --git a/lib/fog/openstack/requests/storage/get_object.rb b/lib/fog/openstack/requests/storage/get_object.rb index 676ca5022..1f57c3f28 100644 --- a/lib/fog/openstack/requests/storage/get_object.rb +++ b/lib/fog/openstack/requests/storage/get_object.rb @@ -17,7 +17,6 @@ module Fog end request(params.merge!({ - :block => block, :expects => 200, :method => 'GET', :path => "#{Fog::OpenStack.escape(container)}/#{Fog::OpenStack.escape(object)}" diff --git a/lib/fog/ovirt/compute.rb b/lib/fog/ovirt/compute.rb index 10a5322ab..8defc0207 100644 --- a/lib/fog/ovirt/compute.rb +++ b/lib/fog/ovirt/compute.rb @@ -42,6 +42,7 @@ module Fog request :list_template_volumes request :add_volume request :destroy_volume + request :get_api_version module Shared # converts an OVIRT object into an hash for fog to consume. diff --git a/lib/fog/ovirt/models/compute/server.rb b/lib/fog/ovirt/models/compute/server.rb index 5fb902cc4..7256878ee 100644 --- a/lib/fog/ovirt/models/compute/server.rb +++ b/lib/fog/ovirt/models/compute/server.rb @@ -33,7 +33,7 @@ module Fog end def locked? - !!(status =~ /locked/i) + !!(status =~ /locked/i) || (attributes[:volumes]=nil) || volumes.any?{|v| !!(v.status =~ /locked/i)} end def stopped? @@ -84,7 +84,7 @@ module Fog end def start(options = {}) - wait_for { stopped? } if options[:blocking] + wait_for { !locked? } if options[:blocking] service.vm_action(:id =>id, :action => :start) reload end diff --git a/lib/fog/ovirt/models/compute/volume.rb b/lib/fog/ovirt/models/compute/volume.rb index 5a35dc96f..af4712ac4 100644 --- a/lib/fog/ovirt/models/compute/volume.rb +++ b/lib/fog/ovirt/models/compute/volume.rb @@ -15,6 +15,7 @@ module Fog attribute :format attribute :sparse attribute :size_gb + attribute :status def size_gb attributes[:size_gb] ||= attributes[:size].to_i / DISK_SIZE_TO_GB if attributes[:size] diff --git a/lib/fog/ovirt/requests/compute/get_api_version.rb b/lib/fog/ovirt/requests/compute/get_api_version.rb new file mode 100644 index 000000000..3a4799bd1 --- /dev/null +++ b/lib/fog/ovirt/requests/compute/get_api_version.rb @@ -0,0 +1,16 @@ +module Fog + module Compute + class Ovirt + class Real + def api_version + client.api_version + end + end + class Mock + def api_version + "3.1" + end + end + end + end +end \ No newline at end of file diff --git a/lib/fog/rackspace/requests/storage/get_object.rb b/lib/fog/rackspace/requests/storage/get_object.rb index a969641df..917ebca8b 100644 --- a/lib/fog/rackspace/requests/storage/get_object.rb +++ b/lib/fog/rackspace/requests/storage/get_object.rb @@ -17,7 +17,6 @@ module Fog end request(params.merge!({ - :block => block, :expects => 200, :method => 'GET', :path => "#{Fog::Rackspace.escape(container)}/#{Fog::Rackspace.escape(object)}" diff --git a/tests/core/user_agent_tests.rb b/tests/core/user_agent_tests.rb index 3bcfe540b..896853db8 100644 --- a/tests/core/user_agent_tests.rb +++ b/tests/core/user_agent_tests.rb @@ -1,6 +1,6 @@ Shindo.tests('Fog::Connection', 'core') do tests('user_agent').returns("fog/#{Fog::VERSION}") do conn = Fog::Connection.new("http://www.testserviceurl.com", false, {}) - conn.instance_variable_get(:@excon).connection[:headers]['User-Agent'] + conn.instance_variable_get(:@excon).data[:headers]['User-Agent'] end end