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/

Reply via email to