[ 
https://issues.apache.org/jira/browse/DTACLOUD-306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440379#comment-13440379
 ] 

Marios Andreou commented on DTACLOUD-306:
-----------------------------------------

Christian: thanks very much for your input! I was confused at first by your 
explanation, because I know that the openstack rubygem we are using (and to 
which deltacloud core developers are the main contributors) actually does 
something like:

[in openstack-1.0.1/lib/compute/server.rb ]:

49     def populate(data=nil)$
50       path = "/servers/#{URI.encode(@id.to_s)}"$
51       if data.nil? then$  
52           response = @compute.connection.req("GET", path)$
53           OpenStack::Exception.raise_exception(response) unless 
response.code.match(/^20.$/)$
54           data = JSON.parse(response.body)["server"]$
55       end$

[...]

as you can see in line 50 above, the id passed from deltacloud is already 
turned into a string. But you are right that the problem is in the 'to_i' from 
the deltacloud driver... since for example the instance id 
"2a308316-ee76-4df7-b050-c7de0d18b569" is converted to the integer 2 (the to_i 
parses the string and extracts whatever leading numbers it can, and returns 
just  0 if there are none). So the result was that the openstack rubygem was 
making the call with an instance id of "2".

I'll remove the extraneous 'to_i' from the deltacloud driver and run the 
openstack tests to make sure all is in order before sending the patch here. 

I'm a little confused that Leander was able to get at specific images though if 
the same applies to those.

Thanks again for your input, marios
                
> can't retrieve instance details with openstack driver
> -----------------------------------------------------
>
>                 Key: DTACLOUD-306
>                 URL: https://issues.apache.org/jira/browse/DTACLOUD-306
>             Project: DeltaCloud
>          Issue Type: Bug
>            Reporter: Marios Andreou
>            Assignee: Marios Andreou
>
> NOTE: AS REPORTED BY Leander Bessa Beernaert to dev@deltacloud.apache.org 
> mailing list:
> I've been tasked to look at Deltacloud, in particular the OpenStack driver.
> I have a small OpenStack setup running with OpenStack Essex on Ubuntu
> 12.04. Each time i try to see an instance in detail i get the following
> error: 
> OpenStack::Exception::ItemNotFound:The resource could not be found.
> /var/lib/gems/1.9.1/gems/openstack-1.0.1/lib/openstack/connection.rb:436:in 
> `raise_exception'
> /var/lib/gems/1.9.1/gems/openstack-1.0.1/lib/openstack/connection.rb:189:in 
> `req'
> /var/lib/gems/1.9.1/gems/openstack-1.0.1/lib/openstack/compute/server.rb:52:in
>  `populate'
> /var/lib/gems/1.9.1/gems/openstack-1.0.1/lib/openstack/compute/server.rb:37:in
>  `initialize'
> /var/lib/gems/1.9.1/gems/openstack-1.0.1/lib/openstack/compute/connection.rb:28:in
>  `new'
> /var/lib/gems/1.9.1/gems/openstack-1.0.1/lib/openstack/compute/connection.rb:28:in
>  `get_server'
> /var/lib/gems/1.9.1/gems/deltacloud-core-1.0.1/lib/deltacloud/drivers/openstack/openstack_driver.rb:122:in
>  `block in instances'
> /var/lib/gems/1.9.1/gems/deltacloud-core-1.0.1/lib/deltacloud/drivers/exceptions.rb:181:in
>  `call'
> /var/lib/gems/1.9.1/gems/deltacloud-core-1.0.1/lib/deltacloud/drivers/exceptions.rb:181:in
>  `safely'
> /var/lib/gems/1.9.1/gems/deltacloud-core-1.0.1/lib/deltacloud/drivers/openstack/openstack_driver.rb:120:in
>  `instances'
> /var/lib/gems/1.9.1/gems/deltacloud-core-1.0.1/lib/deltacloud/drivers/base_driver.rb:217:in
>  `instance'

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to