You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jclouds.apache.org by Bk Lau <bk...@gmail.com> on 2013/09/26 22:35:06 UTC

How to bind and work with OpenStack extensions

Hi:

Assuming that I have an OpenStack extension, for say,
ServerAPI, my question is  do JCloud have some standard  classes/utilities
way to allow me to bind to it and start using it or do I have to write my
own JSON calls??.

Sample code would be nice :)

Thanks,
BK

RE: How to bind and work with OpenStack extensions

Posted by Zack Shoylev <za...@RACKSPACE.COM>.
Hi again!
I am not aware of a guide on how to make a new nova extension, but I will look around. We have a number of extensions which you could use as examples to develop your own extension. If you have questions about implementing it, you can also ask them in the #jclouds channel on IRC (a bit faster for less complex questions). I will let you know if I find some more information about implementing new extensions.
________________________________
From: Bk Lau [bklau2006@gmail.com]
Sent: Monday, September 30, 2013 7:30 PM
To: user@jclouds.incubator.apache.org
Subject: Re: How to bind and work with OpenStack extensions

Zack:

You said "It seems to me you might be using getExtensionApiForZone to get a list of the extensions and then use one of these extensions?"
Yes, you got it right. I use this to get one of the extension that I want that is implemented by a provider.
The extension gives an 'alias' which is typically then use construct a URL and then create a domain class to represent that extension.
My original question is :
" Does JCloud have any helper classes to allow me to  create one of these domain API classes or do I have to wrap my own?".
Specifically, if I am a vendor and I want to write a vendor-specific extension JCloud domain API class(for example, SecurityGroupApi) surely JCloud must have a prescribed way to allow a vendor to write such a a domain API object associated with that extension so that everyone conforms to the same pattern.

Thanks,

/BK



On Mon, Sep 30, 2013 at 4:50 PM, Zack Shoylev <za...@rackspace.com>> wrote:
Do you mean already implemented extensions, such as the security group extension? I have an example for it here:
https://gist.github.com/zack-shoylev/6517903

Or do you need to implement your own extension?

It seems to me you might be using getExtensionApiForZone to get a list of the extensions and then use one of these extensions? Is it possible to follow the example above to get the specific extension you want?
________________________________
From: Bk Lau [bklau2006@gmail.com<ma...@gmail.com>]
Sent: Monday, September 30, 2013 3:27 PM
To: user@jclouds.incubator.apache.org<ma...@jclouds.incubator.apache.org>
Subject: Re: How to bind and work with OpenStack extensions

Zack:

Thanks. Those examples shows the specific nova extensions that OpenStack happened to support.
What if an openstack implementation have an specific extension  and how do I bind to it and  use it?.
For example, in nova we have:
ExtensionApi extApi=novaApi.getExtensionApiForZone("....");
Set<? extends Extension> exts=extApi.list();

Extension ext1=....;
String alias1=ext1.getAlias();
Q: How do I construct an extension domain class from that "alias1"?.
Is there any helper classes or boilerplate code that one could use?.
I just want to make sure that I don't reinvent the wheel.

Thanks,
BK


On Mon, Sep 30, 2013 at 2:48 PM, Zack Shoylev <za...@rackspace.com>> wrote:
The openstack server api is called nova. You can use nova to talk to an openstack nova service.

Some sample code I used recently (nova-based) is here:
https://gist.github.com/zack-shoylev/6542561

More here:
https://github.com/jclouds/jclouds-examples/tree/master/compute-basics
________________________________
From: Bk Lau [bklau2006@gmail.com<ma...@gmail.com>]
Sent: Thursday, September 26, 2013 3:35 PM
To: user@jclouds.incubator.apache.org<ma...@jclouds.incubator.apache.org>
Subject: How to bind and work with OpenStack extensions

Hi:

Assuming that I have an OpenStack extension, for say,
ServerAPI, my question is  do JCloud have some standard  classes/utilities way to allow me to bind to it and start using it or do I have to write my own JSON calls??.

Sample code would be nice :)

Thanks,
BK



Re: How to bind and work with OpenStack extensions

Posted by Bk Lau <bk...@gmail.com>.
Zack:

You said "It seems to me you might be using getExtensionApiForZone to get a
list of the extensions and then use one of these extensions?"
Yes, you got it right. I use this to get one of the extension that I want
that is implemented by a provider.
The extension gives an 'alias' which is typically then use construct a URL
and then create a domain class to represent that extension.
My original question is :
" Does JCloud have any helper classes to allow me to  create one of these
domain API classes or do I have to wrap my own?".
Specifically, if I am a vendor and I want to write a vendor-specific
extension JCloud domain API class(for example, SecurityGroupApi) surely
JCloud must have a prescribed way to allow a vendor to write such a a
domain API object associated with that extension so that everyone conforms
to the same pattern.

Thanks,

/BK



On Mon, Sep 30, 2013 at 4:50 PM, Zack Shoylev <za...@rackspace.com>wrote:

>  Do you mean already implemented extensions, such as the security group
> extension? I have an example for it here:
> https://gist.github.com/zack-shoylev/6517903
>
>  Or do you need to implement your own extension?
>
>  It seems to me you might be using getExtensionApiForZone to get a list
> of the extensions and then use one of these extensions? Is it possible to
> follow the example above to get the specific extension you want?
>  ------------------------------
> *From:* Bk Lau [bklau2006@gmail.com]
> *Sent:* Monday, September 30, 2013 3:27 PM
> *To:* user@jclouds.incubator.apache.org
> *Subject:* Re: How to bind and work with OpenStack extensions
>
>        Zack:
>
>  Thanks. Those examples shows the specific nova extensions that OpenStack
> happened to support.
>  What if an openstack implementation have an specific extension  and how
> do I bind to it and  use it?.
>  For example, in nova we have:
> ExtensionApi extApi=novaApi.getExtensionApiForZone("....");
>  Set<? extends Extension> exts=extApi.list();
>
>  Extension ext1=....;
>  String alias1=ext1.getAlias();
>  Q: How do I construct an extension domain class from that "alias1"?.
>  Is there any helper classes or boilerplate code that one could use?.
>  I just want to make sure that I don't reinvent the wheel.
>
>  Thanks,
>  BK
>
>
> On Mon, Sep 30, 2013 at 2:48 PM, Zack Shoylev <za...@rackspace.com>wrote:
>
>>  The openstack server api is called nova. You can use nova to talk to an
>> openstack nova service.
>>
>>  Some sample code I used recently (nova-based) is here:
>> https://gist.github.com/zack-shoylev/6542561
>>
>>  More here:
>> https://github.com/jclouds/jclouds-examples/tree/master/compute-basics
>>  ------------------------------
>> *From:* Bk Lau [bklau2006@gmail.com]
>> *Sent:* Thursday, September 26, 2013 3:35 PM
>> *To:* user@jclouds.incubator.apache.org
>> *Subject:* How to bind and work with OpenStack extensions
>>
>>      Hi:
>>
>>  Assuming that I have an OpenStack extension, for say,
>>  ServerAPI, my question is  do JCloud have some standard
>> classes/utilities way to allow me to bind to it and start using it or do I
>> have to write my own JSON calls??.
>>
>>  Sample code would be nice :)
>>
>>  Thanks,
>>  BK
>>
>
>

RE: How to bind and work with OpenStack extensions

Posted by Zack Shoylev <za...@RACKSPACE.COM>.
Do you mean already implemented extensions, such as the security group extension? I have an example for it here:
https://gist.github.com/zack-shoylev/6517903

Or do you need to implement your own extension?

It seems to me you might be using getExtensionApiForZone to get a list of the extensions and then use one of these extensions? Is it possible to follow the example above to get the specific extension you want?
________________________________
From: Bk Lau [bklau2006@gmail.com]
Sent: Monday, September 30, 2013 3:27 PM
To: user@jclouds.incubator.apache.org
Subject: Re: How to bind and work with OpenStack extensions

Zack:

Thanks. Those examples shows the specific nova extensions that OpenStack happened to support.
What if an openstack implementation have an specific extension  and how do I bind to it and  use it?.
For example, in nova we have:
ExtensionApi extApi=novaApi.getExtensionApiForZone("....");
Set<? extends Extension> exts=extApi.list();

Extension ext1=....;
String alias1=ext1.getAlias();
Q: How do I construct an extension domain class from that "alias1"?.
Is there any helper classes or boilerplate code that one could use?.
I just want to make sure that I don't reinvent the wheel.

Thanks,
BK


On Mon, Sep 30, 2013 at 2:48 PM, Zack Shoylev <za...@rackspace.com>> wrote:
The openstack server api is called nova. You can use nova to talk to an openstack nova service.

Some sample code I used recently (nova-based) is here:
https://gist.github.com/zack-shoylev/6542561

More here:
https://github.com/jclouds/jclouds-examples/tree/master/compute-basics
________________________________
From: Bk Lau [bklau2006@gmail.com<ma...@gmail.com>]
Sent: Thursday, September 26, 2013 3:35 PM
To: user@jclouds.incubator.apache.org<ma...@jclouds.incubator.apache.org>
Subject: How to bind and work with OpenStack extensions

Hi:

Assuming that I have an OpenStack extension, for say,
ServerAPI, my question is  do JCloud have some standard  classes/utilities way to allow me to bind to it and start using it or do I have to write my own JSON calls??.

Sample code would be nice :)

Thanks,
BK


Re: How to bind and work with OpenStack extensions

Posted by Bk Lau <bk...@gmail.com>.
Zack:

Thanks. Those examples shows the specific nova extensions that OpenStack
happened to support.
What if an openstack implementation have an specific extension  and how do
I bind to it and  use it?.
For example, in nova we have:
ExtensionApi extApi=novaApi.getExtensionApiForZone("....");
Set<? extends Extension> exts=extApi.list();

Extension ext1=....;
String alias1=ext1.getAlias();
Q: How do I construct an extension domain class from that "alias1"?.
Is there any helper classes or boilerplate code that one could use?.
I just want to make sure that I don't reinvent the wheel.

Thanks,
BK


On Mon, Sep 30, 2013 at 2:48 PM, Zack Shoylev <za...@rackspace.com>wrote:

>  The openstack server api is called nova. You can use nova to talk to an
> openstack nova service.
>
>  Some sample code I used recently (nova-based) is here:
> https://gist.github.com/zack-shoylev/6542561
>
>  More here:
> https://github.com/jclouds/jclouds-examples/tree/master/compute-basics
>  ------------------------------
> *From:* Bk Lau [bklau2006@gmail.com]
> *Sent:* Thursday, September 26, 2013 3:35 PM
> *To:* user@jclouds.incubator.apache.org
> *Subject:* How to bind and work with OpenStack extensions
>
>     Hi:
>
>  Assuming that I have an OpenStack extension, for say,
>  ServerAPI, my question is  do JCloud have some standard
> classes/utilities way to allow me to bind to it and start using it or do I
> have to write my own JSON calls??.
>
>  Sample code would be nice :)
>
>  Thanks,
>  BK
>

RE: How to bind and work with OpenStack extensions

Posted by Zack Shoylev <za...@RACKSPACE.COM>.
The openstack server api is called nova. You can use nova to talk to an openstack nova service.

Some sample code I used recently (nova-based) is here:
https://gist.github.com/zack-shoylev/6542561

More here:
https://github.com/jclouds/jclouds-examples/tree/master/compute-basics
________________________________
From: Bk Lau [bklau2006@gmail.com]
Sent: Thursday, September 26, 2013 3:35 PM
To: user@jclouds.incubator.apache.org
Subject: How to bind and work with OpenStack extensions

Hi:

Assuming that I have an OpenStack extension, for say,
ServerAPI, my question is  do JCloud have some standard  classes/utilities way to allow me to bind to it and start using it or do I have to write my own JSON calls??.

Sample code would be nice :)

Thanks,
BK