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

Reply via email to