From e73fe96e2c89e2c9b7fe4b7057e903121a7e8264 Mon Sep 17 00:00:00 2001 From: Richard Maw Date: Mon, 9 Mar 2015 16:18:32 +0000 Subject: Only start neutron-openvswitch-plugin after cleanup has finished ovs-cleanup is responsible for reconciling the state in openvswitch's database and neutron's configuration. This can fail if other services are also changing ovs configuration though, and the missing dependency resulted in neutron removing the interface while ovs-cleanup was about to do so. --- openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service | 6 ++++-- openstack/etc/systemd/system/openvswitch-wait-for-bind@.service | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service b/openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service index 5eaf8a30..083cf701 100644 --- a/openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service +++ b/openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service @@ -1,10 +1,12 @@ [Unit] Description=Neutron OVS cleanup -After=network-online.target openstack-neutron-setup.service +After=network-online.target openstack-neutron-setup.service openvswitch.service +Before=openstack-neutron-plugin-openvswitch-agent.service ConditionFileIsExecutable=/usr/bin/neutron-ovs-cleanup [Service] -Type=simple +Type=oneshot +RemainAfterExit=yes User=neutron ExecStart=/usr/bin/neutron-ovs-cleanup \ --log-file /var/log/neutron/ovs-cleanup.log \ diff --git a/openstack/etc/systemd/system/openvswitch-wait-for-bind@.service b/openstack/etc/systemd/system/openvswitch-wait-for-bind@.service index a736fe3d..121c501c 100644 --- a/openstack/etc/systemd/system/openvswitch-wait-for-bind@.service +++ b/openstack/etc/systemd/system/openvswitch-wait-for-bind@.service @@ -10,7 +10,7 @@ Before=network-pre.target [Service] Type=oneshot -RemainAfterExit=true +RemainAfterExit=yes ExecStart=/bin/sh -c \ 'while ! readlink /sys/class/net/$1/master; do sleep 1; done' \ - %I -- cgit v1.2.1