Hi,
Since Friday (looks like related to Centos update), containers based on centos-8 images are not able to automatically get ipv4 address.
To reproduce:
lxc launch images:centos/8 fresh
lxc list
+-------+---------+---------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+-------+---------+---------------------+------+-----------+-----------+
| fresh | RUNNING | | | CONTAINER | 0 |
Logs:
-- Logs begin at Sun 2021-06-06 17:57:10 UTC, end at Sun 2021-06-06 17:57:21 UTC. --
Jun 06 17:57:10 fresh systemd-journald[425]: Journal started
Jun 06 17:57:10 fresh systemd-journald[425]: Runtime journal (/run/log/journal/bb2535490cf648c485782e5ff586b7e2) is 8.0M, max 1.5G, 1.5G free.
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '0' to 'kernel/yama/ptrace_scope', ignoring: Permission denied
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e' to 'kernel/core_pattern', ignoring: Permission denied
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '16' to 'kernel/sysrq', ignoring: Permission denied
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '1' to 'kernel/core_uses_pid', ignoring: Permission denied
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '1' to 'kernel/kptr_restrict', ignoring: Permission denied
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write 'fq_codel' to 'net/core/default_qdisc', ignoring: No such file or directory
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '1' to 'fs/protected_hardlinks', ignoring: Permission denied
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '1' to 'fs/protected_symlinks', ignoring: Permission denied
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '81920' to 'net/core/optmem_max', ignoring: No such file or directory
Jun 06 17:57:10 fresh systemd-sysctl[426]: Couldn't write '4194304' to 'kernel/pid_max', ignoring: Permission denied
Jun 06 17:57:10 fresh systemd[1]: Starting Flush Journal to Persistent Storage...
Jun 06 17:57:10 fresh systemd-journald[425]: Runtime journal (/run/log/journal/bb2535490cf648c485782e5ff586b7e2) is 8.0M, max 1.5G, 1.5G free.
Jun 06 17:57:10 fresh systemd[1]: Started Flush Journal to Persistent Storage.
Jun 06 17:57:10 fresh systemd[1]: Starting Create Volatile Files and Directories...
Jun 06 17:57:10 fresh systemd[1]: Started Rebuild Journal Catalog.
Jun 06 17:57:10 fresh systemd[1]: Started Create Volatile Files and Directories.
Jun 06 17:57:10 fresh systemd[1]: Starting Update UTMP about System Boot/Shutdown...
Jun 06 17:57:10 fresh systemd[1]: Started Update UTMP about System Boot/Shutdown.
Jun 06 17:57:10 fresh systemd[1]: Started udev Coldplug all Devices.
Jun 06 17:57:10 fresh systemd[1]: Started Rebuild Dynamic Linker Cache.
Jun 06 17:57:10 fresh systemd[1]: Started Rebuild Hardware Database.
Jun 06 17:57:10 fresh systemd[1]: Starting Update is Completed...
Jun 06 17:57:10 fresh systemd[1]: Starting udev Kernel Device Manager...
Jun 06 17:57:10 fresh systemd[1]: Started Update is Completed.
Jun 06 17:57:10 fresh systemd[1]: Started udev Kernel Device Manager.
Jun 06 17:57:10 fresh systemd[1]: Reached target System Initialization.
Jun 06 17:57:10 fresh systemd[1]: Started dnf makecache --timer.
Jun 06 17:57:10 fresh systemd[1]: Listening on D-Bus System Message Bus Socket.
Jun 06 17:57:10 fresh systemd[1]: Reached target Sockets.
Jun 06 17:57:10 fresh systemd[1]: Reached target Basic System.
Jun 06 17:57:10 fresh systemd-udevd[442]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Jun 06 17:57:10 fresh systemd[1]: Starting Turn off network device...
Jun 06 17:57:10 fresh systemd-udevd[443]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Jun 06 17:57:10 fresh systemd[1]: Starting Login Service...
Jun 06 17:57:10 fresh systemd[1]: Started Daily Cleanup of Temporary Directories.
Jun 06 17:57:10 fresh systemd[1]: Reached target Timers.
Jun 06 17:57:10 fresh systemd[1]: Started D-Bus System Message Bus.
Jun 06 17:57:10 fresh systemd[1]: Started Turn off network device.
Jun 06 17:57:10 fresh systemd[1]: Starting Network Manager...
Jun 06 17:57:10 fresh systemd-logind[447]: New seat seat0.
Jun 06 17:57:10 fresh systemd[1]: Started Login Service.
Jun 06 17:57:10 fresh NetworkManager[451]: <info> [1623002230.9606] NetworkManager (version 1.30.0-7.el8) is starting... (for the first time)
Jun 06 17:57:10 fresh NetworkManager[451]: <info> [1623002230.9607] Read config: /etc/NetworkManager/NetworkManager.conf
Jun 06 17:57:10 fresh systemd[1]: Started Network Manager.
Jun 06 17:57:10 fresh NetworkManager[451]: <info> [1623002230.9623] bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Jun 06 17:57:10 fresh systemd[1]: Reached target Network.
Jun 06 17:57:10 fresh systemd[1]: Starting Permit User Sessions...
Jun 06 17:57:10 fresh systemd[1]: Starting Network Manager Wait Online...
Jun 06 17:57:10 fresh NetworkManager[451]: <info> [1623002230.9641] manager[0x55ef14d870a0]: monitoring kernel firmware directory '/lib/firmware'.
Jun 06 17:57:10 fresh dbus-daemon[448]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.2' (uid=0 pid=451 comm="/usr/sbin/Ne
tworkManager --no-daemon " label="kernel")
Jun 06 17:57:10 fresh systemd[1]: Starting Hostname Service...
Jun 06 17:57:10 fresh systemd[1]: Started Permit User Sessions.
Jun 06 17:57:10 fresh systemd[1]: Started Command Scheduler.
Jun 06 17:57:10 fresh systemd[1]: Started Console Getty.
Jun 06 17:57:10 fresh systemd[1]: Reached target Login Prompts.
Jun 06 17:57:10 fresh crond[461]: (CRON) STARTUP (1.5.2)
Jun 06 17:57:10 fresh crond[461]: (CRON) INFO (Syslog will be used instead of sendmail.)
Jun 06 17:57:10 fresh crond[461]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 42% if used.)
Jun 06 17:57:10 fresh crond[461]: (CRON) INFO (running with inotify support)
Jun 06 17:57:11 fresh dbus-daemon[448]: [system] Successfully activated service 'org.freedesktop.hostname1'
Jun 06 17:57:11 fresh systemd[1]: Started Hostname Service.
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0018] hostname: hostname: using hostnamed
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0022] dns-mgr[0x55ef14d7b130]: init: dns=default,systemd-resolved rc-manager=symlink
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0029] rfkill0: found Wi-Fi radio killswitch (at /sys/devices/platform/dell-laptop/rfkill/rfkill0) (platform driver dell-laptop)
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0057] manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0058] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0059] manager: Networking is enabled by state file
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0060] dhcp-init: Using DHCP client 'internal'
Jun 06 17:57:11 fresh dbus-daemon[448]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.2' (uid=0 pid=451 comm="/usr
/sbin/NetworkManager --no-daemon " label="kernel")
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0075] settings: Loaded settings plugin: ifcfg-rh ("/usr/lib64/NetworkManager/1.30.0-7.el8/libnm-settings-plugin-ifcfg-rh.so")
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0075] settings: Loaded settings plugin: keyfile (internal)
Jun 06 17:57:11 fresh NetworkManager[451]: <warn> [1623002231.0078] ifcfg-rh: invalid MTU ''
Jun 06 17:57:11 fresh systemd[1]: Starting Network Manager Script Dispatcher Service...
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0093] device (lo): carrier: link connected
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0095] manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0103] manager: (eth0): new Veth device (/org/freedesktop/NetworkManager/Devices/2)
Jun 06 17:57:11 fresh NetworkManager[451]: <info> [1623002231.0125] manager: startup complete
Jun 06 17:57:11 fresh systemd[1]: Started Network Manager Wait Online.
Jun 06 17:57:11 fresh systemd[1]: Reached target Network is Online.
Jun 06 17:57:11 fresh dbus-daemon[448]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Jun 06 17:57:11 fresh systemd[1]: Starting System Logging Service...
Jun 06 17:57:11 fresh systemd[1]: Started Network Manager Script Dispatcher Service.
Jun 06 17:57:11 fresh rsyslogd[466]: [origin software="rsyslogd" swVersion="8.1911.0-7.el8" x-pid="466" x-info="https://www.rsyslog.com"] start
Jun 06 17:57:11 fresh rsyslogd[466]: imjournal: No statefile exists, /var/lib/rsyslog/imjournal.state will be created (ignore if this is first run): No such file or directory [v8.1911.0-7.e
l8 try https://www.rsyslog.com/e/2040 ]
Jun 06 17:57:11 fresh systemd[1]: Started System Logging Service.
Jun 06 17:57:11 fresh systemd[1]: Reached target Multi-User System.
Jun 06 17:57:11 fresh systemd[1]: Reached target Graphical Interface.
Jun 06 17:57:11 fresh systemd[1]: Starting Update UTMP about System Runlevel Changes...
Jun 06 17:57:11 fresh rsyslogd[466]: imjournal: journal files changed, reloading... [v8.1911.0-7.el8 try https://www.rsyslog.com/e/0 ]
Jun 06 17:57:11 fresh systemd[1]: systemd-update-utmp-runlevel.service: Succeeded.
Jun 06 17:57:11 fresh systemd[1]: Started Update UTMP about System Runlevel Changes.
Jun 06 17:57:11 fresh systemd[1]: Startup finished in 841ms.
Jun 06 17:57:21 fresh systemd[1]: NetworkManager-dispatcher.service: Succeeded.
Fedora 34
On my laptop (fedora 34) I’ve noticed that the container can get ipv4 if I bring up the interface manually:
[root@fresh ~]# nmcli
eth0: unmanaged
"eth0"
ethernet (veth), 00:16:3E:36:2E:D3, sw, mtu 1500
lo: unmanaged
"lo"
loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.
Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.
[root@fresh ~]# nmcli connection up System\ eth0
$ lxc list
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
+-------+---------+---------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+-------+---------+---------------------+------+-----------+-----------+
| fresh | RUNNING | 10.214.36.42 (eth0) | | CONTAINER | 0 |
Centos 8
On the remote server, we have Centos 8 as host OS. When I create a new container, it is not able to get ipv4 address. If I try to bring up the connection manually, I have the following error:
[root@fresh ~]# nmcli connection up System\ eth0
Error: Connection activation failed: No suitable device found for this connection (device lo not available because device is strictly unmanaged).
The container has this version of NetworkManager:
[root@fresh ~]# dnf list --installed | grep NetworkManager
NetworkManager.x86_64 1:1.30.0-7.el8 @baseos
NetworkManager-libnm.x86_64 1:1.30.0-7.el8 @baseos
However, If I downgrade NetworkManager to something older (1.26.0-12) it works!
Network details:
[client@lxd-node2 ~]$lxc network list
+----------------+----------+---------+----------------+------+-------------+---------+
| NAME | TYPE | MANAGED | IPV4 | IPV6 | DESCRIPTION | USED BY |
+----------------+----------+---------+----------------+------+-------------+---------+
| enp5s0f3u2u3c2 | physical | NO | | | | 0 |
+----------------+----------+---------+----------------+------+-------------+---------+
| enp195s0 | physical | NO | | | | 0 |
+----------------+----------+---------+----------------+------+-------------+---------+
| lxdbr0 | bridge | YES | 192.168.2.1/24 | none | LXD network | 2 |
+----------------+----------+---------+----------------+------+-------------+---------+
[client@lxd-node2 ~]$lxc network show lxdbr0
config:
ipv4.address: 192.168.2.1/24
ipv4.nat: "true"
ipv6.address: none
description: LXD network
name: lxdbr0
type: bridge
used_by:
- /1.0/instances/fresh
- /1.0/profiles/default
managed: true
status: Created
locations:
- none