Hi Daniel - many thanks for taking a look - more inline:

On 11/07/12 20:27, Daniel Molina wrote:
> Hi Marios and Christian,
> 
> Thanks for testing and debugging the OpenNebula driver.
> 
> On 11 July 2012 15:51, [email protected] <[email protected]> wrote:
>> On 11/07/12 15:52, [email protected] wrote:
>>> Hi - I just applied Daniel's patch from this thread (its on list now for
>>> approval). After fixing a minor typo it solved an issue we saw in
>>> https://issues.apache.org/jira/browse/DTACLOUD-257 (errors getting a
>>> list of instances).
>>>
>>> I have two questions though:
>>>
>>> 1. Is there a way to determine the version of ON you are talking to? If
>>> I understand correctly, this patch brings us to ON 3.6 compatibility?
>>> This is what David Lutterkort was trying to gage - is it possible to
>>> determine the version and if so is it worth trying to 'fall back' to ON
>>> 3.x? Or are you happy with just requiring users to always be on latest
>>> version?
> 
> Currently, there is no way to determine the OCCI server version, but
> we are including it in OpenNebula 3.8. The verbose mode is supported
> in OpenNebula 3.4 and 3.6, so I think it is a fair requirement to use
> OpenNebula >= 3.4.

ok - good to know - at least if we get bug reports we can ask which
version of ON they are talking to.

> 
>>>
>>> 2. In  https://issues.apache.org/jira/browse/DTACLOUD-257, the reporter
>>> (in cc here) mentions something I also noticed about the Machine states.
>>> You can only 'destroy' a machine when it is running. At first I thought
>>> this was an error - looking at the defined state machine in the
>>> opennebula driver:
>>>
>>>
>>> 143   define_instance_states do$
>>> 144     start.to(:pending)          .on( :create )$
>>> 145     pending.to(:running)        .automatically$
>>> 146     stopped.to(:running)        .on( :start )$
>>> 147     running.to(:running)        .on( :reboot )$
>>> 148     running.to(:stopping)       .on( :stop )$
>>> 149     stopping.to(:stopped)       .automatically$
>>> 150     running.to(:stopping)       .on( :destroy )$
>>> 151     stopping.to(:finish)        .automatically$
>>> 152   end$
>>>
>>> Are these states correct? Look at lines 148, 150 for example.
>>>
>>> After checking
>>> http://opennebula.org/documentation:archives:rel3.0:vm_guide_2 it seems
>>> that 'destroy only when running' is intended behaviour. Can you please
>>> confirm that?
>>>
>>> Thanks again for your support,
>>>
>>> marios
>>>
>>
>> just to add to this issue on states... is it true that there is no
>> longer a notion of 'restart'/'reboot' for a running machine... i.e. as
>> described in
>> https://issues.apache.org/jira/browse/DTACLOUD-257?focusedCommentId=13411504&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13411504
>>
> 
> The documentation you linked in the previous mail is for OpenNebula
> 3.0. In OpenNebula 3.6 this is the life cycle of a Virtual Machine:
> http://opennebula.org/documentation:rel3.6:vm_guide_2#virtual_machine_life-cycle
> 
> And these are the available actions from OCCI, (the diagram is missing
> DONE from any state):
> http://opennebula.org/documentation:rel3.6:occidd#compute
> 
> As you can see the actions available through OCCI are limited but you
> can 'destroy' a VM from any state and reboot a running VM. The error
> is in the state machine in the opennebula driver. This is the state
> machine that we use in the server:
> https://github.com/OpenNebula/one/blob/one-3.4/src/cloud/occi/lib/VirtualMachineOCCI.rb#L67
> 
> I will try to send you an updated state machine tomorrow
> 

Oh - sorry for that I was looking at wrong version. OK - any input you
provide will be appreciated. However, I just launched an instance
against http://occi.c12g.com and wasn't able to get STOPPED or REBOOT to
work - only DONE. I put some debug statements into the
driver/occi_client.. the XML looks like:

For STOPPED and REBOOT:

(rdb:39) xml
"\n    <COMPUTE>\n      <ID>2742</ID>\n      <STATE>STOPPED</STATE>\n
 </COMPUTE>\n  \n"

"\n    <COMPUTE>\n      <ID>2742</ID>\n      <STATE>REBOOT</STATE>\n
</COMPUTE>\n  \n"

but both of these are giving me:

#<CloudClient::Error:0xb732537c @message="[VirtualMachineAction] Wrong
state to perform action", @code="500">


The server was definitely in RUNNING state on the deltacloud side. I'll
commit the patch you already sent (the one attached to
https://issues.apache.org/jira/browse/DTACLOUD-257) and then any more
bugs can be fixed ontop of that,

thanks for all your help, marios


> 
> BTW, in the patch regarding the verbose param for pools, It should be
> also included for instance_type (hardware profiles) requests
> 
> 
> If you have further questions do not hesitate to ask me anything.
> 
> Cheers
> 
> 
>>
>> thanks, marios
>>
>>
>>
>>>
>>>
>>> On 10/07/12 19:55, [email protected] wrote:
>>>> Hi Daniel, Ruben,
>>>>
>>>> I thought it'd be appropriate to add to this thread and revive the
>>>> conversation; we've had a couple of bugs filed recently against the ON
>>>> driver; I'd be really grateful if you could have a look:
>>>> https://issues.apache.org/jira/browse/DTACLOUD-257
>>>> https://issues.apache.org/jira/browse/DTACLOUD-258
>>>>
>>>> In particular 257 as I couldn't quite get to the bottom of that one -
>>>> but also 258 as my solution imo is just a 'band-aid' - I think these
>>>> issues are indicative of a gap between the ON OCCI version the driver
>>>> was written for (3.2) and the current version running @
>>>> http://occi.c12g.com/ (I assume this is 3.6 from you earlier comments?).
>>>>
>>>> As you guys are obviously the OpenNebula experts - I'd appreciate any
>>>> thoughts and comments and also I'd ask whether you had the time to take
>>>> a look at the current driver. There's no need for duplication of effort;
>>>> otherwise I'll be putting it on my to-do list for the near future.
>>>>
>>>> As always thank you very much for your time and consideration,
>>>>
>>>> all the best, marios
>>>>
>>>>
>>>> On 04/07/12 14:59, David Lutterkort wrote:
>>>>> On Wed, 2012-07-04 at 11:56 +0200, Ruben S. Montero wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Do you mean back-porting the verbose option to OpenNebula 3.2? In this
>>>>>> line, we plan for our short roadmap to include a version API call so
>>>>>> clients can get the version of the server and adapt themselves to it.
>>>>>>
>>>>>> BTW, in OpenNebula.org  we only support the last stable release, and
>>>>>> encourage people to upgrade. The next stable release (3.6) is scheduled 
>>>>>> for
>>>>>> next week. This will make OpenNebula 3.2 two versions behind the last
>>>>>> stable. So I think we could just update the driver to use verbose mode, 
>>>>>> and
>>>>>> throw an exception if the call is not supported.
>>>>>
>>>>> I meant: what's the patch that should be committed to the Deltacloud
>>>>> driver for OpenNebula ?
>>>>>
>>>>> I don't think we should just throw an exception, I'd rather the driver
>>>>> is smart enough to fall back to the (slow) way of doing things it's
>>>>> doing now if the ON instance doesn't support the verbose query param.
>>>>>
>>>>> David
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
> 
> 
> 


Reply via email to