On Sep 10, 2011, at 2:50 AM, Richard Su wrote:

ACK. Agree that this 'incompatibility' should be reported to RHEV-M REST API.
Meanwhile we could use this as a workaround.

  -- Michal

> Start instance call fails with <template id="namevalue"> but succeeds with
> <template><name>namevalue</name></template>. Possibly a bug in RHEV API.
> 
> Statuses are also case sensitive.
> ---
> .../lib/deltacloud/drivers/rhevm/rhevm_client.rb   |   10 ++++++++--
> 1 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb 
> b/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb
> index ca8e3d9..d1314c2 100644
> --- a/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb
> +++ b/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb
> @@ -78,7 +78,7 @@ module RHEVM
>         RHEVM::client(@api_entrypoint)["/vms/%s" % id].delete(headers)
>       else
>         xml_response = 
> Client::parse_response(RHEVM::client(@api_entrypoint)["/vms/%s/%s" % [id, 
> action]].post('<action/>', headers))
> -        return false if (xml_response/'action/status').first.text!="COMPLETE"
> +        return false if 
> (xml_response/'action/status').first.text.strip.upcase!="COMPLETE"
>       end
>       return true
>     end
> @@ -114,7 +114,13 @@ module RHEVM
>       builder = Nokogiri::XML::Builder.new do
>         vm {
>           name opts[:name] || "i-#{Time.now.to_i}"
> -          template_(:id => template_id)
> +          if api_version?('3')
> +            template_ {
> +              name template_id
> +            }
> +          else
> +            template_(:id => template_id)
> +          end
>           cluster(:id => opts[:realm_id] || clusters.first.id)
>           type_ opts[:hwp_id] || 'desktop'
>           memory opts[:hwp_memory] ? (opts[:hwp_memory].to_i*1024*1024).to_s 
> : (512*1024*1024).to_s
> -- 
> 1.7.6
> 

------------------------------------------------------
Michal Fojtik, mfoj...@redhat.com
Deltacloud API: http://deltacloud.org

Reply via email to