diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2015-02-18 23:15:58 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2015-03-09 11:47:24 +0000 |
commit | a405070d275132dc02435dc4d5bffee16f78e702 (patch) | |
tree | 8622f19718db6d0f4d01c95f2c5f485f40746d20 | |
parent | e18f497f2adfcfd6c53644ffbaf2c8f0e191573e (diff) | |
download | definitions-a405070d275132dc02435dc4d5bffee16f78e702.tar.gz |
Add wait-for-bind script between openvswitch and network-pre
Ordering openvswitch before networkd is not sufficient alone, because
openvswitch doesn't wait for all its initial config to complete before
reporting that it has finished starting.
-rw-r--r-- | openstack/etc/systemd/system/openvswitch-wait-for-bind@.service | 16 | ||||
-rw-r--r-- | openstack/manifest | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/openstack/etc/systemd/system/openvswitch-wait-for-bind@.service b/openstack/etc/systemd/system/openvswitch-wait-for-bind@.service new file mode 100644 index 00000000..a736fe3d --- /dev/null +++ b/openstack/etc/systemd/system/openvswitch-wait-for-bind@.service @@ -0,0 +1,16 @@ +# Open vSwitch doesn't wait for all the interfaces to be configured before +# reporting "started", but we need to start networkd after they have been bound, +# so this unit waits for the interface to be bound before continuing, and is +# ordered before network-pre.target, which networkd orders itself after. +[Unit] +Description=Wait for Open vSwitch to bind %i +Requires=openvswitch.service +After=openvswitch.service +Before=network-pre.target + +[Service] +Type=oneshot +RemainAfterExit=true +ExecStart=/bin/sh -c \ + 'while ! readlink /sys/class/net/$1/master; do sleep 1; done' \ + - %I diff --git a/openstack/manifest b/openstack/manifest index 8c7b9915..9229606a 100644 --- a/openstack/manifest +++ b/openstack/manifest @@ -141,6 +141,7 @@ 0100644 0 0 /etc/systemd/system/openvswitch-setup.service 0100644 0 0 /etc/systemd/system/openvswitch-db-server.service 0100644 0 0 /etc/systemd/system/openvswitch.service +0100644 0 0 /etc/systemd/system/openvswitch-wait-for-bind@.service 0100755 0 0 /usr/share/openstack/openstack-neutron-network-configuration-for-one-node 0100644 0 0 /etc/systemd/system/openstack-neutron-network-configuration-one-node.service 0100644 0 0 /etc/systemd/system/openvswitch-initialize-db.service |