Hi Raj, If I remember correctly, we can't assign folating ip to the same port multiple times even I try with Openstack UI.
On Wed, Nov 12, 2014 at 2:47 PM, Rajkumar Rajaratnam <[email protected]> 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
