Hi all,
while I was trying to get all different kinds of network device types of s390x working (bug reports in bugzilla pending), I got it working nicely with the traditional network service, which is what users would typically use in a data center.
NetworkManager requires the activation (chkconfig) of the services messagebus, haldaemon. Then NM works with static IP settings through nm-system-settings, which is what we need in linuxrc.s390/loader/anaconda, and seems to detect at least qeth and lcs devices (it doesn't touch ctc and netiucv). Tested with NetworkManager-0.7.1-4.git20090414.fc11.1.s390x.
Support for the s390 bus types ccw, ccwgroup, and iucv (which is sufficient for all network types as well as dasd, zfcp, and tape) has been in HAL since 2005 [http://lists.freedesktop.org/archives/hal/2005-June/002628.html, http://cgit.freedesktop.org/hal/commit/?id=2ed3c042c13f741b8a2166e4551d9dbee...]. Only when NM changes to udev for device sensing there might need to be new support for s390. See the attachment for an example output of lshal of a z/VM 5.3 guest on a z10 with 12 different types of network devices as well as dasd and zfcp.
If lo and eth0 (a real OSA NIC) are the only network devices defined by means of ifcfg file in /etc/sysconfig/network-scripts/ and they have been brought up by the network service on boot, I can startup NM and eth0 keeps working. This is what I see in syslog-ng:
Jun 21 19:12:44 h4245010 NetworkManager: <info> starting... Jun 21 19:12:44 h4245010 NetworkManager: <WARN> nm_generic_enable_loopback(): error -17 returned from rtnl_addr_add(): Sucess Jun 21 19:12:44 h4245010 NetworkManager: <info> (eth0): new Ethernet device (driver: 'qeth') Jun 21 19:12:44 h4245010 NetworkManager: <info> (eth0): exported as /org/freedesktop/Hal/devices/net_02_00_00_eb_a5_4b Jun 21 19:12:44 h4245010 NetworkManager: <info> Trying to start the supplicant... Jun 21 19:12:44 h4245010 NetworkManager: <info> Trying to start the system settings daemon... Jun 21 19:12:44 h4245010 NetworkManager: <info> (eth0): carrier now ON (device state 1) Jun 21 19:12:44 h4245010 nm-system-settings: Loaded plugin ifcfg-rh: (c) 2007 - 2008 Red Hat, Inc. To report bugs please use the NetworkManager mailing list. Jun 21 19:12:44 h4245010 nm-system-settings: ifcfg-rh: parsing /etc/sysconfig/network-scripts/ifcfg-eth0 ... Jun 21 19:12:44 h4245010 nm-system-settings: ifcfg-rh: read connection 'System eth0' Jun 21 19:12:44 h4245010 nm-system-settings: ifcfg-rh: parsing /etc/sysconfig/network-scripts/ifcfg-lo ... Jun 21 19:12:48 h4245010 NetworkManager: <info> (eth0): device state change: 1 -> 2 Jun 21 19:12:48 h4245010 NetworkManager: <info> (eth0): preparing device. Jun 21 19:12:48 h4245010 NetworkManager: <info> (eth0): deactivating device (reason: 2). Jun 21 19:12:48 h4245010 NetworkManager: <WARN> check_one_route(): (eth0) error -34 returned from rtnl_route_del(): Sucess Jun 21 19:12:48 h4245010 NetworkManager: <info> (eth0): device state change: 2 -> 3 Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) starting connection 'System eth0' Jun 21 19:12:48 h4245010 NetworkManager: <info> (eth0): device state change: 3 -> 4 Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) scheduled... Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) started... Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) scheduled... Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) complete. Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) starting... Jun 21 19:12:48 h4245010 NetworkManager: <info> (eth0): device state change: 4 -> 5 Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) successful. Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) scheduled. Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) complete. Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) started... Jun 21 19:12:48 h4245010 NetworkManager: <info> (eth0): device state change: 5 -> 7 Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP Configure Get) scheduled... Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) complete. Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP Configure Get) started... Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 5 of 5 (IP Configure Commit) scheduled... Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP Configure Get) complete. Jun 21 19:12:48 h4245010 NetworkManager: <info> Activation (eth0) Stage 5 of 5 (IP Configure Commit) started... Jun 21 19:12:49 h4245010 NetworkManager: <info> (eth0): device state change: 7 -> 8 Jun 21 19:12:49 h4245010 NetworkManager: <info> Policy set 'System eth0' (eth0) as default for routing and DNS. Jun 21 19:12:49 h4245010 NetworkManager: <info> Activation (eth0) successful, device activated. Jun 21 19:12:49 h4245010 NetworkManager: <info> Activation (eth0) Stage 5 of 5 (IP Configure Commit) complete.
# nm-tool
NetworkManager Tool
State: connected
** (process:2189): WARNING **: error: failed to read connections from org.freedesktop.NetworkManagerUserSettings: The name org.freedesktop.NetworkManagerUserSettings was not provided by any .service files
Device: eth0 [System eth0] -------------------------------------------------- Type: Wired Driver: qeth State: connected Default: yes HW Address: 02:00:00:EB:A5:4B
Capabilities: Carrier Detect: yes Speed: 1000 Mb/s
Wired Properties Carrier: on
IPv4 Settings: Address: X.Y.108.140 Prefix: 22 (255.255.252.0) Gateway: X.Y.108.1
DNS: X.Y.120.241 DNS: X.Y.64.172
Also the output of nm-tool looks promising. If I start "anaconda -t -T", I find the following in /tmp/anacdump.txt after it bails out on sensing DASDs:
id.network: Network instance, containing members: id.network.netdevices: {'eth0': DEVICE=eth0 BOOTPROTO=none DNS1=X.Y.120.241 DNS2=X.Y.64.172 HWADDR=02:00:00:EB:A5:4B IPADDR=X.Y.108.140 NETMASK=255.255.252.0 NETTYPE=qeth ONBOOT=yes SUBCHANNELS=0.0.f5f0,0.0.f5f1,0.0.f5f2 USERCTL=no
} id.network.ksdevice: None id.network.overrideDHCPhostname: False id.network.hostname: XYZ.boeblingen.de.ibm.com id.network.domains: [boeblingen.de.ibm.com ibm.com]
This seems to be very good with regard to network so far.
Steffen
Linux on System z Development
IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschäftsführung: Erich Baier Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294
Update for LCS, which also worked fine so far.
On 06/21/2009 07:21 PM, Steffen Maier wrote:
NetworkManager requires the activation (chkconfig) of the services messagebus, haldaemon. Then NM works with static IP settings through nm-system-settings, which is what we need in linuxrc.s390/loader/anaconda, and seems to detect at least qeth and lcs devices (it doesn't touch ctc and netiucv). Tested with NetworkManager-0.7.1-4.git20090414.fc11.1.s390x.
If lo and eth0 (a real OSA NIC) are the only network devices defined by means of ifcfg file in /etc/sysconfig/network-scripts/ and they have been brought up by the network service on boot, I can startup NM and eth0 keeps working. This is what I see in syslog-ng:
After successfully testing a real OSA with the qeth driver and NM last time, I tested a real LCS (actually an OSA with CHPID type OSE) with the lcs driver and NM this time.
# cat /etc/sysconfig/network-scripts/ifcfg-eth1 # IBM LCS DEVICE=eth1 #ARP=no BOOTPROTO=static IPADDR=10.20.49.2 NETMASK=255.255.0.0 NETTYPE=lcs ONBOOT=yes SUBCHANNELS=0.0.1240,0.0.1241 # set GATEWAYDEV to non-existing device to prevent default route GATEWAYDEV=zzz
# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:14:5e:b7:d9:79 brd ff:ff:ff:ff:ff:ff inet 10.20.49.2/16 brd 10.20.255.255 scope global eth1 inet6 fe80::214:5eff:feb7:d979/64 scope link valid_lft forever preferred_lft forever
Besides the loopback, there is only one lcs device as eth1 (persistent network udev magic), no eth0. So there is one device to be managed by NM to provide network access to the network repository.
On startup of NetworkManager I see this in syslog-ng:
Jul 2 19:03:58 h4245010 NetworkManager: <info> starting... Jul 2 19:03:58 h4245010 NetworkManager: <WARN> nm_generic_enable_loopback(): error -17 returned from rtnl_addr_add(): Sucess Jul 2 19:03:58 h4245010 NetworkManager: <info> (eth1): driver 'lcs' does not support carrier detection. You must switch to it manually. Jul 2 19:03:58 h4245010 NetworkManager: <info> (eth1): new Ethernet device (driver: 'lcs') Jul 2 19:03:58 h4245010 NetworkManager: <info> (eth1): exported as /org/freedesktop/Hal/devices/net_00_14_5e_b7_d9_79_0 Jul 2 19:03:58 h4245010 NetworkManager: <info> (eth1): driver 'lcs' does not support carrier detection. You must switch to it manually. Jul 2 19:03:58 h4245010 NetworkManager: <info> (eth1): new Ethernet device (driver: 'lcs') Jul 2 19:03:58 h4245010 NetworkManager: <info> (eth1): exported as /org/freedesktop/Hal/devices/net_00_14_5e_b7_d9_79 Jul 2 19:03:58 h4245010 NetworkManager: <info> Trying to start the supplicant... Jul 2 19:03:58 h4245010 NetworkManager: <info> Trying to start the system settings daemon... Jul 2 19:03:58 h4245010 nm-system-settings: Loaded plugin ifcfg-rh: (c) 2007 - 2008 Red Hat, Inc. To report bugs please use the NetworkManager mailing list. Jul 2 19:03:58 h4245010 nm-system-settings: ifcfg-rh: parsing /etc/sysconfig/network-scripts/ifcfg-eth1 ... Jul 2 19:03:58 h4245010 nm-system-settings: ifcfg-rh: read connection 'System eth1' Jul 2 19:03:58 h4245010 nm-system-settings: ifcfg-rh: parsing /etc/sysconfig/network-scripts/ifcfg-lo ... Jul 2 19:04:02 h4245010 NetworkManager: <info> (eth1): device state change: 1 -> 2 Jul 2 19:04:02 h4245010 NetworkManager: <info> (eth1): preparing device. Jul 2 19:04:02 h4245010 NetworkManager: <info> (eth1): deactivating device (reason: 2). Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 1 -> 2 Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): preparing device. Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): deactivating device (reason: 2). Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 2 -> 3 Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 2 -> 3 Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) starting connection 'System eth1' Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 3 -> 4 Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) scheduled... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) starting connection 'System eth1' Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 3 -> 4 Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) scheduled... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) started... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) scheduled... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) complete. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) started... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) scheduled... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) complete. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) starting... Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 4 -> 5 Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) successful. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) scheduled. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) complete. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) starting... Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 4 -> 5 Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) successful. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) scheduled. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) complete. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) started... Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 5 -> 7 Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Get) scheduled... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) complete. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) started... Jul 2 19:04:03 h4245010 NetworkManager: <info> (eth1): device state change: 5 -> 7 Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Get) scheduled... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) complete. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Get) started... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 5 of 5 (IP Configure Commit) scheduled... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Get) complete. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Get) started... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 5 of 5 (IP Configure Commit) scheduled... Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Get) complete. Jul 2 19:04:03 h4245010 NetworkManager: <info> Activation (eth1) Stage 5 of 5 (IP Configure Commit) started... Jul 2 19:04:04 h4245010 NetworkManager: <info> (eth1): device state change: 7 -> 8 Jul 2 19:04:04 h4245010 NetworkManager: <info> Activation (eth1) successful, device activated. Jul 2 19:04:04 h4245010 NetworkManager: <info> Activation (eth1) Stage 5 of 5 (IP Configure Commit) complete. Jul 2 19:04:04 h4245010 NetworkManager: <info> Activation (eth1) Stage 5 of 5 (IP Configure Commit) started... Jul 2 19:04:05 h4245010 NetworkManager: <info> (eth1): device state change: 7 -> 8 Jul 2 19:04:05 h4245010 NetworkManager: <info> Activation (eth1) successful, device activated. Jul 2 19:04:05 h4245010 NetworkManager: <info> Activation (eth1) Stage 5 of 5 (IP Configure Commit) complete.
# nm-tool
NetworkManager Tool
State: connected
** (process:2096): WARNING **: error: failed to read connections from org.freedesktop.NetworkManagerUserSettings: The name org.freedesktop.NetworkManagerUserSettings was not provided by any .service files
Device: eth1 [System eth1] -------------------------------------------------- Type: Wired Driver: lcs State: connected Default: no HW Address: 00:14:5E:B7:D9:79
Capabilities:
Wired Properties Carrier: on
IPv4 Settings: Address: 10.20.49.2 Prefix: 16 (255.255.0.0) Gateway: X.Y.108.1
Device: eth1 [System eth1] -------------------------------------------------- Type: Wired Driver: lcs State: connected Default: no HW Address: 00:14:5E:B7:D9:79
Capabilities:
Wired Properties Carrier: on
IPv4 Settings: Address: 10.20.49.2 Prefix: 16 (255.255.0.0) Gateway: X.Y.108.1
Also the output of nm-tool looks promising. Please ignore the gateway. It's an unused leftover of my qeth tests in /etc/sysconfig/network.
This time I ran a more complete anaconda test. F11 booted from an FCP SCSI disk, no DASD to get around the parted bug. Started services: messagebus, haldaemon, NetworkManager. Also vncserver to get around the fact that anaconda/gtk requires some X11 extension my RHED 5.3 based Xserver doesn't have.
# anaconda --repo=http://10.20.10.63/ks/steffenm/ --debug --loglevel=debug
Could successfully run up through the point where it tries to download the RPMs from the network repository. Since my test repo had only repodata but no RPMs, it got stuck here, which is fine. At least it could access the repodata over the network.
Steffen
Linux on System z Development
IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschäftsführung: Erich Baier Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294