Bug 1477339

Summary: The installer can't initialize point-to-point networking device due to bogus duplicate address check
Product: Red Hat Enterprise Linux 7 Reporter: Mikuláš Patočka <mpatocka>
Component: dracutAssignee: Lukáš Nykrýn <lnykryn>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.3CC: atragler, bgalvani, bruce.howells, dracut-maint-list, fgiudici, harald, jbastian, jcm, jstodola, lrintel, mpatocka, pkotvan, qguo, rkhan, sukulkar, thaller
Target Milestone: rc   
Target Release: ---   
Hardware: s390x   
OS: Linux   
Whiteboard:
Fixed In Version: dracut-033-520.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 18:07:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
rdsosreport.txt none

Description Mikuláš Patočka 2017-08-01 20:21:21 UTC
Description of problem:
When attempting to install RHEL 7 s390x in a Hercules emulator, point to point netowrking driver CTC is used. The installer can't initialize the network device because of bogus duplicate address check.

Version-Release number of selected component (if applicable):
RHEL 7.3

How reproducible:
Always

Steps to Reproduce:
Download the Hercules emulator from git://github.com/rbowler/spinhawk and install it.

Create the followin file rhel.cnf
CPUSERIAL 000069        # CPU serial number
CPUMODEL  9672          # CPU model number
MAINSIZE  2176          # Main storage size in megabytes
XPNDSIZE  0             # Expanded storage size in megabytes
CNSLPORT  3270          # TCP port number to which consoles connect
NUMCPU    12            # Number of CPUs
LOADPARM  0120....      # IPL parameter
OSTAILOR  LINUX         # OS tailoring
PANRATE   SLOW          # Panel refresh rate (SLOW, FAST)
ARCHMODE  z/Arch        # Architecture mode ESA/390 or ESAME
ECPSVM    NO
OSTAILOR  LINUX
# dasd
#0110    9336    ./dasd/9336.RHEL.0110
# network                               s390          realbox
0A00,0A01  CTCI -n /dev/net/tun -t 1500 192.168.193.6 192.168.193.5

Download the files kernel.img, initrd.img and initrd.addrsize from RHEL 7.3 s390x repository.

Create the following file rhel.prm:
ro ramdisk_size=40000 cio_ignore=all,!condev rd.dasd=0.0.0110 rd.znet=ctc,0.0.0a00,0.0.0a01,protocol=0 ip=192.168.193.6:192.168.193.5:192.168.193.5:32:z-rhel7.vm:slccw0.0.0a00:none nameserver=192.168.128.1 inst.repo=http://download.eng.brq.redhat.com/released/RHEL-7/7.3/Server/s390x/os/

Create the following file rhel.ins:
kernel.img 0x00000000
initrd.img 0x02000000
rhel.prm 0x00010480
initrd.addrsize 0x00010408

Run the emulator:
$ hercules -f rhel.cnf
ipl rhel.ins

Actual results:
The system won't initialize network and download the installer:
Warning: /dev/root does not exist
Generating "/run/initramfs/rdsosreport.txt"
Entering emergency mode. Exit the shell to continue.
Type "journalctl" to view system logs.
You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot
after mounting them and attach it to a bug report.

The file "/run/initramfs/rdsosreport.txt" contains these lines:
   298.305492! localhost kernel: net slccw0.0.0a00: Connected with remote side
   298.563430! localhost dracut-initqueue 729!: RTNETLINK answers: Network is unreachable                                                                       
   298.639811! localhost dracut-initqueue 729!: arping: Device slccw0.0.0a00 not available.                                                                     
   298.683340! localhost dracut-initqueue 729!: Warning: Duplicate address detected for 192.168.193.6 for interface slccw0.0.0a00.

The test for duplicate addresses doesn't make sense because the device slccw0.0.0a00 is a point-to-point device.

You can configure networking manually with these commands (you must type a dot before each command, so that the emulator passes the command to the system console):
./usr/sbin/ip link set slccw0.0.0a00 up
./usr/sbin/ip addr add 192.168.193.6 peer 192.168.193.5 dev slccw0.0.0a00
./usr/sbin/ip route add default via 192.168.193.5
.echo nameserver 192.168.128.1 >/etc/resolv.conf
When the networking is configured manually, it works (though, I don't know how to make it download the installer after manual configuration).

Expected results:
The installer should be able to configure networking on point-to-point interfaces.

Additional info:

Comment 2 Beniamino Galvani 2017-08-01 20:30:37 UTC
This does not belong to NetworkManager, reassigning to dracut.

Comment 3 Lukáš Nykrýn 2017-08-02 09:15:06 UTC
Can you please attach /run/initramfs/rdsosreport.txt from the machine?

Comment 4 Mikuláš Patočka 2017-08-02 19:59:25 UTC
Created attachment 1308450 [details]
rdsosreport.txt

Comment 5 Mikuláš Patočka 2017-08-02 20:02:30 UTC
Here I submit rdsosreport.txt. I tried it with the new RHEL 7.4, but the bug is still there.

Comment 9 Jon Masters 2017-12-18 07:24:57 UTC
Thank you! This has wasted hours of my time trying to figure it out until I just saw this! Definitely a candidate for a z-stream and a note for existing users.

Comment 13 Peter Kotvan 2018-01-30 08:08:58 UTC
Hi Mikulas,

could you please test this and check if the fix is working as expected?

Thank you.

Comment 17 errata-xmlrpc 2018-04-10 18:07:53 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0964