From fd126aa4579503f156a416a2672f4966bcdcedf9 Mon Sep 17 00:00:00 2001 From: geemus Date: Fri, 22 Feb 2013 09:45:33 -0600 Subject: [PATCH 1/6] fix for user agent tests excon usage --- tests/core/user_agent_tests.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From cecf57e76cf1e78a5aa063a7e2e1e366196a793b Mon Sep 17 00:00:00 2001 From: geemus Date: Fri, 22 Feb 2013 15:48:19 -0600 Subject: [PATCH 2/6] [rackspace|compute] remove erroneous block argument to get_object fixes #1588 --- lib/fog/rackspace/requests/storage/get_object.rb | 1 - 1 file changed, 1 deletion(-) 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)}" From d6243bb05a6bec02e244abe7f24f38a19e268c1f Mon Sep 17 00:00:00 2001 From: Kyle Rames Date: Fri, 22 Feb 2013 16:36:31 -0600 Subject: [PATCH 3/6] [hp/openstack|compute] remove erroneous block argument to get_object; fixes issue #1588 for OpenStack and HP --- lib/fog/hp/requests/storage/get_object.rb | 1 - lib/fog/hp/requests/storage/get_shared_object.rb | 1 - lib/fog/openstack/requests/storage/get_object.rb | 1 - 3 files changed, 3 deletions(-) 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)}" From e1490f60dcb43030b4b43627835ef4c1bc12212a Mon Sep 17 00:00:00 2001 From: Amos Benari Date: Sun, 24 Feb 2013 14:25:12 +0200 Subject: [PATCH 4/6] [ovirt] Add support for reading the oVirt api version. --- lib/fog/ovirt/compute.rb | 1 + .../ovirt/requests/compute/get_api_version.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 lib/fog/ovirt/requests/compute/get_api_version.rb 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/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 From 77e78830568aea79ccafb96370f91b2857c7f215 Mon Sep 17 00:00:00 2001 From: Amos Benari Date: Sun, 24 Feb 2013 14:25:55 +0200 Subject: [PATCH 5/6] [ovirt] Added support for oVirt volume status. --- lib/fog/ovirt/models/compute/volume.rb | 1 + 1 file changed, 1 insertion(+) 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] From bafac9547be5434bca5baef73acd2a86b1fd58ac Mon Sep 17 00:00:00 2001 From: Amos Benari Date: Sun, 24 Feb 2013 16:00:44 +0200 Subject: [PATCH 6/6] [ovirt] Updated the blocking start logic to fit oVirt 3.1 api --- lib/fog/ovirt/models/compute/server.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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