I reviewed the systemd unit files that have a dependency on neutron-ovs-
cleanup and I think we could use some updates there as well to tighten
up the dependency on neutron-ovs-cleanup.

We currently have the following and I think the latter 3 should be
updated with a Requires like neutron-openvswitch-agent.service has. The
After= only handles order when unit files are started together, whereas
Requires= will start the required service if it is not already active
and will fail this serivce if the required service fails to start.

Description=Openstack Neutron Open vSwitch Plugin Agent
After=mysql.service postgresql.service rabbitmq-server.service keystone.service

Description=OpenStack Neutron L3 agent
After=mysql.service postgresql.service rabbitmq-server.service keystone.service 
openvswitch-switch.service neutron-ovs-cleanup.service

Description=OpenStack Neutron DHCP agent
After=mysql.service postgresql.service rabbitmq-server.service keystone.service 

Description=OpenStack Compute
After=libvirtd.service postgresql.service mysql.service keystone.service 
rabbitmq-server.service ntp.service neutron-ovs-cleanup.service

Another point of concern was that neutron-ovs-cleanup may not finish prior to 
dependent units starting. That won't happen with the After= option specified. 
From the systemd.service man page:
"Note that systemd will consider the unit to be in the state "starting" until 
the program has terminated, so ordered dependencies will wait for the program 
to finish before starting themselves."

neutron-ovs-cleanup is a Type=oneshot unit with RemainAfterExit=yes,
which means that it will run

You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

  [SRU] neutron-ovs-cleanup runs earlier than ovsdb-server when there
  are many port

To manage notifications about this bug go to:

ubuntu-bugs mailing list

Reply via email to