Bug 1041412

Summary: [RFE][nova]: Shared IP for multiple instances
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/shared-ip
Whiteboard: upstream_milestone_none upstream_status_unknown upstream_definition_obsolete
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:25:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 16:02:30 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/shared-ip.

Description:

When Nova creates an instance it defines a few anti-spoofing filter rules that prevents to use any IP address other than provided by Nova.

This blocks the implementation of the systems which require multiple IP addresses on the same interface, like MS Failover Cluster. Such IP address must be enabled for multiple instances (although it will be used on one instance at the time).

To support such behaviour, the following changes should be implemented:
* IP address reserved in Fixed Range
* This IP address should be added to nwfilter rules for all the instances which will form the cluster
* iptables rules should be corrected to enable traffic to/from this iP (if required)

Also API calls should be added to allow the following actions:
* assign such an IP to a group of nodes
* list IP addresses assigned to a group of nodes
* release an IP adress from a group of nodes

If a group of nodes has multiple 'shared IPs' then there should be a way to identify each of IP. This is required because one IP address might belong to cluster itself, and other IPs - to various clustered resoures. One possible way is to assing a MAC address to each IP, although this MAC address will never be used by cluster.

Specification URL (additional information):

None