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:[email protected]]
Sent: Monday, August 03, 2015 3:50 AM
To: [email protected]
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) <[email protected]>
Sent: Sunday, August 2, 2015 8:06 PM
To: [email protected]
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: [email protected]
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: [email protected]
Subject: RE: openstack affinity / antiaffinity in jcouds
Thanks for the pointers, I'll take a look
Regards
Martin
-----Original Message-----
From: Zack Shoylev [mailto:[email protected]]
Sent: Thursday, July 30, 2015 7:51 AM
To: [email protected]
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) <[email protected]>
Sent: Wednesday, July 29, 2015 7:26 PM
To: [email protected]
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