Management network interface files set to inet6 when configured with vlan for IPV4 system node installs

Bug #2059722 reported by Fabiano Correa Mercer
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
High
Fabiano Correa Mercer

Bug Description

Brief Description
-----------------
The following update added to the kickstart.cfg file causes management network interface files to be incorrectly set to inet6 when it is configured with a vlan on IPV4 system node installs.

https://opendev.org/starlingx/metal/commit/c6c308e982c2addab1ab2e2e808a223b4aaa11c7

There is the following error.
The iface entries should be just inet in this described case.

sysadmin@controller-1:/etc/network/interfaces.d$ cat ifcfg-eno2
auto eno2
iface eno2 inet6 manual <--------------
address 10.8.70.4
netmask 24
gateway 10.8.70.1
post-up echo 0 > /proc/sys/net/ipv6/conf/eno2/autoconf; echo 0 > /proc/sys/net/ipv6/conf/eno2/accept_ra; echo 0 > /proc/sys/net/ipv6/conf/eno2/accept_redirects

sysadmin@controller-1:/etc/network/interfaces.d$ cat ifcfg-vlan348
auto vlan348
iface vlan348 inet6 static <--------------
address 10.8.70.4
netmask 24
gateway 10.8.70.1
vlan-raw-device eno2

Severity
--------
Major: IPV4 installs with vlan on management are unstable.

Steps to Reproduce
------------------
Configure a DX system with vlan on management and install a system node ; say controller-1

Expected Behavior
------------------
iface label in management network files (vlan and physical) should be set to inet

Actual Behavior
----------------
Set to inet6 instead.

Reproducibility
---------------
100% reproducible

System Configuration
--------------------
Two node system, Multi-node system, IPv4
AIO-DX install with mgmt network over vlan

Branch/Pull Time/Commit
-----------------------
Any load with specified update.

Last Pass
---------
Any load prior to specified update

Timestamp/Logs
--------------
No collect bundle needed. Issue is understood.

2024-03-27 16:46:23.687 kickstart post_nochroot info: All-in-one boot_iface=vlan348
2024-03-27 16:46:23.692 kickstart post_nochroot info: All-in-one boot_address_family: inet6
2024-03-27 16:46:23.694 kickstart post_nochroot info: All-in-one dhclient_family: -6
2024-03-27 16:46:23.699 kickstart post_nochroot info: All-in-one ip link add link eno2 name vlan348 type vlan id 348
2024-03-27 16:46:23.733 kickstart post_nochroot info: All-in-one ip link set up dev vlan348
2024-03-27 16:46:23.741 kickstart post_nochroot info: All-in-one timeout 60 /usr/sbin/dhclient -6 vlan348
2024-03-27 16:46:23.778 kickstart post_nochroot warn: All-in-one timeout 60 /usr/sbin/dhclient -6 vlan348 failed ; rc:1

Test Activity
-------------
Development testing

Workaround
----------
Revert specified update

Changed in starlingx:
assignee: nobody → Fabiano Correa Mercer (fcorream)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to metal (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/starlingx/metal/+/914696

Changed in starlingx:
status: New → In Progress
Revision history for this message
Ghada Khalil (gkhalil) wrote (last edit ):

Related to storyboard: https://storyboard.openstack.org/#!/story/2010722
The code which introduced the issue was merged in the stx master branch on March 8, so it's not an issue in the stx.9.0 release branch.

Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Medium
tags: added: stx.10.0 stx.networking
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to metal (master)

Reviewed: https://review.opendev.org/c/starlingx/metal/+/914696
Committed: https://opendev.org/starlingx/metal/commit/91ae9c3db2d60c1b9fc83635fbc2423fbaae345b
Submitter: "Zuul (22348)"
Branch: master

commit 91ae9c3db2d60c1b9fc83635fbc2423fbaae345b
Author: Fabiano Correa Mercer <email address hidden>
Date: Thu Mar 28 15:33:58 2024 -0300

    Fix ipv4/ipv6 scenario detection

    Due to the alias in the /etc/dnsmasq.conf:
    ```
    cname=controller,controller.internal
    cname=controller-0,controller-0.internal
    cname=controller-1,controller-1.internal
    ```

    The DNS answers the value:
    "controller.internal." for the IPv6 dig command:
    "dig +short AAAA controller" even for an IPv4 scenario
    What makes the code to set the IPv6 parameters instead
    if the IPv4.
    So it is necessary to check if the dig result has an
    IPv6 address and not just the "controller.internal."

    Tests dome:
    IPv4 AIO-SX fresh install
    IPv4 AIO-DX fresh install
    IPv4 AIO-DX with mgmt in vlan fresh install
    IPv6 AIO-DX with mgmt in vlan fresh install
    IPv4 AIO-DX swact
    IPv6 AIO-DX swact

    Closes-Bug: #2059722

    Change-Id: I92978263646fe6d07e96edd2054d42bed6d389b1
    Signed-off-by: Fabiano Correa Mercer <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Medium → High
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.