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 /openstack | |
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.
Diffstat (limited to 'openstack')
-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 |