[Openstack] transfer of IP address between ports

공용준 sstrato.kong at gmail.com
Thu Aug 24 15:36:55 UTC 2017

Check the inline answer. 

> 2017. 8. 24. 오후 1:42, Volodymyr Litovka <doka.ua at gmx.com> 작성:
> Hi Andrew,
> please, see inline.
> On 8/23/17 5:47 PM, 공용준 wrote:
>> Hi Volodymyr
>> From my understanding, Do you need to maintain same IP address between port(and Mac will be changed)?
>> If that, it will be hard because there’s some cool down time(something like reuse ip timeout)  in the neutron IPAM db. If my memory is right, it was ten or five sec.
> There is another scenario. It's going to be public cloud and there can be few reasons to allow customer to move pubic IP address between his VMs, e.g. he built another VM using another OS for same role and need to move this role from old VM to new VM, do not changing other infrastructure's configurations. Five or ten seconds of cool down time isn't a problem itself, since it's not for high availability
Did you consider the lbaas for this purpose? I think floating IP’s concept is good, but the implementation I think we need to rethink about this. 
and I thinks opentack’s octavia also do the job.  
>> Actually, I’m using the same kind of scenario here( same ip address to different neutron port)
>> I changed neutron db schema so it can assign same ip address to different port ( I also changed the neutron policy. only admin can use this function)
>> In this scenario, 
>> If i need to have a new port with the previous IP, 
>> I just create new port with the same IP. and I use this function to achieve the ECMP in our cloud.
> It seems it's a feasible solution to the problem. Could you, please, share your knowledge in more details? If this is kind of NDA and you can't - I will understand this :)
> It's not too hot topic for me, so, if you will be so kind as to respond to my answer, choose the convenient time for you.
   Well, about the DB, it's quite easy. just delete the unique key constraint. https://gist.github.com/sstrato/8b2c9402b6408b4b8e8992df4da16276 <https://gist.github.com/sstrato/8b2c9402b6408b4b8e8992df4da16276>. then you can create port with duplicate IP. but if you open this api to the public user it’s gonna secret threat so i changed the policy. and the last part ECMP, I develop new network model using /32bit subnet based on neutron network component. Inside of our networking model, when vm gets its ip from dhcp, it advertise the ip via dynamic networking protocol. so when you create multiple neutron port with the same ip, it means ECMP in our networking model. If you need more this will helps. https://www.openstack.org/videos/vancouver-2015/sdn-without-sdn-at-daumkakao <https://www.openstack.org/videos/vancouver-2015/sdn-without-sdn-at-daumkakao>

> Thanks!
>> Regards, 
>> Andrew
>>> 2017. 8. 23. 오후 11:30, Volodymyr Litovka <doka.ua at gmx.com <mailto:doka.ua at gmx.com>> 작성:
>>> Hi Andrew,
>>> thanks for the prompt reply.
>>> I'm using fixed ip addresses, not floating IPs. In terms of Heat it looks like there:
>>> n1-wan:
>>>   type: OS::Neutron::Port
>>>   properties:
>>>     name: n1-wan
>>>     network: e-net
>>>     fixed_ips: [ { subnet: e-subnet, ip_address: X.X.X.X } ]
>>> n1:
>>>   type: OS::Nova::Server
>>>   properties:
>>>     name: n1
>>>     networks:
>>>       - port: { get_resource: n1-wan }
>>> and there are some constraints in my installation:
>>> I can't move ports between VMs (in order to support predictable naming according to port roles, their MAC addresses are stored in udev rules inside VM and if I will change port, rules/roles will fail)
>>> I don't want to use floating ip due to possible performance degradation when using massive NAT
>>> Another idea I have is to move ports between VMs, changing their MACs accordingly and will try it if no other ways will be found :)
>>> Thanks again.
>>> On 8/23/17 5:17 PM, 공용준 wrote:
>>>> Hi
>>>> You can use fixed ip port for this. 
>>>> create neutron port and attach it to the one vm. 
>>>> or 
>>>> you can use floating ip for this purpose as well 
>>>> Regards, 
>>>> Andrew
>>>>> 2017. 8. 23. 오후 10:58, Volodymyr Litovka <doka.ua at gmx.com <mailto:doka.ua at gmx.com>> 작성:
>>>>> Hi colleagues,
>>>>> imagine, somebody (e.g. me :-) ) needs to transfer IP address between two ports. The straight way is: release IP address and then assign it to another port.
>>>>> The possible problem with this way is time between release and assignment - during this time, this IP address is in DHCP pool and can be automatically assigned to some another port upon request.
>>>>> Any ideas how to prevent leasing this IP address during this time?
>>>>> Thank you.
>>>>> -- 
>>>>> Volodymyr Litovka
>>>>>   "Vision without Execution is Hallucination." -- Thomas Edison
>>>>> _______________________________________________
>>>>> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>
>>>>> Post to     : openstack at lists.openstack.org <mailto:openstack at lists.openstack.org>
>>>>> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>
>>> -- 
>>> Volodymyr Litovka
>>>   "Vision without Execution is Hallucination." -- Thomas Edison
> -- 
> Volodymyr Litovka
>   "Vision without Execution is Hallucination." -- Thomas Edison

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20170825/2a13e42b/attachment.html>

More information about the Openstack mailing list