ruby-openstack / ruby-openstack

Ruby binding for Openstack API - supports Keystone, Nova, Swift, Cinder and Neutron
Other
127 stars 80 forks source link

compatibility issues - openstack essex, diablo and cactus #9

Closed marios closed 12 years ago

marios commented 12 years ago

As reported by Christian Karnath in Apache JIRA:

These issues were revealed by testing the Openstack 1.0.3 gem with Deltacloud - quoting Christian here:

I'm very very sorry, but I still found some new issues after excessive testing deltacloud with openstack-rubygem 1.0.3 against openstack essex, diablo and cactus. :-( I dont't know if this is the correct thread or if we should open new cases for the following issues:

ghost commented 12 years ago

I tried to track the ID-issues with the different openstack versions. I found out that these issues occured after the mapping of the id was altered in lib/openstack/compute/server.rb:

56 - @id = data["id"] 57+ @id = data["uuid"]

marios commented 12 years ago

OK - finally got round to looking at this - changes are in https://github.com/ruby-openstack/ruby-openstack/pull/12 (and soon to be released 1.0.4 of this gem). Individually:

  * When requesting a single instance against essex the id-field is empty right now (when requesting all instances the id-fields are filled).

FIXED

    * When requesting a single instance against diablo the id-field is a guid-string instead of an integer (requesting all instances will return integer ids). 

(as above) - diablo returns both 'uuid' and 'id' in response. Essex only 'id'. However it seems that the ids used will be guid-strings from now on - see the API examples

    * When requesting a single image against diablo the name-field is null (requesting all images will fill the name field correctly).

cant reproduce this against openstack@hpcloud (diablo). I get name set correctly so not sure yet about this one.

    * When requsting all instances (or images) against cactus the following stack trace occurs:
[NO HANDLED] IndexError: key not found
/home/karnath/deltacloud/server/lib/deltacloud/drivers/openstack/openstack_driver.rb:374:in fetch'
/home/karnath/deltacloud/server/lib/deltacloud/drivers/openstack/openstack_driver.rb:374:insend'
/home/karnath/deltacloud/server/lib/deltacloud/drivers/openstack/openstack_driver.rb:374:in convert_from_server'
/home/karnath/deltacloud/server/lib/deltacloud/drivers/openstack/openstack_driver.rb:126:ininstances'
/home/karnath/deltacloud/server/lib/deltacloud/drivers/openstack/openstack_driver.rb:125:in collect'
/home/karnath/deltacloud/server/lib/deltacloud/drivers/openstack/openstack_driver.rb:125:ininstances'
/home/karnath/deltacloud/server/lib/deltacloud/drivers/exceptions.rb:181:in call'
/home/karnath/deltacloud/server/lib/deltacloud/drivers/exceptions.rb:181:insafely'
/home/karnath/deltacloud/server/lib/deltacloud/drivers/openstack/openstack_driver.rb:120:in instances'
/home/karnath/deltacloud/server/lib/deltacloud/helpers/deltacloud_helper.rb:60:insend'
/home/karnath/deltacloud/server/lib/deltacloud/helpers/deltacloud_helper.rb:60:in filter_all'
/usr/lib/ruby/1.8/benchmark.rb:293:inmeasure'
/home/karnath/deltacloud/server/lib/deltacloud/helpers/deltacloud_helper.rb:59:in filter_all'
/home/karnath/deltacloud/server/lib/deltacloud/helpers/rabbit_helper.rb:22:instandard_index_operation'
[...]

I'm not too concerned with supporting cactus at this point, especially with the upcoming release of Folsom. However some digging around tells me the response from cactus does things like 'imageId' and 'flavorId' vs 'image' and 'flavor' when querying /servers. I've tried to accomodate these but in general your mileage may vary when using this gem against cactus.

Thanks for all your help with this testing - I'd be grateful if you'd report any issues you come across once the new 1.0.4 gem is out (hopefully some point today).

marios

ghost commented 12 years ago

Hi Marios

thank you for releasing a new version. Everything is fine now with essex (trystack) and diablo (hpcloud). Regarding cactus I will evaluate your changes against my own environment very soon and let you know about the result.

Christian