Network.c:lxc_delete_network_priv:2589 - Operation not permitted - Failed to remove interface "eth0"

On Gentoo ~amd64 with lxd-3.7, I’m seeing an error with network interface initialization when launching or init/starting containers. I’m not clear whether the eth0 referred to in the log output is container eth0 or host eth0.

With a freshly lxd init’d instance, preseed output as follows:

config: {}
networks:
- config:
    ipv4.address: auto
    ipv6.address: auto
  description: ""
  managed: false
  name: lxdbr0
  type: ""
storage_pools:
- config:
    source: /dev/sda2
  description: ""
  name: lxd
  driver: zfs
profiles:
- config: {}
  description: ""
  devices:
    eth0:
      name: eth0
      nictype: bridged
      parent: lxdbr0
      type: nic
    root:
      path: /
      pool: lxd
      type: disk
  name: default
cluster: null

Instances fail as follows:

$ lxc launch bionic b001
Creating b001
Starting b001
Error: Failed to run: /usr/sbin/lxd forkstart b001 /var/lib/lxd/containers /var/log/lxd/b001/lxc.conf:
Try `lxc info --show-log local:b001` for more info

$ lxc info --show-log local:b001
Name: b001
Location: none
Remote: unix://
Architecture: x86_64
Created: 2018/12/10 07:19 UTC
Status: Stopped
Type: persistent
Profiles: default

Log:

lxc b001 20181210071924.622 ERROR    conf - conf.c:run_buffer:335 - Script exited with status 32
lxc b001 20181210071924.622 ERROR    conf - conf.c:lxc_setup:3589 - Failed to run mount hooks
lxc b001 20181210071924.622 ERROR    start - start.c:do_start:1263 - Failed to setup container "b001"
lxc b001 20181210071924.623 ERROR    sync - sync.c:__sync_wait:62 - An error occurred in another process (expected sequence number 5)
lxc b001 20181210071924.624 WARN     network - network.c:lxc_delete_network_priv:2589 - Operation not permitted - Failed to remove interface "eth0" with index 14
lxc b001 20181210071924.624 ERROR    lxccontainer - lxccontainer.c:wait_on_daemonized_start:842 - Received container state "ABORTING" instead of "RUNNING"
lxc b001 20181210071924.628 ERROR    start - start.c:__lxc_start:1939 - Failed to spawn container "b001"
lxc b001 20181210071924.694 ERROR    utils - utils.c:recursive_destroy:1727 - No such file or directory - Failed to open dir "/sys/fs/cgroup/openrc//lxc/b001"
lxc b001 20181210071924.694 WARN     cgfsng - cgroups/cgfsng.c:cgroup_rmdir:1058 - Failed to destroy "/sys/fs/cgroup/openrc//lxc/b001"
lxc 20181210071924.715 WARN     commands - commands.c:lxc_cmd_rsp_recv:132 - Connection reset by peer - Failed to receive response for command "get_state"

Behavior is the same with all distro images I’ve tried bionic, xenial, alpine, fedora etc.

The Gentoo shows a normal bridge instance:

$ sudo brctl show
bridge name     bridge id               STP enabled     interfaces
lxdbr0          8000.000000000000       no

On the host Gentoo host, eth0 is present but down. Wireless and wired connection as managed by connman (using iwd for wireless)

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
3: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
11: lxdbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000

My sudo-enabled user is in group lxd. No change if I run the above as sudo.

Thanks for any suggestions on troubleshooting steps.