You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@libcloud.apache.org by Patrick Galbraith <pa...@patg.net> on 2014/02/24 22:17:14 UTC
[dev] HP Libcloud driver (inheriting from Openstack driver) proposal/idea
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'
OpenStack = get_driver(Provider.OPENSTACK)
driver = OpenStack(‘foo@hp.com', ‘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=‘foo@hp.com-tenant1',
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
Re: [dev] HP Libcloud driver (inheriting from Openstack driver) proposal/idea
Posted by Tomaz Muraus <to...@apache.org>.
Just a quick heads up - Libcloud trunk now contains a native driver
for HP Public Cloud -
https://libcloud.readthedocs.org/en/latest/compute/drivers/hpcloud.html
On Thu, Feb 27, 2014 at 12:02 PM, Tomaz Muraus <to...@apache.org> wrote:
> Yeah, what Markos said. It would be great to have this in trunk and it
> should be relatively easy to add it.
>
> The link Markos posted looks like a good start, but you can see it's old and
> out of date.
>
> The whole thing can be simplified a lot and implement in substantially less
> lines of code today - key pair extension methods can be removed, "region"
> argument should be used, etc.
>
> If you need any help, let us know.
>
>
> On Wed, Feb 26, 2014 at 7:29 PM, Markos Gogoulos <mg...@mist.io> wrote:
>>
>>
>>
>> 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('foo@hp.com', '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='foo@hp.com-tenant1',
>> >
>> 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
>
>
Re: [dev] HP Libcloud driver (inheriting from Openstack driver) proposal/idea
Posted by Tomaz Muraus <to...@apache.org>.
Yeah, what Markos said. It would be great to have this in trunk and it
should be relatively easy to add it.
The link Markos posted looks like a good start, but you can see it's old
and out of date.
The whole thing can be simplified a lot and implement in substantially less
lines of code today - key pair extension methods can be removed, "region"
argument should be used, etc.
If you need any help, let us know.
On Wed, Feb 26, 2014 at 7:29 PM, Markos Gogoulos <mg...@mist.io> wrote:
>
>
> 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('foo@hp.com', '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='foo@hp.com-tenant1',
> >
> 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
>
Re: [dev] HP Libcloud driver (inheriting from Openstack driver)
proposal/idea
Posted by Markos Gogoulos <mg...@mist.io>.
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('foo@hp.com', '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='foo@hp.com-tenant1',
>
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