Bug 1300798 - Unable to assign IPv6 address by using PublicVirtualFixedIPs
Summary: Unable to assign IPv6 address by using PublicVirtualFixedIPs
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: y3
: 7.0 (Kilo)
Assignee: Giulio Fidente
QA Contact: Marius Cornea
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-01-21 18:17 UTC by Marius Cornea
Modified: 2016-02-18 16:51 UTC (History)
7 users (show)

Fixed In Version: openstack-tripleo-heat-templates-0.8.6-112.el7ost
Doc Type: Bug Fix
Doc Text:
Setting a fixed IPv6 address for Overcloud networks failed due to Neutron not allowing fixed IP addresses in SLAAC mode. This fix changes the default IPv6 address mechanism to 'dhcpv6-stateful'. Now the director can configure the Overcloud using fixed IPv6 addresses.
Clone Of:
Environment:
Last Closed: 2016-02-18 16:51:21 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 271208 0 None None None 2016-01-22 09:49:30 UTC
Red Hat Product Errata RHBA-2016:0264 0 normal SHIPPED_LIVE Red Hat Enterprise Linux OSP 7 director Bug Fix Advisory 2016-02-18 21:41:29 UTC

Description Marius Cornea 2016-01-21 18:17:45 UTC
Description of problem:
Assigning IPv6 address by using PublicVirtualFixedIPs fails with:

Stack failed with status: resources.PublicVirtualIP: BadRequest: resources.ExternalPort: Invalid input for operation: IPv6 address 2001:db8:fd00:1000:f816:3eff:fe80:75ea can not be directly assigned to a port on subnet fa3af936-b005-44c1-a9e7-9669d2d87a34 since the subnet is configured for automatic addresses.

Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-0.8.6-110.el7ost.noarch
os-net-config-0.1.4-7.el7ost.noarch
os-cloud-config-0.2.8-13.el7ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Deploy IPv6 overcloud by providing PublicVirtualFixedIPs in network-environment:
  PublicVirtualFixedIPs: [{'ip_address':'2001:db8:fd00:1000:f816:3eff:fe80:75ea'}]



Actual results:
Deploying templates in the directory /home/stack/templates/my-overcloud
Stack failed with status: resources.PublicVirtualIP: BadRequest: resources.ExternalPort: Invalid input for operation: IPv6 address 2001:db8:fd00:1000:f816:3eff:fe80:75ea can not be directly assigned to a port on subnet fa3af936-b005-44c1-a9e7-9669d2d87a34 since the subnet is configured for automatic addresses.


Expected results:
Deployment continues

Additional info:
stack@instack:~>>> neutron subnet-show fa3af936-b005-44c1-a9e7-9669d2d87a34
+-------------------+--------------------------------------------------------------------------------------+
| Field             | Value                                                                                |
+-------------------+--------------------------------------------------------------------------------------+
| allocation_pools  | {"start": "2001:db8:fd00:1000::10", "end": "2001:db8:fd00:1000:ffff:ffff:ffff:fffe"} |
| cidr              | 2001:db8:fd00:1000::/64                                                              |
| dns_nameservers   |                                                                                      |
| enable_dhcp       | True                                                                                 |
| gateway_ip        | 2001:db8:fd00:1000::1                                                                |
| host_routes       |                                                                                      |
| id                | fa3af936-b005-44c1-a9e7-9669d2d87a34                                                 |
| ip_version        | 6                                                                                    |
| ipv6_address_mode | slaac                                                                                |
| ipv6_ra_mode      | slaac                                                                                |
| name              | external_subnet                                                                      |
| network_id        | bf959c79-8a47-476c-9393-b803dd62592f                                                 |
| subnetpool_id     |                                                                                      |
| tenant_id         | 7e5eb436765b43aa8bb74607fade7e62                                                     |
+-------------------+--------------------------------------------------------------------------------------+

Comment 1 Dan Sneddon 2016-01-21 21:55:01 UTC
We may need to set the network type to dchpv6-stateful or dhcpv6-stateless in order to be able to assign a fixed_ip. This is currently being tested.

Comment 2 Marius Cornea 2016-01-21 21:58:49 UTC
After adjusting in network/external_v6.yaml: ipv6_address_mode: dhcpv6-stateful
ipv6_ra_mode: dhcpv6-stateful I was able to set the public vip in the network environment file like this: PublicVirtualFixedIPs: [{'ip_address':'2001:db8:fd00:1000:f816:3eff:fe80:75ea'}]

I tested dhcpv6-stateful option for ipv6_address_mode and ipv6_ra_mode without specifying PublicVirtualFixedIP (automatic assignment) and it worked. In fact the first address from the ExternalAllocationPools was assigned for the public_virtual_ip.

Comment 4 Marius Cornea 2016-01-25 10:59:03 UTC
openstack-tripleo-heat-templates-0.8.6-112.el7ost.noarch

stack@instack:~>>> heat stack-show overcloud | grep PublicVirtualFixedIP
|                       |   "PublicVirtualFixedIPs": "[{\"ip_address\": \"2001:db8:fd00:1000::10\"}]",    

stack@instack:~>>> neutron port-list | grep public
| e54f64a9-a960-4149-87f2-53fcb7b15d1f | public_virtual_ip             | fa:16:3e:2e:54:12 | {"subnet_id": "ea09aba4-6c05-4e44-9fe7-44082b4210cd", "ip_address": "2001:db8:fd00:1000::10"}  |

Comment 6 errata-xmlrpc 2016-02-18 16:51:21 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0264.html


Note You need to log in before you can comment on or make changes to this bug.