summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2015-03-09 16:18:32 +0000
committerRichard Maw <richard.maw@codethink.co.uk>2015-03-09 16:18:32 +0000
commite73fe96e2c89e2c9b7fe4b7057e903121a7e8264 (patch)
treeceaf15c50fe53b7f5acd49f73cf49a58de4d07c8
parent6033263ac1ced9c57cf5032cfb1e94babc683970 (diff)
downloaddefinitions-e73fe96e2c89e2c9b7fe4b7057e903121a7e8264.tar.gz
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.
-rw-r--r--openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service6
-rw-r--r--openstack/etc/systemd/system/openvswitch-wait-for-bind@.service2
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