In the current code base also, we are considering the first private IP of
the member in LB.

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

> 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
>



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

Reply via email to