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.


marios


> ----- Forwarded Message -----
> From: "Oved Ourfalli" <[email protected]>
> To: "[email protected]" <[email protected]>, "Michal Fojtik" 
> <[email protected]>
> 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: https://bugzilla.redhat.com/show_bug.cgi?id=876460
> Patch by Ravi: http://gerrit.ovirt.org/#/c/9248/5
> 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
>  `delete!'
> /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
>  `instance_eval'
> /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'
> 
> 127.0.0.1 - - [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
> 

Reply via email to