Comment 2 for bug 1993342

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to metal (master)

Reviewed: https://review.opendev.org/c/starlingx/metal/+/861920
Committed: https://opendev.org/starlingx/metal/commit/654e18e9db200441e0a44a30f6797aa48fcb7fd0
Submitter: "Zuul (22348)"
Branch: master

commit 654e18e9db200441e0a44a30f6797aa48fcb7fd0
Author: Eric MacDonald <email address hidden>
Date: Wed Oct 19 19:46:07 2022 +0000

    Prevent kickstart hang when ipv6 dhclient fails to resolve

    The interface setup post phase of the kickstart issues a
    dhclient (dhcp) request for IP address. Normally this executes
    fine and an ip address (lease) is acquired.

    However, in a failure mode case in ipv6 mode that dhclient
    request will hang there waiting until the dhcp server responds
    So, if there is a network configuration error that precludes
    dhclient from getting a response the kickstart and therefore
    the entire installation process hangs.

    This is a known issue/behavior in dhclient that is typically
    worked around with the -1 option.
    - https://bugzilla.redhat.com/show_bug.cgi?id=585047
    - https://linux.die.net/man/8/dhclient

    Rather than using the -1 option which changes the behavior
    with fixed 30 second timeout, this update uses the linux 'timeout'
    command with a chosen 60 second upper bound on the vlan dhclient
    (dhcp) request. If the request does not complete in that time
    then it is terminated in error, allowing the kickstart to proceed.

    Test Plan: Change does not affect CentOS in any way.

    PASS: Verify Debian build and iso install for ipv6 and ipv4.
    PASS: Verify success path with and without vlan in ipv4 and ipv6
    PASS: verify failure path handling in ipv6 vlan case
    PASS: Verify logging

    Closes-Bug: 1993342
    Signed-off-by: Eric MacDonald <email address hidden>
    Change-Id: I2853f52b79e0f82c0a2e645fdeb9e7b7aa4f0a9e