- kdump-calibrate-Update-values.patch: calibrate: Update values. - kdump-prefer-by-path-and-device-mapper.patch: Prefer by-path and device-mapper aliases over kernel device names (bsc#1101149, LTC#168532). - kdump-powerpc-no-reload-on-CPU-removal.patch: powerpc: Do not reload on CPU hot removal (bsc#1133407, LTC#176111). - kdump-Add-force-option-to-KDUMP_NETCONFIG.patch: Add ":force" option to KDUMP_NETCONFIG (bsc#1108919). - kdump-Add-fence_kdump_send-when-fence-agents-installed.patch: Add fence_kdump_send when fence-agents installed (bsc#1108919). - kdump-FENCE_KDUMP_SEND-variable.patch: Use var for path of fence_kdump_send and remove the unnecessary PRESCRIPT check (bsc#1108919). - kdump-Document-fence_kdump_send.patch: Document kdump behaviour for fence_kdump_send (bsc#1108919). - kdump-nss-modules.patch: Improve the handling of NSS (bsc#1021846). - kdump-skip-mounts-if-no-proc-vmcore.patch: Skip kdump-related mounts if there is no /proc/vmcore (bsc#1102252, bsc#1125011). - kdump-clean-up-kdump-mount-points.patch: Make sure that kdump mount points are cleaned up (bsc#1102252, bsc#1125011). - kdump-Clean-up-the-use-of-current-vs-boot-network-iface.patch: Clean up the use of current vs. boot network interface names (bsc#1094444, bsc#1116463, bsc#1141064). - kdump-Use-a-custom-namespace-for-physical-NICs.patch: Use a custom namespace for physical NICs (bsc#1094444, bsc#1116463, bsc#1141064). - kdump-preserve-white-space.patch: Preserve white space when removing kernel command line options (bsc#1117652). OBS-URL: https://build.opensuse.org/request/show/757490 OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/kdump?expand=0&rev=188
110 lines
3.5 KiB
Diff
110 lines
3.5 KiB
Diff
From: Petr Tesarik <ptesarik@suse.com>
|
|
Date: Tue, 20 Nov 2018 10:23:28 +0100
|
|
Subject: Add ":force" option to KDUMP_NETCONFIG
|
|
References: bsc#1108919
|
|
Upstream: merged
|
|
Git-commit 4e112a28055a57dbcdf9a72c4bdcf586296ec81a
|
|
|
|
Make it possible to force network setup in kdump initrd by adding a
|
|
":force" suffix to KDUMP_NETCONFIG. This is needed to configure
|
|
fence_kdump.
|
|
|
|
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
|
|
|
|
---
|
|
doc/man/kdump.5.txt.in | 6 ++++++
|
|
init/module-setup.sh | 37 +++++++++++++++++++++----------------
|
|
sysconfig.kdump.in | 6 +++++-
|
|
3 files changed, 32 insertions(+), 17 deletions(-)
|
|
|
|
--- a/doc/man/kdump.5.txt.in
|
|
+++ b/doc/man/kdump.5.txt.in
|
|
@@ -544,6 +544,12 @@ Auto-detection cannot be used to set up
|
|
because of limitations in the implementation of the _ip=_ initrd command line
|
|
option.
|
|
|
|
+Network is configured only if needed, e.g. the dump target is on a remote
|
|
+machine, or an email notification should be sent. If network is needed by
|
|
+something else, such as a custom script used as KDUMP_PRESCRIPT or
|
|
+KDUMP_POSTSCRIPT, add a _:force_ suffix to the network configuration, for
|
|
+example "auto:force" or "eth0:dhcp4:force".
|
|
+
|
|
Use a _netdevice:mode_ string to force a specific network device to be used. A
|
|
_netdevice_ is for example "eth0". The _mode_ can be:
|
|
|
|
--- a/init/module-setup.sh
|
|
+++ b/init/module-setup.sh
|
|
@@ -19,20 +19,25 @@ kdump_needed() {
|
|
}
|
|
|
|
kdump_check_net() {
|
|
- kdump_neednet=
|
|
- for protocol in "${kdump_Protocol[@]}" ; do
|
|
- if [ "$protocol" != "file" -a "$protocol" != "srcfile" ]; then
|
|
- kdump_neednet=y
|
|
- fi
|
|
- done
|
|
+ if [ -z "$KDUMP_NETCONFIG" ]; then
|
|
+ # network explicitly disabled in configuration
|
|
+ kdump_neednet=
|
|
+ elif [ "${KDUMP_NETCONFIG%:force}" != "$KDUMP_NETCONFIG" ]; then
|
|
+ # always set up network
|
|
+ kdump_neednet=y
|
|
+ else
|
|
+ kdump_neednet=
|
|
+ for protocol in "${kdump_Protocol[@]}" ; do
|
|
+ if [ "$protocol" != "file" -a "$protocol" != "srcfile" ]; then
|
|
+ kdump_neednet=y
|
|
+ fi
|
|
+ done
|
|
|
|
- # network configuration
|
|
- if [ -n "$KDUMP_SMTP_SERVER" -a -n "$KDUMP_NOTIFICATION_TO" ]; then
|
|
- kdump_neednet=y
|
|
+ # network configuration
|
|
+ if [ -n "$KDUMP_SMTP_SERVER" -a -n "$KDUMP_NOTIFICATION_TO" ]; then
|
|
+ kdump_neednet=y
|
|
+ fi
|
|
fi
|
|
-
|
|
- # network explicitly disabled in configuration?
|
|
- [ -z "$KDUMP_NETCONFIG" ] && kdump_neednet=
|
|
}
|
|
|
|
kdump_get_fs_type() {
|
|
@@ -161,13 +166,13 @@ kdump_cmdline_zfcp() {
|
|
kdump_cmdline_ip() {
|
|
[ "$kdump_neednet" = y ] || return 0
|
|
|
|
- if [ "$KDUMP_NETCONFIG" = "auto" ] ; then
|
|
+ local _cfg="${KDUMP_NETCONFIG%:force}"
|
|
+ if [ "$_cfg" = "auto" ] ; then
|
|
kdump_host_if=default
|
|
kdump_net_mode=auto
|
|
else
|
|
- set -- ${KDUMP_NETCONFIG//:/ }
|
|
- kdump_host_if=$1
|
|
- kdump_net_mode=$2
|
|
+ kdump_host_if="${_cfg%%:*}"
|
|
+ kdump_net_mode="${_cfg#*:}"
|
|
fi
|
|
|
|
if [ "$kdump_host_if" = "default" ] ; then
|
|
--- a/sysconfig.kdump.in
|
|
+++ b/sysconfig.kdump.in
|
|
@@ -294,9 +294,13 @@ KDUMPTOOL_FLAGS=""
|
|
# that contains the network device and the mode (static, dhcp, dhcp6, auto6),
|
|
# separated by a colon. Example: "eth0:static" or "eth1:dhcp".
|
|
#
|
|
-# For static configuration, you have to add the configuration to
|
|
+# For static configuration, you may have to add the configuration to
|
|
# KDUMP_COMMANDLINE_APPEND.
|
|
#
|
|
+# By default, network is set up only if needed. Add ":force" to make sure
|
|
+# that network is always available (e.g. for use by a custom pre- or
|
|
+# post-script).
|
|
+#
|
|
# See also: kdump(5)
|
|
#
|
|
KDUMP_NETCONFIG="auto"
|