INADDR_ANY mode for udpu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Speaking with Angus who spoke with Andrew about the problem of getting Corosync to run inside cloud guests, specially OpenStack, spawned this conversation...

Currently the problem is that with UDPU mode and a bindnetaddr set, the interface binding code first searches for the ip address, then once found, determines the interface which that ip address is connected to.

This would work great if cloud guests had static ip addresses which they are assigned, but in most cases this is not the case. IP addresses are assigned dynamically from an address pool. This means on restart, without detailed knowledge of the cloud deployment, it is not possible to set a bindnetaddr up that works consistently. Further complicating matters is that the target node list IP addresses change in the non-floating-ip model.

One simple solution is to use the following config model:
1. obtain a floating ip address from OpenStack
2. configure the guest vms with the floating IPs
3. hold floating IP for lifetime of application

The way floating IPs work (atleast in OpenStack) is that they create iptables on the host to represent the ip address. As a result, using floating IPs with the current totemip behavior doesn't solve the problem because totemip will still desire to bind to a specific address. Unfortunately the floating IPs don't present a physical interface inside the guest VM, but are handled externally by iptables. This makes binding impossible.

One solution to this problem is to add a new mode "inaddr_any" for bindnetaddr. Then when corosync starts, it will bind to INADDR_ANY interface and the udpu traffic will be routed properly by iptables.

Any thoughts on a simpler solution or on this solution?

Regards
-steve
_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss


[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux