Multiple network interfaces support[1] now available in master branch.

1. https://issues.apache.org/jira/browse/STRATOS-698

Thanks.

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

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



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

Reply via email to