deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "" <>
Subject Re: Fwd: Patch to support User-Level API
Date Fri, 21 Dec 2012 12:01:05 GMT
On 20/12/12 18:22, Oved Ourfalli wrote:
> Hey,
> This patch supports the User-Level API in oVirt.
> Note that I wrote some issues below. I opened tickets on them, and I think most were
fixed, so just have a look at the patch when you can.
> Thank you, and happy new year everyone!
> Oved

ACK && PSH. OK, to make sure I understand the situation:

* even with this patch, the 'default' behaviour if as a user you don't
know anything about 'user-level' API is to use the 'admin' API - i.e.
like before.

* this patch allows you to specify that the created client which talks
to rhev will query on the user-level API.

* beyond initialisation of client, changes will be required in the
various driver methods to make use of the user-level API functionality
(not in this patch/not done yet),

* there are some problems/issues with the UL api - i) supported on
particular versions of rhev/ovirt (like > 3.x?), ii) we need an update
to the rbovirt gem in order to make use of it, and iii) create VM is
broken to ul api (as you noted).
Based on these, I personally don't see the utility of having this flag
available until at least ii and iii are addressed. However, since we
don't document this functionality (yet, and we definitely need to but
only when it's all working and ready) I think its safe to push this for
now as you told me you'd like to have in the next dcloud release, in
order to continue working on this functionality.


> ----- Forwarded Message -----
> From: "Oved Ourfalli" <>
> To: "" <>, "Michal Fojtik" <>
> Sent: Monday, December 10, 2012 10:55:09 AM
> Subject: Patch to support User-Level API
> Hey,
> I've attached a patch that uses the API_PROVIDER to configure whether we work in Admin
or User-level API.
> Marios - I know you didn't like that approach so much, but as Michal mentioned in the
meeting we had, it will allow setting it also using the HTTP header X-Deltacloud-Provider.
> Also, in order for it to work we need a new rbovirt version (and also add a dependency
on it to this patch).
> Is that okay with you?
> Michal - if so, can you release rbovirt with the latest changes?
> I tested EC2 and CIMI (using examples from my blog :-) ) and only some basic deltacloud
API tests (as I'm less familiar with it).
> I saw the following issues:
> 1. CIMI - create VM is broken to user-level API - need to getCluster by ID and we don't
support that.
> The result is failing to create VM without specifying target cluster. There is no way
to tell CIMI which cluster you want your VM on... it works well on EC2.
> Bug:
> Patch by Ravi:
> Maybe we should consider fixing this bug also on z-stream?
> 2. Delete VM in CIMI failed (but it also failed for admin, and doesn't seem related to
the ovirt driver).
> Trace:
> ERROR -- 500: [NoMethodError] undefined method `destroy' for nil:NilClass
> /autohome/oourfali/git/deltacloud/server/pkg/deltacloud-core-1.0.5/lib/db.rb:51:in `delete_attributes_for'
> /autohome/oourfali/git/deltacloud/server/pkg/deltacloud-core-1.0.5/lib/cimi/models/machine.rb:114:in
> /autohome/oourfali/git/deltacloud/server/pkg/deltacloud-core-1.0.5/lib/cimi/collections/machines.rb:66:in
`block (3 levels) in <class:Machines>'
> /autohome/oourfali/.gem/ruby/1.9.1/gems/sinatra-rabbit-1.1.3/lib/sinatra/rabbit/base.rb:396:in
> /autohome/oourfali/.gem/ruby/1.9.1/gems/sinatra-rabbit-1.1.3/lib/sinatra/rabbit/base.rb:396:in
`block in control'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1265:in `call'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1265:in `block in compile!'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `[]'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `block (3 levels)
in route!'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:851:in `route_eval'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `block (2 levels)
in route!'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:872:in `block in process_route'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:870:in `catch'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:870:in `process_route'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:834:in `block in route!'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:833:in `each'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:833:in `route!'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `block in call!'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `block in invoke'
> /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `catch'
> - - [09/Dec/2012 15:09:08] "DELETE /cimi/machines/ec7fbdba-83d7-4835-b304-0fc1aa90b71a
HTTP/1.1" 500 1459 0.0278
> Are you aware of this issue?
> Thank you,
> Oved

View raw message