IPv4 subnets added when VM is already up on an IPv6 subnet on the same network, does not enable VM ports to get IPv4 address

Bug #1719806 reported by Vivekanandan Narasimhan
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
neutron
Invalid
Undecided
Lajos Katona

Bug Description

On both stable/pike and stable/ocata, we performed the following steps:

1. Create a network
2. Create an IPv6 subnet in SLAAC Mode (both RA mode and Address mode)
3. Create a router
4. Attach the IPv6 subnet to the router
5. Now boot VMs with the network-id.
6. Make sure VMs are up and able to communicate via their Global and Link-Local IPv6 addresses.
7. Create an IPv4 subnet on the same network.

After step 5, you will notice that the booted VM neutron ports fixed-ips are not updated with IPv4 subnets automatically.

The user has to manually update the VM Neutron ports via port-update command with the IPv4 subnet-id and then go back to the VM and recycle eth0 after which only the VMs will get the IPv4 address.

The DHCP Neutron port alone got updated automatically with the IPv4 address in addition to IPv6 address with the above steps.

Any new VMs spawned after both IPv4 and IPv6 subnets are available on the network, is able to get both the addresses and its Neutron Ports in the control plane also reflect the same.

BTW, if the above set of steps are followed just by swapping the order where we create IPv4 subnets first, then boot VMs, create an IPv6 subnet on the same network, the VM Neutron Ports fixed-ips get updated automatically with the new assigned IPv6 Global addresses on the IPv6 subnet.

Tags: ipv6
description: updated
description: updated
description: updated
Boden R (boden)
tags: added: ipv6
Revision history for this message
Hunt Xu (huntxu) wrote :

This seems not a bug(, or this should be an RFE for automatically allocating addresses in IPv4 subnets?). Things go a bit differently with IPv6 auto addressing.

If a newly created subnet supports auto-addressing(IPv6 SLAAC, DHCPv6 stateless), all the internal ports on the network would be automatically updated with an IP address from that subnet. However this is not applicable for IPv4 subnets and IPv6 stateful. Thus existing ports won't be updated when you create a new IPv4 subnet.

If you try in the order that IPv4 subnets are created first then IPv6 stateful subnets, existing ports won't be updated with addresses from the newly created IPv6 stateful subnet either.

For newly spawned VM, if a port is created in a network which contains multiple subnets without specifying fixed_ips(i.e., not specifying subnets), it would be created with multiple IP addresses, one allocated from each subnet.

Changed in neutron:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
Changed in neutron:
status: Expired → New
Revision history for this message
Lajos Katona (lajos-katona) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron/+/840281

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-lib (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron-lib/+/840665

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/840281
Committed: https://opendev.org/openstack/neutron/commit/5126c0adc7bf7c889bcd094a4199cadf9644bbf9
Submitter: "Zuul (22348)"
Branch: master

commit 5126c0adc7bf7c889bcd094a4199cadf9644bbf9
Author: elajkat <email address hidden>
Date: Tue May 3 13:00:33 2022 +0200

    Doc: Add note for IPv6 port update special cases

    Change-Id: I85e17719eb4420a6cfd82ee54e60dd23ccfa0e95
    Related-Bug: #1719806

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-lib (master)

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/840665
Committed: https://opendev.org/openstack/neutron-lib/commit/fc95d16378e551a86d19d6ef12b2012eeff092ff
Submitter: "Zuul (22348)"
Branch: master

commit fc95d16378e551a86d19d6ef12b2012eeff092ff
Author: elajkat <email address hidden>
Date: Thu May 5 15:08:07 2022 +0200

    Doc: Add note for subnet creation

    Add note that subnet creation on a network that already has bound ports
    not always results in automatic update of the port, and link to the
    related Neutron documentation.

    Change-Id: I1898d2ca3692ca05f51caed16b2a4814bc5556e3
    Related-Bug: #1719806

Changed in neutron:
assignee: nobody → Lajos Katona (lajos-katona)
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.