In /var/log/upstart/nova-compute.log I get as expected:
libvirt-bin start/running, process 1409
wait-for-state stop/waiting
neutron-ovs-cleanup stop/waiting
wait-for-state stop/waiting
And if I add a 10 second delay to /usr/bin/neutron-ovs-cleanup I get as expected:
(time sudo service neutron-ovs-cleanup restart &); time sudo service nova-compute restart
nova-compute stop/waiting
neutron-ovs-cleanup stop/waiting
neutron-ovs-cleanup start/running
real 0m10.460s
user 0m0.010s
sys 0m0.015s
nova-compute start/running, process 3026
real 0m10.468s
user 0m0.010s
sys 0m0.014s
So, nova-compute will now always wait for ovs-cleanup to complete and I tested that if ovs-cleanup is not installed it gets ignored and nova-compute starts.
I have tested both the attached Icehouse and Juno patches and can confirm that they behave as expected i.e.
Installed nova-compute + neutron- plugin- openvswitch- agent (which installs neutron- ovs-cleanup)
In /var/log/ upstart/ nova-compute. log I get as expected:
libvirt-bin start/running, process 1409
wait-for-state stop/waiting
neutron-ovs-cleanup stop/waiting
wait-for-state stop/waiting
And if I add a 10 second delay to /usr/bin/ neutron- ovs-cleanup I get as expected:
(time sudo service neutron-ovs-cleanup restart &); time sudo service nova-compute restart
nova-compute stop/waiting
neutron-ovs-cleanup stop/waiting
neutron-ovs-cleanup start/running
real 0m10.460s
user 0m0.010s
sys 0m0.015s
nova-compute start/running, process 3026
real 0m10.468s
user 0m0.010s
sys 0m0.014s
So, nova-compute will now always wait for ovs-cleanup to complete and I tested that if ovs-cleanup is not installed it gets ignored and nova-compute starts.