Drop initscripts patch running ipv6 dhcp as daemon

This commit rebases initscripts patch set, dropping
run-dhclient-as-daemon-for-ipv6.patch

Currently, ifup-eth tries running ipv6 dhclient with the one-shot
option, and if that fails, then retries indefinitely in the background.
That has the side-effect of causing the ifup-post script to not be run
if the first dhclient attempt fails, which will prevent routes on that
interface from being created.  This is especially problematic in the
case of a DOR, where the compute nodes may come up before dnsmasq is up
on the controller.
This is different from upstream centos, which will only try running
dhclient with the one-shot option for ipv6.
By reverting the initscripts patch to run as a daemon, ipv6 dhclient now
runs as one-shot only, and if it fails, ifup-eth script exits without
getting an address, and then the node fails to come up and reboot.
While this may result in the compute node having an extra reboot in a DOR,
that is preferable to the compute coming up incorrectly and requiring a
lock/unlock to recover.

Closes-bug: 1844579
Change-Id: I5b7f6b7c878dc4e4737d986f11fae3301585fb1c
Signed-off-by: Joseph Richard <joseph.richard@windriver.com>
This commit is contained in:
Joseph Richard 2019-10-29 10:54:58 -04:00
parent 5afd5f90b2
commit 8a3722089d
9 changed files with 111 additions and 261 deletions

View File

@ -0,0 +1,110 @@
From 764ce9e69477b47577fc0231f4a0190b119937f7 Mon Sep 17 00:00:00 2001
From: Joseph Richard <joseph.richard@windriver.com>
Date: Tue, 19 Nov 2019 13:06:43 -0500
Subject: [PATCH] Include starlingx initscripts changes
This is build with build-pkgs --edit initscripts, and then rebased with
git rebase -i --root, with all existing meta-patches squashed into this
commit, and then the new meta-patch created from the output of
git format-patch HEAD~
Signed-off-by: Joseph Richard <joseph.richard@windriver.com>
---
SPECS/initscripts.spec | 38 ++++++++++++++++++++++++++++++--------
1 file changed, 30 insertions(+), 8 deletions(-)
diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec
index fb0bd96..a446775 100644
--- a/SPECS/initscripts.spec
+++ b/SPECS/initscripts.spec
@@ -4,7 +4,7 @@ Version: 9.49.46
# ppp-watch is GPLv2+, everything else is GPLv2
License: GPLv2 and GPLv2+
Group: System Environment/Base
-Release: 1%{?dist}
+Release: 1.el7%{?_tis_dist}.%{tis_patch_ver}
URL: https://github.com/fedora-sysv/initscripts
Source: https://github.com/fedora-sysv/initscripts/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
@@ -36,6 +36,20 @@ Requires(preun): /sbin/chkconfig
BuildRequires: glib2-devel popt-devel gettext pkgconfig systemd
Provides: /sbin/service
+Patch1: support-interface-scriptlets.patch
+Patch2: relocate-dhclient-leases-to-var-run.patch
+Patch3: dhclient-restrict-interfaces-to-those-on-c.patch
+Patch4: support-interface-promisc.patch
+Patch5: 0001-dhclient-remove-1-arg.patch
+Patch6: 0001-force-delay-check-link-down.patch
+Patch7: run-ifdown-on-all-interfaces.patch
+Patch8: sysconfig-affirmative-check-for-link-carrier.patch
+Patch9: sysconfig-unsafe-usage-of-linkdelay-variable.patch
+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
+
%description
The initscripts package contains basic system scripts used
during a boot of the system. It also contains scripts which
@@ -55,6 +69,20 @@ Currently, this consists of various memory checking code.
%prep
%setup -q
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+
%build
make
@@ -163,10 +191,7 @@ rm -rf $RPM_BUILD_ROOT
/usr/lib/systemd/rhel-*
/usr/lib/systemd/system/*
/etc/inittab
-%dir /etc/rc.d
-%dir /etc/rc.d/rc[0-9].d
/etc/rc[0-9].d
-%dir /etc/rc.d/init.d
/etc/rc.d/init.d/*
%config(noreplace) /etc/sysctl.conf
/usr/lib/sysctl.d/00-system.conf
@@ -188,7 +213,6 @@ rm -rf $RPM_BUILD_ROOT
/usr/sbin/ppp-watch
%{_mandir}/man*/*
%dir %attr(775,root,root) /var/run/netreport
-%dir /etc/ppp
%dir /etc/ppp/peers
/etc/ppp/ip-up
/etc/ppp/ip-down
@@ -196,8 +220,6 @@ rm -rf $RPM_BUILD_ROOT
/etc/ppp/ip-down.ipv6to4
/etc/ppp/ipv6-up
/etc/ppp/ipv6-down
-%dir /etc/NetworkManager
-%dir /etc/NetworkManager/dispatcher.d
/etc/NetworkManager/dispatcher.d/00-netreport
%doc sysconfig.txt sysvinitfiles static-routes-ipv6 ipv6-tunnel.howto ipv6-6to4.howto changes.ipv6 COPYING
%doc examples
@@ -207,7 +229,7 @@ rm -rf $RPM_BUILD_ROOT
%ghost %attr(0664,root,utmp) /var/run/utmp
%ghost %attr(0644,root,root) /etc/sysconfig/kvm
%ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/crypttab
-%dir /usr/lib/tmpfiles.d
+%dir %attr(0755,root,root) /usr/lib/tmpfiles.d
/usr/lib/tmpfiles.d/initscripts.conf
%dir /usr/libexec/initscripts
%dir /usr/libexec/initscripts/legacy-actions
--
1.8.3.1

View File

@ -1,27 +0,0 @@
From f77c05868c164eebe1c84eb3fdd920ef3305cebc Mon Sep 17 00:00:00 2001
From: Scott Little <scott.little@windriver.com>
Date: Mon, 2 Oct 2017 14:49:27 -0400
Subject: [PATCH 09/13] WRS:
0001-Update-package-versioning-for-TIS-format.patch
Signed-off-by: zhipengl <zhipengs.liu@intel.com>
---
SPECS/initscripts.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec
index ad32f19..ace1326 100644
--- a/SPECS/initscripts.spec
+++ b/SPECS/initscripts.spec
@@ -4,7 +4,7 @@ Version: 9.49.46
# ppp-watch is GPLv2+, everything else is GPLv2
License: GPLv2 and GPLv2+
Group: System Environment/Base
-Release: 1%{?dist}
+Release: 1.el7%{?_tis_dist}.%{tis_patch_ver}
URL: https://github.com/fedora-sysv/initscripts
Source: https://github.com/fedora-sysv/initscripts/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
--
1.8.3.1

View File

@ -1,6 +1 @@
spec-include-TiS-changes.patch
stop-creating-shared-dirs.patch
fix-build-failures-due-to-unwanted-sgid.patch
0001-Update-package-versioning-for-TIS-format.patch
ifup-alias-scope.patch
added-ifup-alias-check-ipaddr.patch
0001-Include-starlingx-initscripts-changes.patch

View File

@ -1,32 +0,0 @@
From 7f65521a9cee14ecd136f4caf44409b2acc86bdd Mon Sep 17 00:00:00 2001
From: Teresa Ho <teresa.ho@windriver.com>
Date: Wed, 25 Sep 2019 16:19:26 -0400
Subject: [PATCH 1/1] Added ifup-alias-check-ipaddr.patch
---
SPECS/initscripts.spec | 2 ++
1 file changed, 2 insertions(+)
diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec
index fc7115c..9309d03 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: run-dhclient-as-daemon-for-ipv6.patch
Patch13: ifup-alias-scope.patch
+Patch14: ifup-alias-check-ipaddr.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
--
1.8.3.1

View File

@ -1,26 +0,0 @@
From 2c096cfd84fea55fd1f2df466d5635c06daab2a2 Mon Sep 17 00:00:00 2001
From: Scott Little <scott.little@windriver.com>
Date: Mon, 2 Oct 2017 14:49:27 -0400
Subject: [PATCH] WRS: fix-build-failures-due-to-unwanted-sgid.patch
Signed-off-by: zhipengl <zhipengs.liu@intel.com>
---
SPECS/initscripts.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec
index 967317f..ad32f19 100644
--- a/SPECS/initscripts.spec
+++ b/SPECS/initscripts.spec
@@ -227,7 +227,7 @@ rm -rf $RPM_BUILD_ROOT
%ghost %attr(0664,root,utmp) /var/run/utmp
%ghost %attr(0644,root,root) /etc/sysconfig/kvm
%ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/crypttab
-%dir /usr/lib/tmpfiles.d
+%dir %attr(0755,root,root) /usr/lib/tmpfiles.d
/usr/lib/tmpfiles.d/initscripts.conf
%dir /usr/libexec/initscripts
%dir /usr/libexec/initscripts/legacy-actions
--
1.8.3.1

View File

@ -1,34 +0,0 @@
From ad85db9465da885a5f186db7f23655a3735a43c5 Mon Sep 17 00:00:00 2001
From: Teresa Ho <teresa.ho@windriver.com>
Date: Fri, 4 Jan 2019 10:49:27 -0500
Subject: [PATCH 1/1] Added ifup-alias-scope.patch
---
SPECS/initscripts.spec | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec
index 6e9fc13..bff1e12 100644
--- a/SPECS/initscripts.spec
+++ b/SPECS/initscripts.spec
@@ -48,6 +48,7 @@ Patch9: sysconfig-unsafe-usage-of-linkdelay-variable.patch
Patch10: ipv6-static-route-support.patch
Patch11: ifup-eth-stop-waiting-if-link-is-up.patch
Patch12: run-dhclient-as-daemon-for-ipv6.patch
+Patch13: ifup-alias-scope.patch
%description
The initscripts package contains basic system scripts used
@@ -80,7 +81,8 @@ Currently, this consists of various memory checking code.
%patch10 -p1
%patch11 -p1
%patch12 -p1
-
+%patch13 -p1
+
%build
make
--
1.8.3.1

View File

@ -1,57 +0,0 @@
From 29d8980d8c67a302a27a3084f58657414578a2b9 Mon Sep 17 00:00:00 2001
From: Scott Little <scott.little@windriver.com>
Date: Mon, 2 Oct 2017 14:49:27 -0400
Subject: [PATCH] WRS: spec-include-TiS-changes.patch
Signed-off-by: zhipengl <zhipengs.liu@intel.com>
---
SPECS/initscripts.spec | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec
index e96290a..d3c2ce6 100644
--- a/SPECS/initscripts.spec
+++ b/SPECS/initscripts.spec
@@ -36,6 +36,19 @@ Requires(preun): /sbin/chkconfig
BuildRequires: glib2-devel popt-devel gettext pkgconfig systemd
Provides: /sbin/service
+Patch1: support-interface-scriptlets.patch
+Patch2: relocate-dhclient-leases-to-var-run.patch
+Patch3: dhclient-restrict-interfaces-to-those-on-c.patch
+Patch4: support-interface-promisc.patch
+Patch5: 0001-dhclient-remove-1-arg.patch
+Patch6: 0001-force-delay-check-link-down.patch
+Patch7: run-ifdown-on-all-interfaces.patch
+Patch8: sysconfig-affirmative-check-for-link-carrier.patch
+Patch9: sysconfig-unsafe-usage-of-linkdelay-variable.patch
+Patch10: ipv6-static-route-support.patch
+Patch11: ifup-eth-stop-waiting-if-link-is-up.patch
+Patch12: run-dhclient-as-daemon-for-ipv6.patch
+
%description
The initscripts package contains basic system scripts used
during a boot of the system. It also contains scripts which
@@ -55,6 +68,19 @@ Currently, this consists of various memory checking code.
%prep
%setup -q
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+
%build
make
--
1.8.3.1

View File

@ -1,45 +0,0 @@
From f93a873f57cf8134e371668c7514923e6fda80f3 Mon Sep 17 00:00:00 2001
From: Scott Little <scott.little@windriver.com>
Date: Mon, 2 Oct 2017 14:49:27 -0400
Subject: [PATCH 02/13] WRS: stop-creating-shared-dirs.patch
Signed-off-by: zhipengl <zhipengs.liu@intel.com>
---
SPECS/initscripts.spec | 6 ------
1 file changed, 6 deletions(-)
diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec
index d3c2ce6..967317f 100644
--- a/SPECS/initscripts.spec
+++ b/SPECS/initscripts.spec
@@ -189,10 +189,7 @@ rm -rf $RPM_BUILD_ROOT
/usr/lib/systemd/rhel-*
/usr/lib/systemd/system/*
/etc/inittab
-%dir /etc/rc.d
-%dir /etc/rc.d/rc[0-9].d
/etc/rc[0-9].d
-%dir /etc/rc.d/init.d
/etc/rc.d/init.d/*
%config(noreplace) /etc/sysctl.conf
/usr/lib/sysctl.d/00-system.conf
@@ -214,7 +211,6 @@ rm -rf $RPM_BUILD_ROOT
/usr/sbin/ppp-watch
%{_mandir}/man*/*
%dir %attr(775,root,root) /var/run/netreport
-%dir /etc/ppp
%dir /etc/ppp/peers
/etc/ppp/ip-up
/etc/ppp/ip-down
@@ -222,8 +218,6 @@ rm -rf $RPM_BUILD_ROOT
/etc/ppp/ip-down.ipv6to4
/etc/ppp/ipv6-up
/etc/ppp/ipv6-down
-%dir /etc/NetworkManager
-%dir /etc/NetworkManager/dispatcher.d
/etc/NetworkManager/dispatcher.d/00-netreport
%doc sysconfig.txt sysvinitfiles static-routes-ipv6 ipv6-tunnel.howto ipv6-6to4.howto changes.ipv6 COPYING
%doc examples
--
1.8.3.1

View File

@ -1,34 +0,0 @@
From 580624314b1b93f84264e9d60583dcde4f6b86f3 Mon Sep 17 00:00:00 2001
From: Joseph Richard <Joseph.Richard@windriver.com>
Date: Thu, 11 Jan 2018 11:18:19 -0500
Subject: [PATCH] run dhclient as daemon for ipv6.
---
sysconfig/network-scripts/ifup-eth | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth
index 4b8b992..ccb5c75 100755
--- a/sysconfig/network-scripts/ifup-eth
+++ b/sysconfig/network-scripts/ifup-eth
@@ -364,13 +364,14 @@ 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
+ if /sbin/dhclient -1 $DHCLIENTARGS; then
echo $" done."
else
- echo $" failed."
+ /sbin/dhclient $DHCLIENTARGS&
+ echo $" failed. Retrying in background."
if [ "${dhcpipv4}" = "good" -o -n "${IPADDR}" ]; then
net_log "Unable to obtain IPv6 DHCP address ${DEVICE}." warning
else
--
1.8.3.1