Bug 1366935

Summary: [RHEL-7.3] Anaconda does not present IPoIB interfaces in TUI when install OS over PXE IPoIB
Product: Red Hat Enterprise Linux 7 Reporter: Honggang LI <honli>
Component: anacondaAssignee: Radek Vykydal <rvykydal>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: high Docs Contact: Petr Bokoc <pbokoc>
Priority: high    
Version: 7.3CC: honli, infiniband-qe, jkachuck, jstodola, kheib, mhruscak, pbokoc, rdma-dev-team, rvykydal, sbueno, trinh.dao, yizhan
Target Milestone: rcKeywords: FutureFeature
Target Release: 7.4   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: anaconda-21.48.22.97-1 Doc Type: Enhancement
Doc Text:
*Anaconda* text mode now supports IPoIB interfaces This update adds support for IP over InfiniBand (IPoIB) network interfaces during manual installation in text mode. You can now view IPoIB interface status information and change interface configuration.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 08:50:51 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:
Bug Depends On:    
Bug Blocks: 1354610, 1395321, 1446211    

Description Honggang LI 2016-08-15 02:49:33 UTC
Description of problem:

When Mellanox test PXE IPoIB, they can't failed because anaconda does not present IPoIB interfaces. The IPoIB interface (used for PXE) is up and running with a valid IP address. I confirmed this with RHEL-7.3-20160729.1.


================================================================================
Installation

 1) [x] Language settings                 2) [x] Time settings
        (English (United States))                (Africa/Abidjan timezone)
 3) [x] Installation source               4) [x] Software selection
        (http://172.31.2.3/RHEL-7.3-201          (Minimal Install)
        60729.1/)                         6) [x] Kdump
 5) [x] Installation Destination                 (Kdump is enabled)
        (Automatic partitioning           8) [x] Root password
        selected)                                (Password is set.)
 7) [x] Network configuration
        (Unknown)
 9) [ ] User creation
        (No user will be created)
  Please make your choice from above ['q' to quit | 'b' to begin installation |
  'r' to refresh]: 7
================================================================================

As you see, ib0 and ib1 are missing......

================================================================================
Network configuration

Wired (eno1) disconnected
Wired (ens4f0) disconnected
 2)  Configure device eno1
 3)  Configure device ens4f0
 4)  Configure device ens4f1
 5)  Configure device eno2
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c
================================================================================
================================================================================
Installation

 1) [x] Language settings                 2) [x] Time settings
        (English (United States))                (Africa/Abidjan timezone)
 3) [x] Installation source               4) [x] Software selection
        (http://172.31.2.3/RHEL-7.3-201          (Minimal Install)
        60729.1/)                         6) [x] Kdump
 5) [x] Installation Destination                 (Kdump is enabled)
        (Automatic partitioning           8) [x] Root password
        selected)                                (Password is set.)
 7) [x] Network configuration
        (Unknown)
 9) [ ] User creation
        (No user will be created)
  Please make your choice from above ['q' to quit | 'b' to begin installation |
  'r' to refresh]: b
================================================================================
================================================================================
Progress
Setting up the installation environment
.
Creating disklabel on /dev/sda

(omit many console log. As I used 'ks.device=bootif ip=ib0:dhcp biosdevname=0', ib0 had been used and installation works for me.


**********************************************************************
As sshd is running on the PXE client machine, I login over ssh and dump the network interface status.

[root@ib2-qa-03 tftpboot]# ssh 172.31.2.100
Warning: Permanently added '172.31.2.100' (ECDSA) to the list of known hosts.
[anaconda root@localhost ~]# ip addr show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ib0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2044 qdisc pfifo_fast state UP qlen 256
    link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:c9:03:00:b3:c7:c1 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
    inet 172.31.2.101/24 brd 172.31.2.255 scope global dynamic ib0
       valid_lft 42701sec preferred_lft 42701sec
    inet 172.31.2.100/24 brd 172.31.2.255 scope global secondary dynamic ib0
       valid_lft 42880sec preferred_lft 42880sec
    inet6 fe80::202:c903:b3:c7c1/64 scope link 
       valid_lft forever preferred_lft forever
3: ib1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2044 qdisc pfifo_fast state UP qlen 256
    link/infiniband 80:00:02:09:fe:80:00:00:00:00:00:01:00:02:c9:03:00:b3:c7:c2 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
4: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 2c:59:e5:48:6d:40 brd ff:ff:ff:ff:ff:ff
5: ens4f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:15:17:ae:f0:ea brd ff:ff:ff:ff:ff:ff
6: ens4f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:15:17:ae:f0:eb brd ff:ff:ff:ff:ff:ff
7: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 2c:59:e5:48:6d:44 brd ff:ff:ff:ff:ff:ff
[anaconda root@localhost ~]# exit





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


How reproducible:
always

Steps to Reproduce:
1.
2.
3.

Actual results:
IPoIB interfaces are missing.

Expected results:
Allow user to select and configure IPoIB interfaces.

Additional info:

Comment 1 Honggang LI 2016-08-15 02:51:46 UTC
Add Mellanox on-site engineer, Kamal Heib <kheib>, into the CC'ed list.

Comment 2 Honggang LI 2016-08-15 03:06:00 UTC
Provide additional info to help anyone try to reproduce/test this bug with rdma03/04.


[root@ib2-qa-03 tftpboot]# grep -i distro /etc/motd
                           DISTRO=RHEL-7.3-20160729.1

[root@ib2-qa-03 ~]# yum install -y syslinux httpd tftp-server dhcp

[root@ib2-qa-03 ~]#  cp /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/
[root@ib2-qa-03 ~]#  cp /usr/share/syslinux/chain.c32    /var/lib/tftpboot/
[root@ib2-qa-03 ~]#  cp /usr/share/syslinux/menu.c32     /var/lib/tftpboot/
[root@ib2-qa-03 ~]#  cp /usr/share/syslinux/memdisk      /var/lib/tftpboot/
[root@ib2-qa-03 ~]#  cp /usr/share/syslinux/mboot.c32    /var/lib/tftpboot/
[root@ib2-qa-03 ~]# ls /var/lib/tftpboot/
chain.c32  mboot.c32  memdisk  menu.c32  pxelinux.0

[root@ib2-qa-03 ~]# mkdir /var/www/html/RHEL-7.3-20160729.1
[root@ib2-qa-03 ~]# mount -o loop /root/RHEL-7.3-20160729.1-Server-x86_64-dvd1.iso /var/www/html/RHEL-7.3-20160729.1
mount: /dev/loop0 is write-protected, mounting read-only
[root@ib2-qa-03 ~]# cp -rp /var/www/html/RHEL-7.3-20160729.1/images/pxeboot /var/lib/tftpboot/RHEL-7.3-20160729.1/images/pxeboot

[root@ib2-qa-03 ~]# ls /var/lib/tftpboot/RHEL-7.3-20160729.1/images/pxeboot/
initrd.img  TRANS.TBL  upgrade.img  vmlinuz

# You have to setup the GUIDS for opensm, as the HCAs on rdma03/04 are connected
# back to back. Without this, the IB ports won't get reset/initialize again when
# remote PXE client reboot (the HCA ports lost power supply).
[root@ib2-qa-03 ~]# grep -v '^#' /etc/sysconfig/opensm 
GUIDS="0x0002c90300b3cff1 0x0002c90300b3cff2"



[root@ib2-qa-03 ~]# cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#	protocol.  The tftp protocol is often used to boot diskless \
#	workstations, download configuration files to network-aware printers, \
#	and to start the installation process for some operating systems.
service tftp
{
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	server_args		= -s /var/lib/tftpboot
	disable			= no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}
[root@ib2-qa-03 ~]# 


[root@ib2-qa-03 ~]# ip addr show mlx4_ib1
8: mlx4_ib1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65520 qdisc pfifo_fast state UP qlen 256
    link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:c9:03:00:b3:cf:f1 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
    inet 172.31.2.3/24 brd 172.31.2.255 scope global mlx4_ib1
       valid_lft forever preferred_lft forever
    inet6 fe80::202:c903:b3:cff1/64 scope link 
       valid_lft forever preferred_lft forever
[root@ib2-qa-03 ~]# 



[root@ib2-qa-03 ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

DHCPDARGS="mlx4_ib1";

option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;

subnet 172.31.2.0 netmask 255.255.255.0 {
        option routers 10.0.0.254;
        range 172.31.2.100 172.31.2.101;
	always-broadcast on;


        class "pxeclients" {
                match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
                next-server 172.31.2.3;
                filename "pxelinux.0";
        }

        host rdma04-ib1 {
		option dhcp-client-identifier = 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:c9:03:00:b3:c7:c1;
                fixed-address 172.31.2.100;
        }
}

[root@ib2-qa-03 ~]# 



[root@ib2-qa-03 ~]# systemctl enable httpd.service
[root@ib2-qa-03 ~]# systemctl enable dhcpd.service
[root@ib2-qa-03 ~]# systemctl enable tftp.service

[root@ib2-qa-03 ~]# systemctl start tftp.service
[root@ib2-qa-03 ~]# systemctl start httpd.service
[root@ib2-qa-03 ~]# systemctl start dhcpd.service

[root@ib2-qa-03 ~]# systemctl status dhcpd.service
[root@ib2-qa-03 ~]# systemctl status tftp.service
[root@ib2-qa-03 ~]# systemctl status httpd.service

[root@ib2-qa-03 ~]# systemctl stop  firewalld.service

[root@ib2-qa-03 tftpboot]# cat /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu.c32
PROMPT 0
TIMEOUT 100
#ONTIMEOUT local
#ONTIMEOUT RHEL-7.3-20160719.1
ONTIMEOUT RHEL-7.3-20160729.1

MENU TITLE PXE Menu

MENU seperator
LABEL local
MENU LABEL Boot local hard drive
LOCALBOOT 0

LABEL  RHEL-7.3-20160729.1
KERNEL RHEL-7.3-20160729.1/images/pxeboot/vmlinuz
APPEND initrd=RHEL-7.3-20160729.1/images/pxeboot/initrd.img  inst.repo=http://172.31.2.3/RHEL-7.3-20160729.1/ ks.device=bootif ip=ib0:dhcp biosdevname=0  sshd rd.shell rd.debug=0 rd.neednet=1 rdloaddriver=mlx4_ib,ib_ipoib,ib_iser console=ttyS1,115200n81 inst.text

LABEL  RHEL-7.3-20160719.1
KERNEL RHEL-7.3-20160719.1/images/pxeboot/vmlinuz
APPEND initrd=RHEL-7.3-20160719.1/images/pxeboot/initrd.img  inst.repo=http://172.31.2.3/RHEL-7.3-20160719.1/ ks.device=bootif ip=ib0:dhcp biosdevname=0  sshd rd.shell rd.debug=0 rd.neednet=1 rdloaddriver=mlx4_ib,ib_ipoib,ib_iser console=ttyS1,115200n81 inst.text
[root@ib2-qa-03 tftpboot]#

Comment 3 Radek Vykydal 2016-08-15 08:41:25 UTC
We need to support

Comment 4 Radek Vykydal 2016-08-15 08:47:51 UTC
We'd need to add support for NetworkManager.DeviceType.INFINIBAND to text mode network spoke. This should not be very hard but testing might be difficult. Seems like material for RHEL 7.4 at this point. If also configuration is reqested, as a workaround it should be possible to use nmcli in installation environment shell (tty2).

Comment 7 Joseph Kachuck 2016-09-20 20:36:49 UTC
Hello,
This is now requested for RHEL 7.4.

Thank You
Joe Kachuck

Comment 12 Radek Vykydal 2017-02-02 13:18:35 UTC
Hello, could you please point me to some beaker rdma IPoIB machine I could loan for a few days develop the patches with? I am a member of infiniband group.

Comment 13 Radek Vykydal 2017-02-02 13:39:38 UTC
I am currently trying rdma-dev-19.lab.bos.redhat.com which seems to work for me.

Comment 16 Radek Vykydal 2017-02-07 09:40:33 UTC
https://github.com/rhinstaller/anaconda/pull/951

Comment 21 Honggang LI 2017-05-24 10:01:15 UTC
Tested RHEL-7.4-20170519.n.0. Issue had been fixed.

Please respond 'yes' or 'no': yes
================================================================================
================================================================================
Installation

 1) [x] Language settings                 2) [x] Time settings
        (English (United States))                (Europe/Amsterdam timezone)
 3) [x] Installation source               4) [x] Software selection
        (http://172.31.2.3/RHEL-7.4-201          (Minimal Install)
        70519.n.0/)                       6) [x] Kdump
 5) [!] Installation Destination                 (Kdump is enabled)
        (No disks selected)               8) [x] Root password
 7) [x] Network configuration                    (Password is set.)
        (Wired (ib0) connected)
 9) [ ] User creation
        (No user will be created)
  Please make your choice from above ['q' to quit | 'b' to begin installation |
  'r' to refresh]: 


************************************************************************
Wired (eno1) disconnected
Wired (eno2) disconnected
Wired (ens4f0) disconnected
Wired (ens4f1) disconnected
Wired (ib0) connected
 IPv4 Address: 172.31.2.101 Netmask: 255.255.255.0 Gateway: 10.0.0.254
 DNS:
Wired (ib1) disconnected

Host name: localhost.localdomain

Current host name: localhost.localdomain

 1)  Set host name
 2)  Configure device eno1
 3)  Configure device eno2
 4)  Configure device ens4f0
 5)  Configure device ens4f1
 6)  Configure device ib0
 7)  Configure device ib1
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 
*********************************************************************

Comment 22 Jan Stodola 2017-05-30 10:46:37 UTC
Honggang LI, thank you for retesting this bug.

Moving to VERIFIED based on comment 21.

Comment 23 Trinh Dao 2017-06-13 03:26:21 UTC
marked HPE verified per comment 21

Comment 24 Fedora Update System 2017-06-13 16:25:00 UTC
anaconda-26.21.8-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-f8d6a1f05a

Comment 25 Fedora Update System 2017-06-15 13:57:36 UTC
anaconda-26.21.8-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-f8d6a1f05a

Comment 26 Jan Stodola 2017-06-15 14:36:33 UTC
Back to VERIFIED.

Comment 27 Fedora Update System 2017-06-16 12:16:50 UTC
anaconda-26.21.9-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-f8d6a1f05a

Comment 28 Fedora Update System 2017-06-16 22:22:46 UTC
anaconda-26.21.9-1.fc26, pykickstart-2.35-1.fc26, python-blivet-2.1.9-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-f8d6a1f05a

Comment 29 errata-xmlrpc 2017-08-01 08:50:51 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-2017:2293