Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP1:Update
kdump.13716
kdump-Add-force-option-to-KDUMP_NETCONFIG.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kdump-Add-force-option-to-KDUMP_NETCONFIG.patch of Package kdump.13716
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"
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor