[User-committee] app dev on-boarding experience report

Bonell Manjarrez, Marcela marcela.bonell.manjarrez at intel.com
Thu Jan 14 22:29:44 UTC 2016


On 1/12/16, 5:43 PM, "Stefano Maffulli" <stefano at openstack.org> wrote:


>> Lib cloud doesn’t support Neutron, pkgcloud does, etc…
>
>I'd like to clarify that apache libcloud *does* support Neutron, in its
>openstack driver... What you read in the report is the feedback that
>Rackspace helpdesk gave to Marcela, who was using the *rackspace* driver
>of libcloud... which apparently lags behind Rackspace's product (I have
>not investigated though, I may be wrong.) What I know is that libcloud
>*openstack* driver works well with defunct-HPCloud, RAX and DreamHost,
>both using neutron.
>
>That said, it is very true that some libraries/SDKs are better
>maintained than others and give better experience. For example,
>OpenStacks' own Shade sdk is *a lot* (like, thousand++ times) better
>than Apache Libcloud when it comes to OpenStack. But Shade doesn't
>support Digital Ocean or AWS or $PROVIDERn, so some developers may not
>be interested in using it.



As Stefano mentioned, now I’m testing the *openstack* driver instead of *rackspace* driver, but I’m getting the same error using networking API's:

libcloud.common.exceptions.BaseHTTPError: 404 Not Found 404 Not Found
The resource could not be found.


So, what I noticed is that even using openstack or rackspace driver, the problem is in the same file, same line, same request:

File "/usr/local/lib/python2.7/dist-packages/libcloud/compute/drivers/openstack.py", line 1769, in ex_list_security_groups
    self.connection.request('/os-security-groups').object)


As you can see the request uses '/os-security-groups' and in the RAX documentation[1] the networking requests uses '/security-groups’ that’s why libcloud fails, both drivers use the same request: self.connection.request('/os-security-groups').object)

This is the way I use to connect to RAX with the openstack driver

provider_name = Provider.OPENSTACK

provider = get_driver(provider_name)
conn = provider(auth_username, api_key,
	ex_force_auth_url='https://identity.api.rackspacecloud.com/v2.0/tokens',
	ex_force_auth_version='2.0_apikey',
	ex_force_service_name='cloudServersOpenStack',
	ex_force_service_region=region_name)



Suggestions?


[1] https://pitchfork.cloudapi.co/networks/#list_security_groups-networks 


Marcela Bonell




More information about the User-committee mailing list