nova-compute daemon failing to vif_plug on Bionic/Queens after do-release-upgrade from Xenial
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Nova Compute Charm |
New
|
Undecided
|
Unassigned | ||
systemd |
New
|
Undecided
|
Unassigned |
Bug Description
We are finding that upon Ubuntu series upgrade from xenial to bionic when running Queens nova-compute (kvm/qemu hypervisor) units with the 21.04 openstack charms, that nova-compute service is not waiting for OVS to be online before starting.
Looking at the systemd dependency tree, it appears that nova-compute.
ubuntu@
nova-compute.
● └─multi-user.target
● └─graphical.target
ubuntu@
neutron-
● ├─neutron-
● └─multi-user.target
● └─graphical.target
ubuntu@comp001:~$ cat /etc/systemd/
[Unit]
Description=
After=libvirtd.
*snip*
ubuntu@comp001:~$ cat /etc/systemd/
[Unit]
Description=
After=openvswit
ubuntu@comp001:~$ cat /etc/systemd/
[Unit]
Description=Open vSwitch
Before=
After=network-
PartOf=
Requires=
Requires=
*snip*
ubuntu@comp001:~$ journalctl -u ovsdb-server -S 2021-05-12
*snip*
May 12 14:33:53 comp001 systemd[1]: Started Open vSwitch Database Unit.
*snip*
ubuntu@comp001:~$ journalctl -u nova-compute -S 2021-05-12
*snip*
-- Reboot --
May 12 14:33:16 comp001 systemd[1]: Started OpenStack Compute.
May 12 14:33:20 comp001 sudo[145958]: nova : TTY=unknown ; PWD=/var/lib/nova ; USER=root ; COMMAND=
May 12 14:33:20 comp001 sudo[145958]: pam_unix(
May 12 14:33:21 comp001 sudo[145958]: pam_unix(
May 12 14:33:22 comp001 ovs-vsctl[146707]: ovs|00001|
May 12 14:33:22 comp001 ovs-vsctl[146707]: ovs|00002|
*nova-compute-
May 12 14:37:01 comp001 systemd[1]: Started OpenStack Compute.
May 12 14:37:04 comp001 sudo[224716]: nova : TTY=unknown ; PWD=/var/lib/nova ; USER=root ; COMMAND=
May 12 14:37:04 comp001 sudo[224716]: pam_unix(
May 12 14:37:04 comp001 sudo[224716]: pam_unix(
May 12 14:37:05 comp001 ovs-vsctl[224795]: ovs|00001|
*snip*
tags: | added: series-upgrade |
This almost seems like a systemd bug, since "After" should imply "Wants" without it needing to be specified (as you can see in the 'systemctl list-dependencies neutron- ovs-cleanup' , After= is honored for that service as a pre-req.