If I remember correctly, the compute template options will be converted to nova template options, but you might have to update the code that does that. If you are using compute, you will have to add support for the new option in both. If you are just using openstack-nova, you will only have to change openstack-nova.
I would also recommend you try this against 1.9.x ________________________________________ From: Martin Eppel (meppel) <mep...@cisco.com> Sent: Monday, August 3, 2015 6:54 PM To: user@jclouds.apache.org Subject: RE: openstack affinity / antiaffinity in jcouds Another question, to support the server-groups in the interim I am also looking into the temporary solution of creating the server-groups through the nova client (outside jclouds) and pass the server-group uuid as parameter to the ComputeService API as part of the nova boot: 1. create the server-groups using nova client (or client outside jclouds) ... nova server-group-create ... 2. pass the affinity filter as part of the create API (group=<uuid>) - jcloud ComputeService.createNodesInGroup ... E.g: { "server": { "name": "new-server-test", "imageRef": "http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b", "flavorRef": "http://openstack.example.com/openstack/flavors/1" }, "os:scheduler_hints ": { "group": "<group_id>" } } To add the extra parameter to the jcloud compute api is there an example I can compare with to implement it - at the moment it looks to me that it is just a matter of extending the TemplateOptions ? Thanks Martin Btw, I am basing my (temporary) changes on jclouds 1.8.1 -----Original Message----- From: Zack Shoylev [mailto:zack.shoy...@rackspace.com] Sent: Monday, August 03, 2015 3:50 AM To: user@jclouds.apache.org Subject: Re: openstack affinity / antiaffinity in jcouds We already have quite a few nova extensions implemented. The Instance Group Api Extension will be implemented as just another extension. I have added a JIRA here: https://issues.apache.org/jira/browse/JCLOUDS-980 The other nova extensions, as linked before, are here: https://github.com/jclouds/jclouds/tree/master/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/extensions It makes sense to implement the extension to be consistent with other extensions. The only different thing I would recommend would be using autovalue with builders for the domain classes and mock tests for the tests. Nova will have to be refactored to use these eventually anyways. -Zack ________________________________________ From: Martin Eppel (meppel) <mep...@cisco.com> Sent: Sunday, August 2, 2015 8:06 PM To: user@jclouds.apache.org Subject: RE: openstack affinity / antiaffinity in jcouds Hi, After digging somewhat deeper I realize, in order to support affinity / anti-affinity in openstack I would have to implement (as you are already pointed out) the "Compute API v2 extensions" API (or at least portions of it). Do you have recommendations on how do this, how would this implementation coexist with "Compute API v2" or would it simply replace it or does it require just to extend the current implementation (I don't have yet a complete picture on how jclouds works) ? Would I have to worry about backward compatibility between "Compute API v2 extensions" API and "Compute API v2 " API (the API's seem to overlap) ? Thanks Martin (my apologies for any redundant or novice questions) -----Original Message----- From: Martin Eppel (meppel) Sent: Friday, July 31, 2015 10:21 PM To: user@jclouds.apache.org Subject: RE: openstack affinity / antiaffinity in jcouds Hi, I was looking at the references below but I am still wondering, if I just want to support extra parameter(s) (e.g server-groups) in the nova boot command (corresponding RestAPI) how would I go about it - is it a matter of having to extend and implement new classes (any examples of similar options I could reference ?) or would it be as simple as to add / pass a new property to the ComputeService API (which invokes the boot) ? Thanks Martin -----Original Message----- From: Martin Eppel (meppel) Sent: Friday, July 31, 2015 10:18 AM To: user@jclouds.apache.org Subject: RE: openstack affinity / antiaffinity in jcouds Thanks for the pointers, I'll take a look Regards Martin -----Original Message----- From: Zack Shoylev [mailto:zack.shoy...@rackspace.com] Sent: Thursday, July 30, 2015 7:51 AM To: user@jclouds.apache.org Subject: Re: openstack affinity / antiaffinity in jcouds I think you are referring to the instance group api extension. https://wiki.openstack.org/wiki/InstanceGroupApiExtension As far as I know, this extension is not supported in jclouds right now. If it helps, the extensions supported for nova in master are here: https://github.com/jclouds/jclouds/tree/master/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/extensions ________________________________________ From: Martin Eppel (meppel) <mep...@cisco.com> Sent: Wednesday, July 29, 2015 7:26 PM To: user@jclouds.apache.org Subject: openstack affinity / antiaffinity in jcouds Hi, I had a question if jclouds currently supports the affinity / anti-affinity concept (and more specifically for openstack) where VMs get deployed either co-located on the same compute host or not. In openstack, affinity / anti-affinity is supported through server-groups, does jcloud support any of the following (openstack specific) nova commands : server-group-create Create a new server group with the specified server-group-delete Delete specific server group(s). server-group-get Get a specific server group. server-group-list Print a list of all server groups. Secondly, does it support the option in the nova boot command to apply the affinity / anti-affinity configuration, for example: nova boot --image "image1" --hint group=<group-UUID> ...... If there is a documentation which spells out the support please point me to it Thanks Martin Eppel