From f923505ad3b63947bb87348f7cec9c126e8ae837 Mon Sep 17 00:00:00 2001 From: Andre Fernando Zanella Kantek Date: Mon, 5 Jul 2021 10:21:53 -0400 Subject: [PATCH] Worker node slow to become online after power out During a DOR (Dead Office Recovery) procedure, the worker nodes are taking longer than expected to become online, if the cluster network is IPv6. This is related to an extra reboot occurring during the bring-up process. Today only one DHCPv6 attempt is done, and, as the controllers are still booting up, no response is available. Eventually, this lack of a management IPv6 address will lead to an extra reboot. The correction is to make the DHCPv6 client continuously attempt to get a management IP address from the server. If the management network is IPv4, the DHCPv6 client is not called and will not trigger continuous DHCPv6 requests. Closes-bug: 1934676 Signed-off-by: Andre Fernando Zanella Kantek Change-Id: Ife5b06c5294e0014918073e9f6ee8bd372b85a78 --- .../centos/meta_patches/PATCH_ORDER | 1 + .../meta-dhclient6-remove-one-shot-arg.patch | 34 +++++++++++++++++++ .../dhclient6-remove-one-shot-arg.patch | 27 +++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 base/initscripts/centos/meta_patches/meta-dhclient6-remove-one-shot-arg.patch create mode 100644 base/initscripts/centos/patches/dhclient6-remove-one-shot-arg.patch diff --git a/base/initscripts/centos/meta_patches/PATCH_ORDER b/base/initscripts/centos/meta_patches/PATCH_ORDER index 863805c85..237d7f91b 100644 --- a/base/initscripts/centos/meta_patches/PATCH_ORDER +++ b/base/initscripts/centos/meta_patches/PATCH_ORDER @@ -1 +1,2 @@ 0001-Include-starlingx-initscripts-changes.patch +meta-dhclient6-remove-one-shot-arg.patch diff --git a/base/initscripts/centos/meta_patches/meta-dhclient6-remove-one-shot-arg.patch b/base/initscripts/centos/meta_patches/meta-dhclient6-remove-one-shot-arg.patch new file mode 100644 index 000000000..73d543858 --- /dev/null +++ b/base/initscripts/centos/meta_patches/meta-dhclient6-remove-one-shot-arg.patch @@ -0,0 +1,34 @@ +From ea055ff88680ae68f78b8807cef8c76030e3d1de Mon Sep 17 00:00:00 2001 +From: Andre Fernando Zanella Kantek + +Date: Tue, 6 Jul 2021 10:24:21 -0400 +Subject: [PATCH 1/1] meta dhclient6 remove one shot arg + +Signed-off-by: Andre Fernando Zanella Kantek +--- + SPECS/initscripts.spec | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec +index a446775..bda0e5c 100644 +--- a/SPECS/initscripts.spec ++++ b/SPECS/initscripts.spec +@@ -49,6 +49,7 @@ Patch10: ipv6-static-route-support.patch + Patch11: ifup-eth-stop-waiting-if-link-is-up.patch + Patch12: ifup-alias-scope.patch + Patch13: ifup-alias-check-ipaddr.patch ++Patch14: dhclient6-remove-one-shot-arg.patch + + %description + The initscripts package contains basic system scripts used +@@ -82,6 +83,7 @@ Currently, this consists of various memory checking code. + %patch11 -p1 + %patch12 -p1 + %patch13 -p1 ++%patch14 -p1 + + %build + make +-- +2.29.2 + diff --git a/base/initscripts/centos/patches/dhclient6-remove-one-shot-arg.patch b/base/initscripts/centos/patches/dhclient6-remove-one-shot-arg.patch new file mode 100644 index 000000000..8c4a4de5d --- /dev/null +++ b/base/initscripts/centos/patches/dhclient6-remove-one-shot-arg.patch @@ -0,0 +1,27 @@ +From b6b206cdba982d8152191e8e795d15ae29ed993e Mon Sep 17 00:00:00 2001 +From: Andre Fernando Zanella Kantek + +Date: Tue, 6 Jul 2021 10:17:40 -0400 +Subject: [PATCH 1/1] dhclient6 remove one shot arg + +Signed-off-by: Andre Fernando Zanella Kantek +--- + sysconfig/network-scripts/ifup-eth | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth +index bf3f96b..cb87fd6 100755 +--- a/sysconfig/network-scripts/ifup-eth ++++ b/sysconfig/network-scripts/ifup-eth +@@ -364,7 +364,7 @@ if is_true "${DHCPV6C}" && [ -x /sbin/dhclient ]; then + echo -n $"Determining IPv6 information for ${DEVICE}..." + + # Initialize the dhclient args for IPv6 and obtain the hostname options if needed: +- DHCLIENTARGS="-6 -1 ${DHCPV6C_OPTIONS} ${DHCLIENTCONF} -lf ${LEASEFILE} --restrict-interfaces -pf /var/run/dhclient6-${DEVICE}.pid ${DEVICE}" ++ DHCLIENTARGS="-6 ${DHCPV6C_OPTIONS} ${DHCLIENTCONF} -lf ${LEASEFILE} --restrict-interfaces -pf /var/run/dhclient6-${DEVICE}.pid ${DEVICE}" + set_hostname_options DHCLIENTARGS + + if /sbin/dhclient $DHCLIENTARGS; then +-- +2.29.2 +