Commit Graph

1218 Commits

Author SHA1 Message Date
Dave Young
5b4ce07af0 Release 2.0.12-7
Fix invalid date in rpm spec file.
2016-06-27 15:58:28 -04:00
Dave Young
f629c84941 Release 2.0.12-6 2016-06-28 03:43:03 +08:00
Pratyush Anand
81f2c9ea6f get_persistent_dev(): fix name contention with dracut's similar function
Resolves: BZ1348898

dracut-functions.sh defines a get_persistent_dev(). Earlier, we had another
local get_persistent_dev() in mkdumprd, however that was moved to
kdump-lib.sh, so that it can be reused in kdumpctl.

Since, dracut-module-setup.sh (which is dracut's
99kdumpbase/module-setup.sh) sources kdump-lib.sh. Therefore, once dracut
will execute 99kdumpbase module, it's own get_persistent_dev() function is
overwritten by kdump's version. If any other dracut module calls
get_persistent_dev() thereafter then, kdump's version is executed, which was
not expected.

Therefore rename kdump's get_persistent_dev() as kdump_get_persistent_dev()
to avoid any name contention.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Acked-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-06-28 03:28:47 +08:00
Dave Young
59c0a16dc6 Release 2.0.12-5 2016-06-06 13:08:15 +08:00
Xunlei Pang
9f8fb447c1 module-setup: Use get_ifcfg_filename() to get the proper ifcfg file
The ifcfg file name of <netif> under "/etc/sysconfig/network-scripts/"
may not be "ifcfg-<netif>". For example, for "enp0s25" we are able to
generate its ifcfg like "/etc/sysconfig/network-scripts/ifcfg-enp0s25test"
via network-manager. If we alway assume "ifcfg-<netif>" is there, we will
got the wrong result in some cases.

The issue can be resolved by using the new get_ifcfg_filename() introduced
by PATCH "kdump-lib: Add get_ifcfg_filename() to get the proper ifcfg file",
so we hereby change all the "ifcfg-<netif>" users to use get_ifcfg_filename().

Signed-off-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-06-06 13:04:05 +08:00
Xunlei Pang
65b0f80a5c kdump-lib: Add get_ifcfg_filename() to get the proper ifcfg file
Previously, we assumed the ifcfg file of a network "interface" is
"/etc/sysconfig/network-scripts/ifcfg-<interface>", but actually
it is not the case.

For example, for network interface "enp0s25", we are able to
generate like "/etc/sysconfig/network-scripts/ifcfg-enp0s25-test"
for it via network-manager.

The "suffix" in "ifcfg-<suffix>" is actually a "configuration"
name not "interface" name, though normally we use the "interface"
name as its "configuration" name. You can refer to "man ifup"
for some detail.

So, this patch adds some assistant helpers to acquire the right
ifcfg file for an interface. Borrow some logic from script below:
"/etc/sysconfig/network-scripts/network-functions"

Signed-off-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-06-06 13:03:18 +08:00
Dave Young
56d592d976 Release 2.0.12-4 2016-05-30 13:23:53 +08:00
Dave Young
1b4191ed18 Update kdump anaconda addon
Show range of valid reserved memory values in TUI:
https://github.com/daveyoung/kdump-anaconda-addon/pull/10
2016-05-30 13:23:37 +08:00
Pratyush Anand
afa4a35d3d kdumpctrl: kdump feasibility should fail if no crash memory
Currently initramfs is rebuilt even when crash kernel memory is not
available and then latter on kdump service is failed.

Its better to fail during feasibility itself when crash memory is not
reserved.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Acked-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-05-16 10:15:24 +08:00
Pratyush Anand
8bf0454bd9 .gitignore: Update to make it more generic
We do not have *.xz, *.gz as part of repositiry, so ignore them. They are
annoying during development period, specially when we want to modify all
changes using `git add -A`.

Also ignore *.swp, and *.rpm because many of such temporary files are
created during development and such files would not be the part of
repository.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-05-16 10:15:01 +08:00
Pratyush Anand
7aeeb1d17e kdumpctl: force rebuild in case of file system is modified
kdumpctl passes --device argument if dump target is a raw device. It passes
--mount argument if dump target is either mounted as nfs or as a bulk
device. When dump target device is a root device then it does not pass any
of the above two arguments.

After kdumpctl restart, if there is any change in file system which needs
different dracut arguments, then initramfs must be rebuild.

Modification in filesystem for a raw target does not affect dracut
arguments. So, we do not consider to check any modification if raw target
was specified in kdump.conf.

We might need to change dracut arguments if there is some changes in nfs
and ssh target related files. However, we do not consider them in this
patch.

We mainly consider changes in bulk target specified in kdump.conf. We also
consider changes in bulk and nfs file system, if there was no dump target
specified in kdump.conf but dump path is mounting such file systems.

So the initramfs must be rebuild if, either dump target's persistent path
or it's mount point or its file system type changes. If there is no dump
target specified then, both dump path and root path must mount same device,
otherwise rebuild should be triggered.

Some of the examples when we can need a rebuild:

-- "dump target" is specified as one of ext[234], xfs or btrfs. But after
kdump initramfs building its UUID is changed by reformatting.
-- "dump target" is specified as file system type fs1 (say ext3). But after
kdump initramfs building, user change it to fs2 (say ext4), probably by
a mkfs.ext4 executing on the target device.
-- "dump target" is not specified, but "dump path" mounts a device which
is different than device for root path and either UUID or file system type
is modified after kdump initramfs build.
-- "dump target" is not specified, but "dump path" mounts a nfs device and
nfs host path changes after kdump initramfs build.

Some testing:

Initial conditions:
-- No dump target specified
-- dump path (/var/crash) and root(/) are on same device
-- kdumpctl was already executed once after last modification in
/etc/kdump.conf

	# kdumpctl restart
		No rebuild
	# mkfs.ext2 /dev/md0;mount /dev/md0  /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"
	# kdumpctl restart
		No rebuild
	# umount /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"
	# kdumpctl restart
		No rebuild
	# mount /dev/md0  /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"
	# umount /var/crash;mkfs.ext4 /dev/md0;
	# mount /dev/md0  /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"

	# umount /var/crash;mkfs.ext4 /dev/mapper/fedora-swap
	# mount /dev/mapper/fedora-swap  /var/crash/
	# kdumpctl restart
		Rebuilt because "Detected change in File System"
	# umount /var/crash;mkfs.btrfs /dev/mapper/fedora-swap -f
	# mount /dev/mapper/fedora-swap  /var/crash/
	# kdumpctl restart
		Rebuilt because "Detected change in File System"
	# kdumpctl restart
		No rebuild
	# umount /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"
	# mount /dev/mapper/fedora-swap  /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"

	# umount /var/crash;mkfs.minix /dev/md0
	# mount /dev/md0  /var/crash/; kdumpctl restart
		Rebuilt because "Detected change in File System"
	# kdumpctl restart
		No rebuild
	# umount /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"

	# mount 192.168.1.16:/nfsroot /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"
	# umount /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"
	# mount 192.168.1.16:/nfsroot /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"
	# kdumpctl restart
		No rebuild
	# umount /var/crash;mount 192.168.1.12:/nfsroot /var/crash/
	# kdumpctl restart
		Rebuilt because "Detected change in File System"
	# umount /var/crash/;kdumpctl restart
		Rebuilt because "Detected change in File System"

Added "raw /dev/md0" in /etc/kdump.conf
	# kdumpctl restart
		Rebuilt because "Detected change in /etc/kdump.conf"
	# mkfs.ext4 /dev/md0 ;kdumpctl restart
		No rebuild

Added "ext4 /dev/md0" in /etc/kdump.conf
	# mkfs.ext4 /dev/md0;mount /dev/md0 /mnt
	# mkdir /mnt/var;mkdir /mnt/var/crash; kdumpctl restart
		Rebuilt because "Detected change in /etc/kdump.conf"
	# umount /mnt;mkfs.ext4 /dev/md0;mount /dev/md0 /mnt
	# mkdir /mnt/var;mkdir /mnt/var/crash; kdumpctl restart
		Rebuilt because "Detected change in /etc/kdump.conf"

Most of the credits for this patch goes to Xunlei Pang <xpang@redhat.com>
for suggesting several improvements.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Acked-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Baoquan He <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-05-12 09:54:17 +08:00
Pratyush Anand
d1424f3f66 mkdumprd: move to_dev_name() & get_persistent_dev() to kdump-lib.sh
to_dev_name() and get_persistent_dev() can be used by function in kdumpctl.
Therefore moving them to kdump-lib.sh.

No functional changes.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Acked-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Baoquan He <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-05-12 09:53:51 +08:00
Pratyush Anand
28e8c4b5ac kdumpctl: Move file modification check logic in check_system_modified()
Relevant kdump files are also part of system. Therefore, moving logic of
file modification checking in check_system_modified() function now.

No functional changes.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Acked-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Baoquan He <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-05-12 09:53:24 +08:00
Pratyush Anand
e4143381b1 kdumpctl: force rebuild in case of dynamic system modification
There could be some dynamic system modification, which may affect kdump
kernel boot process. In such situation initramfs must be rebuilt on the
basis of changes.
Since most of these checking methods will use information from
TARGET_INITRD, therefore check its existence in common code.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Acked-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Baoquan He <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-05-12 09:53:04 +08:00
Pratyush Anand
87964860b6 mkdumprd: do not lookup in by-uuid dirs for raw device's persistent name
raw devices are not mounted and also does not need to contain any
filesystem. So they may have UUIDs(when formatted) and may not have UUIDs
when raw. Therefore, do not look for persistent names by-uuid for raw
devices.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Suggested-by: Dave Young <dyoung@redhat.com>
Acked-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Baoquan He <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-05-12 09:51:19 +08:00
Pratyush Anand
8d44a2853d kdumpctl: Do not rebuild initramfs when $KDUMP_BOOTDIR is read only
When $KDUMP_BOOTDIR is RO then kexec-tools should not try rebuild initramfs
even when conditions for rebuild is met.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2016-05-11 14:35:20 +08:00
Dave Young
698fc10076 Release 2.0.12-3
Update kdump anaconda addon to adapt to blivet-2.0 API
See below pull request:
https://github.com/daveyoung/kdump-anaconda-addon/pull/8

Signed-off-by: Dave Young <dyoung@redhat.com>
2016-03-29 17:14:19 +08:00
Dave Young
fcc71ad6ef Release 2.0.12-2 2016-03-25 10:36:09 +08:00
Dave Young
59c1aab531 ppc64le: fix kexec hang due to ppc64 elf abi breakage
Fedora bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1310495

kexec kernel hangs in ppc64le test. It is caused by kexec does not support
abi v2 properly.

Backport upstream patches below fixes the issue:
There is no code conflicts.

commit 3debb8cf3272216119cb2e59a4963ce3c18fe8e3
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Feb 26 18:06:15 2016 +1100

    Properly align powerpc64 .toc

    gcc leaves .toc byte aligned, relying on the linker to align the section.

        * kexec/arch/ppc64/kexec-elf-rel-ppc64.c (machine_verify_elf_rel):
        Fudge alignment of .toc section.

    Signed-off-by: Alan Modra <amodra@gmail.com>
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Tested-by: Dave Young <dyoung@redhat.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>

commit 1e423dc297d10eb7ff25c829d2856ef12fc81d77
Author: Anton Blanchard <anton@samba.org>
Date:   Fri Feb 26 18:04:16 2016 +1100

    ppc64: purgatory: Handle local symbols in ELF ABIv2

    The PowerPC64 ELF ABIv2 has the concept of global and local symbols
    and information on this is encoded in sym->st_other. When doing a
    R_PPC64_REL24 branch we want to hit the local entry point, so adjust
    it as necessary.

    Signed-off-by: Anton Blanchard <anton@samba.org>
    Tested-by: Dave Young <dyoung@redhat.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>

commit 4a2ae3a39c64dc43e9d094be9541253234ff4822
Author: Anton Blanchard <anton@samba.org>
Date:   Fri Feb 26 18:03:11 2016 +1100

    Pass struct mem_sym into machine_apply_elf_rel()

    On PowerPC64 ABIv2 we need to look at the symbol to determine
    if it has a local entry point. Pass struct mem_sym into
    machine_apply_elf_rel() so we can.

    Signed-off-by: Anton Blanchard <anton@samba.org>
    Tested-by: Dave Young <dyoung@redhat.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>

Signed-off-by: Dave Young <dyoung@redhat.com>
Acked-by: Xunlei Pang <xlpang@redhat.com>
2016-03-25 10:35:44 +08:00
Dave Young
962f4d9d16 Release 2.0.12-1
Rebase to upstream 2.0.12
2016-03-22 17:00:57 +08:00
Dennis Gilmore
1ee26c817f - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 01:56:18 +00:00
Dave Young
5bb315a9a4 Release 2.0.11-3 2015-12-11 15:24:54 +08:00
Dave Young
b253434819 use "systemctl reboot -f" for reboot action
In latest rawhide kdump kernel reboot hangs because systemd reports a
conflict when kdump calls reboot during booting. Need further investigation
about the new systemd behavior.

Here is the error message copied from kdump session:
[snip]
kdump: saving vmcore complete
Failed to start reboot.target: Transaction contains conflicting jobs 'stop' and 'start' for shutdown.target. Probably contradicting requirement dependencies configured.
Failed to talk to init daemon.
[FAILED] Failed to start Kdump Vmcore Save Service.
[snip]

We previouly use "reboot -f" but later we changed to reboot because we want
systemd to take care of the shutdown path, mainly for umount filesystems.

Change back to "reboot -f" works but we still need umount by ourselves.
During my tests with "reboot -f" I get below dirty ext2 filesystem:

[root@localhost ~]# fsck /dev/vdb
fsck from util-linux 2.27
e2fsck 1.42.13 (17-May-2015)
/dev/vdb was not cleanly unmounted, check forced.

Actually "reboot -f" equals to "systemctl reboot -f -f"

systemctl manpage says "-f" and "-f -f" means different behavior:
When use -f with reboot, will execute reboot without shutting down all units.
However all processes will be killed forcibly and all file systems are
unmounted or remounted read-only. If -f is specified twice, will reboot
immediately without terminating any processes or unmounting any file systems.

Thus change to use "systemctl reboot -f" for our reboot actions. It can fix
the problem and at the same time it can ensure filesystems are umounted before
rebooting.

OTOH, a systemd changes cause the breakage, it may be a system service new
design, Later I can dig into systemd changes see which commit cause the
breakage.

Signed-off-by: Dave Young <dyoung@redhat.com
Signed-off-by: Dangyi Liu <dliu@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2015-12-11 15:20:54 +08:00
Dave Young
53564adc08 Remove kernel param "quiet" from kdump kernel cmdline
"quiet" will disable most of log messages. For debugging kdump
kernel purpose it is better to remove quiet in 2nd kernel so that
we always see kernel messages.

Signed-off-by: Dangyi Liu <dliu@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-12-11 15:18:31 +08:00
Dangyi Liu
3ec336c06c kdump.sysconfig: add KDUMP_COMMANDLINE_REMOVE
Use KDUMP_COMMANDLINE_REMOVE config instead of hardcode them in
kdumpctl, which makes it possible system admins decide what params to
remove such as "quiet" or other debug flags.

This patch also adds backward compatibility even if an old config is
used. It will behave the same as the old version.

Signed-off-by: Dangyi Liu <dliu@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-12-11 15:16:35 +08:00
dyoung@redhat.com
386c6411d2 Add missing prefixes in default sysconfig file
For arches we do not exlictly support, kdumpctl will fail with errors because
kernel can not be found. It is caused by there's no proper KDUMP_IMG prefix
so kernel image can not be found.

Kexec/kdump functionality may simply work, so let's add those prefix in
default sysconfig file thus one can test and use kexec/kdump in Fedora.

Signed-off-by: Dave Young <dyoung@redhat.com>
Reviewed-by: Pratyush Anand <panand@redhat.com>
2015-12-11 15:13:18 +08:00
Dave Young
49b222871a fix bogus date in changelog 2015-11-19 11:30:36 +08:00
Dave Young
d94d7f3ccc Release 2.0.11-2
Rebase makedumpfile 1.5.9

Signed-off-by: Dave Young <dyoung@redhat.com>
2015-11-19 11:23:05 +08:00
Dave Young
1b6121d5d3 Release 2.0.11-1 2015-11-09 10:37:30 +08:00
Dave Young
ee540e62a3 Release 2.0.10-9 2015-10-19 10:39:22 +08:00
Zhou Wenjian
cbe5943f9e kexec-kdump-howto:Add introduction of parallel dumping
Add descriptions of parallel dumping and how to use it.

Signed-off-by: Zhou Wenjian <zhouwj-fnst@cn.fujitsu.com>
Reviewed-by: Pratyush Anand <panand@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-10-19 10:37:08 +08:00
Minfei Huang
7f44d3ee37 Remove duplicate prefix path ${initdir}
dracut will place the config in the random path during generating the
initramfs. Remove the duplicate prefix path ${initdir}.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-10-19 10:36:37 +08:00
Dave Young
77951bf1d3 Release 2.0.10-8 2015-09-08 14:03:57 +08:00
Dave Young
f85fd280f3 Update kdump anaconda addon
Pulled below commit from Martin Kolman:

commit 0c68135bd14788bc6b3f7f901eb2d2cb8ba76f79
Author: Martin Kolman <martin.kolman@gmail.com>
Date:   Mon Sep 7 14:46:42 2015 +0200

    Don't put options after the %end of the %addon section

    Otherwise the installation describing kickstart will not be valid.
    This can resulting in various issues such, as Initial Setup refusing
    to run due to invalid kickstart file.
2015-09-08 14:02:19 +08:00
Dangyi Liu
088c2b2a14 kdumpctl: Remove slub_debug from cmdline
slub_debug parameter enables debug for slub, making each object take
more memory than normal. During a typical kdump, "slub_debug=FZPU" will
cost about 33MB additional memory. If users really want to enable this
parameter, they should specify it in KDUMP_COMMANDLINE_APPEND.

Signed-off-by: Dangyi Liu <dliu@redhat.com>
2015-08-24 10:04:52 +08:00
Dave Young
0c5372e80b Release 2.0.10-7 2015-08-19 14:18:57 +08:00
Dangyi Liu
37dc7c286c kdumpctl: Add man page for kdumpctl
kdumpctl is useful sometimes when users want to debug or setup ssh key
authentication. So add a man page for it.

Signed-off-by: Dangyi Liu <dliu@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Reviewed-by: Pratyush Anand <panand@redhat.com>
2015-08-19 14:15:34 +08:00
Baoquan He
54747162a3 Release 2.0.10-6 2015-08-13 15:55:08 +08:00
Dangyi Liu
97c5d890b2 mkdumprd: Remove ifcfg from dracut's modules
Ifcfg depends on network module, which is quite large and useless
when using a local dump target. Also we don't really need ifcfg to
setup network interfaces. So just remove it.

On fedora22, the uncompressed dumprd would decrease about 20MB when
using a local dump target. A regression testing is also conducted with
targets of nfs and ssh.

Signed-off-by: Dangyi Liu <dliu@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2015-08-13 15:52:55 +08:00
Minfei Huang
b57fd97ba5 module-setup: Choose the first matched gateway in kdump_static_ip
The system may have multiple default route entry. Following is an
example to show the details.

 # ip -6 route list dev eth0
2620:52:0:1040::/64  proto kernel  metric 256  expires 2591978sec fe80::/64  proto kernel  metric 256
default via fe80:52:0:1040::1  proto ra  metric 1024  expires 1778sec hoplimit 64
default via fe80:52:0:1040::2  proto ra  metric 1024  expires 1778sec hoplimit 64

Choose the first matched entry.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2015-08-13 15:51:30 +08:00
Minfei Huang
e8e5a6a2d1 module-setup: Add permanent option to detect static ip address or not
Dracut will die in the situation that dracut detects to use dhcp to
setup ip address, but kdump passes the ip address to it.

In commit 7ea50dc7a3, we start to use
option permanent to get the ip address in kdump_static_ip. If the
network is setuped by static, we will get the ip address, otherwise
getting none.

In commit c994a80698 which it used to
support ipv6 protocol, I miss the option permanent.

This patch is not a fixing patch, just pulls back something to make
kdump work as original.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-08-13 15:49:53 +08:00
Dave Young
4a505f62a9 Release 2.0.10-5 2015-08-04 13:32:53 +08:00
Dave Young
579e1725d0 Update kdump addon
Moving isys.total_memory() call to class method to avoid installation hangs.
It is possible because totoal_memory will call log.info which need log lock.
but some loging function need import gettext module which need import lock.
Thus deadlock could happen.

Moved isys.total_memory callback to class method instead.
2015-08-04 13:28:53 +08:00
Dave Young
87d25d54e5 Release 2.0.10-4 2015-07-28 12:47:50 +08:00
Minfei Huang
ea13e7ab98 dracut-module-setup: Enhance ISCSI to support ipv6 protocol
Due to the different format between ipv4 and ipv6 protocol, quote the
ipv6 address with bracket "[]" to make dracut notify.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-07-28 12:42:17 +08:00
Minfei Huang
2ba32c6ccf dracut-module-setup: Prefer ipv4 address as the hostname address
Kdump will parse the hostname to get the ip address, if hostname is
specfied in /etc/kdump.conf. We will get the ip address(ipv4 or ipv6,
according to the DNS server) by using "getent hosts".

For now, it is more reasonable that we shall get all of the ip
address(including ipv4 and ipv6 address) which point to the hostname by
using "getent ahosts". And we will prefer to use the ipv4 address, if
both ipv4 and ipv6 address work.

The reason why we choose the ipv4 as preferred address is to solve the
issue kdump will fail to connect the hostname machine(parsed as ipv6
address), due to the DNS server is ipv4 address in 2nd kernel.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-07-28 12:42:17 +08:00
Minfei Huang
c994a80698 dracut-module-setup: Support the network for ipv6 protocol
Previously, Kdump will save route to setup the network route in the 2nd
kernel for ipv4 protocol. To support ipv6 protocol, make Kdump fetch
correct nexthop, since the ruturning format is different.

In order to enhance kdump to support ipv6, support the static ip for
ipv6 protocol, which ipv4 has supported already.

Introduce a new lib function get_remote_host which is used to factor out
the ip address(ipv4 or ipv6) and hostname in /etc/kdump.conf.

Introduce a new lib function is_ipv6_address which is used to make sure
whether the passed ip address is ipv4 or ipv6.

Introduce a new lib function is_hostname which is used to confirm
whether the passed parameter is hostname, not the ip address.

Introduce a new function get_ip_route_field which is used to factor out
the specified string in ip route info.

Due to the different format between ipv4 and ipv6 protocol, quote the
ipv6 address with bracket "[]" to make dracut notify.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-07-28 12:42:17 +08:00
Minfei Huang
edec8a8266 dracut-kdump: Use the first filtered ip address as dump directory
For now, Kdump will use ipv4 address as dump directory, and it works, if
ipv4 is enabled.

Once Kdump start to support ipv6 protocol, we may only setup the ipv6
address exclusively. Modify the code to make Kdump work in either ipv4
and ipv6 protocol.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2015-07-28 12:42:17 +08:00
Minfei Huang
51cfe4f81c dracut-module-setup: Apply the manual DNS to the 2nd kernel
Now Kdump will ingore the DNS config in /etc/resolv.conf, when it
generates the initram. And most users do not concern about this issue,
because they never use deployment tools to configure machines
environment, like puppet.

It is more convenient to add the DNS config to /etc/resolv.conf for
people who use deployment tools to configure machines concurrently.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2015-07-28 12:41:45 +08:00
Dave Young
a75b17ef91 watchdog: load iTCO_wdt early in cmdline hook
We have added *wdt in kdump initramfs, but to improve it more we can do below
(1) load wdt drivers as early as possible so that we can save time before wdt timeout
    some drivers like iTCO_wdt can stop the watchdog while driver initialization, so
    it can give more chance for kdump.
    It can save time especially in case some drivers take long time to init, like
    some storage and networking cards.
(2) add only used wdt drivers in kdump initrd instead of add *wdt
    wdt driver layer need a change so that we can get the proper driver name from
    /dev/watchdog. Question to this is are we sure 1st kernel use /dev/watchdog
    instead of /dev/watchdog1? It need more investigation.
(3) in case a driver can not stop (nowayout?) during module_init, we need load it
    as early as possible and kick the watchdog. Likely we can use systemd default
    watchdog functionality.

This patch is about to address (1), and specially for iTCO_wdt, we only tested
iTCO_wdt, thus in this patch only add this driver, need investigate on other drivers
later to see if other drivers works in this way.

Signed-off-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Minfei Huang <mhuang@redhat.com>
2015-07-28 12:35:54 +08:00