Hi Patrick,
makes sense to me and should be straightforward to add the driver, in fact I see there has been such an effort (https://github.com/chirag-jog/libcloud/commit/07bc33e888a7e3782252f2e82b40013b0d6b7f78) although not sure why it wasn't merged to trunk. I suggest you open an issue on jira so the discussion is not lost - https://issues.apache.org/jira/browse/LIBCLOUD Regards, Markos Στις 24.02.2014 23:17, Patrick Galbraith έγραψε: > Dear libcloud community, > > I have the following proposal and was curious what people on this list would think about it. > > Problem: > > Libcloud is a unified API that makes is possible to connect to a variety of cloud providers: Openstack-based, EC2, Vcloud, etc. It also supports four main APIs: compute, storage, load balancers and DNS. > > For Compute to work with an OpenStack cloud, you can use the stock Openstack provider, or in the case of Rackspace, the Rackspace compute driver which inherits from the base Openstack driver. The idea of the "driver" being another abstraction on top of the Openstack driver. Rackspace's driver also supports their old as well as the next generation Openstack compute. A good way to understand this would be comparing how one connects: observe the simplicity of the Rackspace connection: > > For Rackspace, all I need is: > > cls = get_driver(Provider.RACKSPACE) > driver = cls('user', 'key value', region='ord') > > Versus a stock OpenStack connection: > > HPCLOUD_AUTH_URL = > 'https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens [1]' > > OpenStack = get_driver(Provider.OPENSTACK) > > driver = OpenStack('[email protected]', 'redacted', > ex_force_auth_url=HPCLOUD_AUTH_URL, > ex_force_auth_version='2.0_password', > ex_force_service_region='region-b.geo-1', > ex_tenant_name='[email protected]', > ex_force_service_name='Compute') > > Obviously, it's relatively simple to use the Openstack driver, but the Rackspace driver demonstrates that it makes it a bit more convenient to connect. I found in my investigation into a problem with salt-stack and newer versions of OpenStack Nova a problem I thought originally was libcloud was in fact just difficulty in getting the connection parameters correct -- something that a subclass such as what the Rackspace driver would do for HP Cloud. > > I would envision the HP driver working such as: > > cls = get_driver(Provider.HPCLOUD) > driver = cls('user', 'password', region='ae1') > > From what I see in using libcloud, the idea is to make connecting and using a cloud provider as simple as possible and straightforward and this falls right into line with that concept. > > I propose developing this driver. It seems the work would be rather straightforward and shouldn't take more than a week of development. I wanted to get input from others on this list first. > > Thank you, > > Patrick Links: ------ [1] https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
