Hi Imesh,

I am modifying topology to include multiple private/public IPs. So now
member object is having a list of private IPs and a list of public IPs.
Which public IP LB should use? Can we get the first IP as default for
routing?

Thanks.

On Thu, Nov 20, 2014 at 1:05 AM, Rajkumar Rajaratnam <rajkum...@wso2.com>
wrote:

>
>
> On Thu, Nov 20, 2014 at 12:52 AM, Jeffrey Nguyen (jeffrngu) <
> jeffr...@cisco.com> wrote:
>
>>
>>  I think it's probably less confusing if we use the terms "private IP"
>> and "fixed private IP" (or "predefined private IP").
>>
>
> Yes. We will use the words *private IP*, *fixed private IP*, *floating IP*
> and *fixed floating IP*.
>
> Thanks Jeffrey for pointing this out.
>
> Thanks.
>
>
>>
>>  -Jeffrey
>>
>>   From: Rajkumar Rajaratnam <rajkum...@wso2.com>
>> Date: Wednesday, November 19, 2014 11:58 AM
>> To: "dev@stratos.apache.org" <dev@stratos.apache.org>
>> Cc: jeffrngu <jeffr...@cisco.com>, "Matt Turner (matttur)" <
>> matt...@cisco.com>
>> Subject: Re: Assigning floating IPs to any interfaces of our choice
>>
>>
>>
>> On Wed, Nov 19, 2014 at 7:01 PM, Rajkumar Rajaratnam <rajkum...@wso2.com>
>> wrote:
>>
>>>    Hi all,
>>>
>>>  I have implemented this feature and it is fully functional now. I had
>>> to upgrade Jclouds version to 1.8.1 in order to implement it using neutron
>>> networking API.
>>>
>>>  Let me explain how it works now. I will past network interfaces section
>>> of cartridge definition and explain each features implemented here.
>>>
>>>  "networkInterfaces":[
>>>     {
>>>         "name":"eth0",
>>>         "networkUuid":"512e1f54-1e85-4dac-b2e6-f0b30fc552cf",
>>>         "floatingNetworks":[
>>>             {
>>>                 "name":"externalOne",
>>>                 "networkUuid":"ba667f72-7ba8-4b24-b360-b74a0211c83c"
>>>             }
>>>         ]
>>>     },
>>>
>>> // eth0 will get a fixed IP and a floating IP from floating network 
>>> externalOne
>>>
>>>    Please don't confuse with word "fixed IP" here. It doesn't mean
>> "predefined fixed IP". Each port has at least a fixed IP. From port's point
>> of view, it is a "fixed IP" of the port. That's why I used the word fixed
>> IP.
>>
>>>        {
>>>         "name":"eth1",
>>>         "networkUuid":"68aab21d-fc9a-4c2f-8d15-b1e41f6f7bb8"
>>>     },
>>>
>>> // eth1 will get a fixed IP
>>>
>>>     {
>>>         "name":"eth2",
>>>         "networkUuid":"b55f009a-1cc6-4b17-924f-4ae0ee18db5e",
>>>         "floatingNetworks":[
>>>             {
>>>                 "name":"externalThree",
>>>                 "floatingIP" : "192.168.17.227"
>>>             }
>>>         ]
>>>     },
>>>
>>> // eth2 will get a fixed IP and a predefined floating IP 192.168.17.227
>>>
>>> // if predefined IP is not available, an exception will be thrown
>>>
>>>     {
>>>         "name":"eth3",
>>>         "networkUuid":"d343d343-1cc6-4b17-924f-4ae0ee18db5e",
>>>         "floatingNetworks":[
>>>             {
>>>                 "name":"externalThree",
>>>                 "networkUuid":"ba667f72-7ba8-4b24-b360-b74a0211c83c",
>>>                 "floatingIP" : "192.168.17.227"
>>>             }
>>>         ]
>>>     },
>>>
>>> // eth3 will get a fixed IP and a floating IP from the floating network 
>>> externalThree
>>>
>>> // point here is that we are giving priority to networkUuid to floatingIP
>>>
>>>     {
>>>         "name":"eth4",
>>>         "portUuid":"d343d343-1cc6-4b17-924f-4ae0ee18db5e",
>>>         "fixedIp":"10.5.62.3",
>>>         "floatingNetworks":[
>>>             {
>>>                 "name":"external",
>>>                 "networkUuid":"ba667f72-7ba8-4b24-b360-b74a0211c83c",
>>>                 "floatingIP" : "192.168.17.227"
>>>             }
>>>         ]
>>>     },
>>>
>>> // eth4 will get a predefined private IP 10.5.62.3 and a floating IP from 
>>> network external
>>>
>>>     {
>>>         "name":"eth5",
>>>         "networkUuid":"d343d343-1cc6-4b17-924f-4ae0ee18db5e",
>>>         "floatingNetworks":[
>>>             {
>>>                 "name":"externalOne",
>>>                 "networkUuid":"ba667f72-7ba8-4b24-b360-b74a0211c83c",
>>>                 "floatingIP" : "192.168.17.227"
>>>             },
>>>             {
>>>                 "name":"externalTwo",
>>>                 "networkUuid":"sddsdsd-7ba8-4b24-b360-b74a0211c83c",
>>>             }
>>>         ]
>>>     }
>>>
>>> // eth5 will get a fixed IP and a predefined floating IP 192.168.17.227
>>>
>>> // and a floating IP from the floating network externalTwo as well
>>>
>>> // I couldn't test whether it is supported by openstack
>>>
>>> // if openstack supports this, you can also achieve it in stratos
>>>
>>> ]
>>>
>>>
>>>  Please have look at the comments given in each network interfaces
>>> definition.
>>>
>>>  And if you define multiple network interfaces and floating networks, if
>>> even one IP allocation goes wrong, I am throwing exception and kill the
>>> instance.
>>>
>>>  Having this implemented, now I am in the process of doing changes to
>>> some topology events to incorporate multiple private/public IP addresses.
>>>
>>>  Please feel free to share your concerns.
>>>
>>>  Thanks.
>>>
>>> On Fri, Nov 14, 2014 at 7:14 PM, Rajkumar Rajaratnam <rajkum...@wso2.com
>>> > wrote:
>>>
>>>>  Update;
>>>>
>>>>
>>>> On Fri, Nov 14, 2014 at 3:44 PM, Rajkumar Rajaratnam <
>>>> rajkum...@wso2.com> wrote:
>>>>
>>>>>  Update;
>>>>>
>>>>> Currently facing an issue with upstream openstack-neutron-1.8.1.jar.
>>>>>
>>>>> When I see the MANIFEST.MF file of openstack-neutron-1.8.1.jar, it
>>>>> contains ${jclouds.version} in lot of places instead of actual version. 
>>>>> Due
>>>>> to this carbon feature installation is failing. Because it is processing
>>>>> MANIFEST.MF and throwing number format exception.
>>>>>
>>>>>  I conveyed this in user@jclouds. For workaround, I am going to
>>>>> manually put the jar into /repository/components/lib and continue the work
>>>>> until it is sorted out in upstream.
>>>>>
>>>>
>>>>  This is a bug. One sent a PR to solve it
>>>>
>>>>  Thanks.
>>>>
>>>>>
>>>>>  Thanks.
>>>>>
>>>>> On Wed, Nov 12, 2014 at 4:48 PM, Rajkumar Rajaratnam <
>>>>> rajkum...@wso2.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Nov 12, 2014 at 4:37 PM, Udara Liyanage <ud...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Raj,
>>>>>>>
>>>>>>>  No I did not try since there were no multiple public networks
>>>>>>> available.
>>>>>>>
>>>>>>
>>>>>>  Okay Udara. I am setting up a second external network now. Will run
>>>>>> a test soon.
>>>>>>
>>>>>>  Thanks.
>>>>>>
>>>>>>>
>>>>>>> On Wed, Nov 12, 2014 at 2:59 PM, Rajkumar Rajaratnam <
>>>>>>> rajkum...@wso2.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Nov 12, 2014 at 2:52 PM, Udara Liyanage <ud...@wso2.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Raj,
>>>>>>>>>
>>>>>>>>>  If I remember correctly, we can't assign folating ip to the same
>>>>>>>>> port multiple times even I try with Openstack UI.
>>>>>>>>>
>>>>>>>>
>>>>>>>>  Horizon UI doesn't support most of the operations. Yes we can't
>>>>>>>> assign multiple floating IPs from the same external network to the same
>>>>>>>> port. But I guess, we can assign multiple floating IPs from different
>>>>>>>> external network to the same port. Did you try this scenario?
>>>>>>>>
>>>>>>>>  Thanks.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Nov 12, 2014 at 2:47 PM, Rajkumar Rajaratnam <
>>>>>>>>> rajkum...@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Devs,
>>>>>>>>>>
>>>>>>>>>>  I am working on $Subject. Please find the relevant JIRA at [1]
>>>>>>>>>>
>>>>>>>>>>  Currently Stratos will assign a floating IP to eth0 if
>>>>>>>>>> *autoAssignIp* property is set to false in cartridge definition.
>>>>>>>>>> AFAIU, stratos is using jclouds API to query the available floating 
>>>>>>>>>> IPs,
>>>>>>>>>> choose one and assign it to the instance. Correct me if this is not 
>>>>>>>>>> the
>>>>>>>>>> case.
>>>>>>>>>>
>>>>>>>>>>  In order to support $Subject, I am proposing the cartridge
>>>>>>>>>> definition as below;
>>>>>>>>>>
>>>>>>>>>>    {    "type":"mysql",   "provider":"data",   "host":"
>>>>>>>>>> apachestratos.org",   "displayName":"MySQL",   "description":"MySQL
>>>>>>>>>> Cartridge",   "version":"5.5",   "multiTenant":"false",   "
>>>>>>>>>> portMapping":[    {    "protocol":"http",   "port":"80",   "
>>>>>>>>>> proxyPort":"8280"   }   ],   "deployment":{       },   "
>>>>>>>>>> iaasProvider":[    {    "type":"openstack",   "imageId":"
>>>>>>>>>> RegionOne/1cd412c1-54ce-405f-9894-ce1387073c6c",   "
>>>>>>>>>> networkInterfaces":[    {    "name":"netOne",   "networkUuid":"
>>>>>>>>>> 84d52a6d-a9e5-472a-9935-a0e195fe5b4a",   "fixedIp":"10.0.1.4"
>>>>>>>>>> },   {    "name":"netTwo",   "networkUuid":"
>>>>>>>>>> 512e1f54-1e85-4dac-b2e6-f0b30fc552cf",   "publicNetworkUuids":[
>>>>>>>>>> {   "name":"externalOne",   "networkUuid":"
>>>>>>>>>> 8f08a69d-cb46-43c9-9ebe-b89dcc78dacc",   },   {   "name":"
>>>>>>>>>> externalTwo",   "networkUuid":"
>>>>>>>>>> b5504321-e7aa-4500-9e00-7bc1b10cb5e9",   }   ]   },   {    "name"
>>>>>>>>>> :"netThree",   "networkUuid":"
>>>>>>>>>> b55f009a-1cc6-4b17-924f-4ae0ee18db5e",   "publicNetworkUuids":[
>>>>>>>>>> {   "name":"externalThree",   "networkUuid":"
>>>>>>>>>> 83d52a6d-a9e5-572a-9935-a0e195fe5b4r",   }   ]   }   ],   "
>>>>>>>>>> maxInstanceLimit":"4",   "property":[    {    "name":"
>>>>>>>>>> instanceType",   "value":"RegionOne/4"   },   {    "name":"
>>>>>>>>>> keyPair",   "value":"raj"   },   {    "name":"autoAssignIp",   "
>>>>>>>>>> value":"false"   }   ]   }   ],   "loadBalancer":{    "type":"lb"
>>>>>>>>>> ,   "property":{    "name":"no.load.balancer",   "value":"true"
>>>>>>>>>> }   }   }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  So, I have introduced some additional elements here in networks
>>>>>>>>>> section. publicNetworkUuids will hold one or many external network 
>>>>>>>>>> UUIDs
>>>>>>>>>> from where you want to select one IP and assign it the corresponding
>>>>>>>>>> interface. Let list me three behaviors, as of now, I have identified.
>>>>>>>>>>
>>>>>>>>>>    1. If *autoAssignIp* property is *true*, stratos will not do
>>>>>>>>>>    anything regarding floating IPs when creating instances for this 
>>>>>>>>>> cartridge.
>>>>>>>>>>    But openstack will assign a floating IP to the instance.
>>>>>>>>>>    2. If *autoAssignIp* property is *false*, and you *don't *specify
>>>>>>>>>>    any publicNetworkUuids for any interface, then stratos will 
>>>>>>>>>> assign a
>>>>>>>>>>    floating IP to the 1st interface
>>>>>>>>>>    3. If *autoAssignIp* property is *false*, and you
>>>>>>>>>>    specify publicNetworkUuids, then stratos will assign floating IPs 
>>>>>>>>>> per
>>>>>>>>>>    interfaces for which you specified publicNetworkUuids. If you 
>>>>>>>>>> specify
>>>>>>>>>>    two publicNetworkUuids for an interface, it will assign two 
>>>>>>>>>> floating IPs to
>>>>>>>>>>    that interface and so on.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  However, I tried to assign two floating IP addresses to an
>>>>>>>>>> interface which resulted in the following error.
>>>>>>>>>>
>>>>>>>>>>  *Error: *409-{u'NeutronError': {u'message': u'Cannot associate
>>>>>>>>>> floating IP 192.168.17.96 (5691eb81-3153-4ee1-b9d0-31fc84516b03) 
>>>>>>>>>> with port
>>>>>>>>>> 7e9416ce-5077-44c4-97db-b4b14c10dfc9 using fixed IP 10.0.0.167, as 
>>>>>>>>>> that
>>>>>>>>>> fixed IP already has a floating IP on external network
>>>>>>>>>> ba667f72-7ba8-4b24-b360-b74a0211c83c.', u'type':
>>>>>>>>>> u'FloatingIPPortAlreadyAssociated', u'detail': u''}}
>>>>>>>>>>
>>>>>>>>>>  I guess we can't assign multiple floating IPs to the same
>>>>>>>>>> interface from same network. We would be able to assign multiple 
>>>>>>>>>> floating
>>>>>>>>>> IPs to the same interface from multiple networks. Since I am having 
>>>>>>>>>> only
>>>>>>>>>> one external network, I couldn't test this. Any idea?
>>>>>>>>>>
>>>>>>>>>>  Feel free to share your thoughts.
>>>>>>>>>>
>>>>>>>>>>  1. https://issues.apache.org/jira/browse/STRATOS-698
>>>>>>>>>>
>>>>>>>>>>  Thanks.
>>>>>>>>>>
>>>>>>>>>>  --
>>>>>>>>>>     Raj
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>   --
>>>>>>>>>
>>>>>>>>> Udara Liyanage
>>>>>>>>> Software Engineer
>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>> lean. enterprise. middleware
>>>>>>>>>
>>>>>>>>>  web: http://udaraliyanage.wordpress.com
>>>>>>>>>  phone: +94 71 443 6897
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>>>     Raj
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>>
>>>>>>> Udara Liyanage
>>>>>>> Software Engineer
>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>> lean. enterprise. middleware
>>>>>>>
>>>>>>>  web: http://udaraliyanage.wordpress.com
>>>>>>>  phone: +94 71 443 6897
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>  --
>>>>>>     Raj
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>  --
>>>>>     Raj
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>     Raj
>>>>
>>>
>>>
>>>
>>>  --
>>>      Rajkumar Rajaratnam
>>>  Committer & PMC Member, Apache Stratos
>>>  Software Engineer, WSO2
>>>
>>
>>
>>
>> --
>>      Rajkumar Rajaratnam
>>  Committer & PMC Member, Apache Stratos
>>  Software Engineer, WSO2
>>
>
>
>
> --
> Rajkumar Rajaratnam
> Committer & PMC Member, Apache Stratos
> Software Engineer, WSO2
>



-- 
Rajkumar Rajaratnam
Committer & PMC Member, Apache Stratos
Software Engineer, WSO2

Reply via email to