Hi, I'm currently working on the Stratos enhancement to support assignment of fixed private IP addresses and ports to a cartridge (STRATOS-507). I'm planning to submit a pull request for this JIRA some time next week. STRATOS-507 depends on a jClouds enhancement (JCLOUDS-493), which is available on jClouds 1.7.x branch. I understand Stratos 4.0.0 Alpha currently using jClouds 1.7.1.
What's the process to get JCLOUDS-493 into Stratos 4.0.0 Alpha? Do we need to wait for the next release of jClouds 1.7.1? Without this, I won't be able to submit a pull request for STRATOS-507. Thanks, -Jeffrey From: Lakmal Warusawithana <lak...@wso2.com<mailto:lak...@wso2.com>> Date: Sunday, March 2, 2014 7:55 PM To: "dev@stratos.incubator.apache.org<mailto:dev@stratos.incubator.apache.org>" <dev@stratos.incubator.apache.org<mailto:dev@stratos.incubator.apache.org>> Cc: Nirmal Fernando <nirmal070...@gmail.com<mailto:nirmal070...@gmail.com>>, "Vanson Lim (vlim)" <v...@cisco.com<mailto:v...@cisco.com>>, jeffrngu <jeffr...@cisco.com<mailto:jeffr...@cisco.com>>, "Subbu Sundararajan (subbus)" <sub...@cisco.com<mailto:sub...@cisco.com>> Subject: Re: [Discuss] Some network related improvements for Stratos Hi Martin, You can create a JIRA [1] for propose improvement/bug fixing. And when you are ready you can submit a patch (attached patch to the relevant JIRA). You can find the process of submitting a patch here [2]. Then commiters will review the patch and applied to relevant repository. [1]https://issues.apache.org/jira/browse/STRATOS [2]https://cwiki.apache.org/confluence/display/STRATOS/Contributing+as+a+Non-Committer I hope this will help you guys. Please let us know further help need. thanks On Mon, Mar 3, 2014 at 8:06 AM, Martin Eppel (meppel) <mep...@cisco.com<mailto:mep...@cisco.com>> wrote: Thanks’ Nirmal for the pointers – once the code is ready is there a process to get it submitted and checked in into the GitHub (review, etc, …) ? Thanks Martin From: Nirmal Fernando [mailto:nirmal070...@gmail.com<mailto:nirmal070...@gmail.com>] Sent: Friday, February 28, 2014 7:46 PM To: Martin Eppel (meppel) Cc: dev@stratos.incubator.apache.org<mailto:dev@stratos.incubator.apache.org>; Vanson Lim (vlim); Jeffrey Nguyen (jeffrngu); Subbu Sundararajan (subbus) Subject: Re: [Discuss] Some network related improvements for Stratos Hi Martin, On Sat, Mar 1, 2014 at 12:26 AM, Martin Eppel (meppel) <mep...@cisco.com<mailto:mep...@cisco.com>> wrote: Hi Nirmal, We’d like to propose an enhancement to the current apache stratos cloud controller to allow the assignment of predefined floating ip when creating a new instance. Instead of auto assigning the floating ip address from the pool (autoAssignIp “false” in cartridgeDefinitionBean:iaasProvider, see example below), the ip address would be predefined in the cartridge definition as an additional property (see example below with property “floatingIp”, ) and if available in the floating ip pool, assigned to the instance when it is created. If the floating ip is unavailable, an exception will be thrown and the instance will be destroyed. As for now it would be sufficient to add this enhancement for the OpenStack provider. Let me know what you think, and since going forward we would like to contribute to apache stratos I’d like to use this as an opportunity to get my feet wet and contribute the necessary changes. Can you please advise on the process and proper steps to propose and add an enhancement like this to the project ? Thanks for the explanation. Currently, at line [1], we are calling IaaS's autoAssignIp method and ask the IaaS to assign an IP to the instance. Similarly, I think you should define a new API operation at [2] and implement that in each of the IaaS providers. If you look at the OpenstackNovaIaas implementation [3], you could see that we call the FloatingIpApi and assign an IP to an instance. In order to get the FloatingIpApi please have a look at line [4]. Now similarly, if you can just add a new operation which takes an IP as an argument and the assign that IP to the instance, that'll do for you. Of course, you need to call this method from [1], once you've implemented it. Please make sure that this addition would not break other IaaS providers. Hope this helps! [1] https://git-wip-us.apache.org/repos/asf?p=incubator-stratos.git;a=blob;f=components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java;h=1d773d0968c9916720c61fee0ca9fa6d9b3f9a52;hb=HEAD#l559 [2] https://git-wip-us.apache.org/repos/asf?p=incubator-stratos.git;a=blob;f=components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java;h=f45d32e10b0306a9b171ff467bdbaf8668d7035d;hb=HEAD [3] https://git-wip-us.apache.org/repos/asf?p=incubator-stratos.git;a=blob;f=components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java;h=d0f50e967fd9de6ed647d4e1f83e3e45e06fdc4e;hb=HEAD#l314 [4] https://git-wip-us.apache.org/repos/asf?p=incubator-stratos.git;a=blob;f=components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java;h=d0f50e967fd9de6ed647d4e1f83e3e45e06fdc4e;hb=HEAD#l219 Thanks Martin Sample Cartridge definition: … "iaasProvider": [ { "type": "openstack", "imageId": "RegionOne/${IMAGE_ID}", "maxInstanceLimit": "4", "property": [ { "name": "instanceType", "value": "RegionOne/${FLAVOR_ID}" }, { "name": "keyPair", "value": "${KEY}" }, { "name": "autoAssignIp", "value": "false” }, { "name": "floatingIp", "value": "10.10.10.10” }, { "name": "securityGroups", "value": "default" }, { "name": "networkInterfaces", "value": “net1,net2,net3” } ] } ], … - -- Best Regards, Nirmal Nirmal Fernando. PPMC Member & Committer of Apache Stratos, Senior Software Engineer, WSO2 Inc. Blog: http://nirmalfdo.blogspot.com/ -- Lakmal Warusawithana Software Architect; WSO2 Inc. Mobile : +94714289692 Blog : http://lakmalsview.blogspot.com/