diff options
Diffstat (limited to 'docker/openvswitch/ovs-vswitchd')
| -rw-r--r-- | docker/openvswitch/ovs-vswitchd/Dockerfile.j2 | 9 | ||||
| -rw-r--r-- | docker/openvswitch/ovs-vswitchd/config-external.sh | 3 | ||||
| -rwxr-xr-x | docker/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh | 17 | ||||
| -rwxr-xr-x | docker/openvswitch/ovs-vswitchd/start.sh | 19 |
4 files changed, 48 insertions, 0 deletions
diff --git a/docker/openvswitch/ovs-vswitchd/Dockerfile.j2 b/docker/openvswitch/ovs-vswitchd/Dockerfile.j2 new file mode 100644 index 000000000..59079d335 --- /dev/null +++ b/docker/openvswitch/ovs-vswitchd/Dockerfile.j2 @@ -0,0 +1,9 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ovs-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +COPY start.sh / +COPY ovs_ensure_configured.sh config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/openvswitch/ovs-vswitchd/config-external.sh b/docker/openvswitch/ovs-vswitchd/config-external.sh new file mode 100644 index 000000000..9ada4efcb --- /dev/null +++ b/docker/openvswitch/ovs-vswitchd/config-external.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +#This file should be a noop. It just needs to exist, but it don't perform any function diff --git a/docker/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh b/docker/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh new file mode 100755 index 000000000..c39d64ff7 --- /dev/null +++ b/docker/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +bridge=$1 +port=$2 + +ovs-vsctl br-exists $bridge; rc=$? +if [[ $rc == 2 ]]; then + changed=changed + ovs-vsctl add-br $bridge +fi + +if [[ ! $(ovs-vsctl list-ports $bridge) =~ $(echo "\<$port\>") ]]; then + changed=changed + ovs-vsctl add-port $bridge $port +fi + +echo $changed diff --git a/docker/openvswitch/ovs-vswitchd/start.sh b/docker/openvswitch/ovs-vswitchd/start.sh new file mode 100755 index 000000000..3ec2c26b2 --- /dev/null +++ b/docker/openvswitch/ovs-vswitchd/start.sh @@ -0,0 +1,19 @@ +#!/bin/bash +LOG_FILE="/var/log/openvswitch/ovs-vswitchd.log" +DB_FILE="/etc/openvswitch/conf.db" +UNIXSOCK_DIR="/var/run/openvswitch" +UNIXSOCK="${UNIXSOCK_DIR}/db.sock" + +CMD="/usr/sbin/ovs-vswitchd" +ARGS="unix:${UNIXSOCK} -vconsole:emer -vsyslog:err -vfile:info --mlockall --log-file=${LOG_FILE}" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +# Execute config strategy +set_configs + +modprobe openvswitch +mkdir -p "${UNIXSOCK_DIR}" + +exec $CMD $ARGS |
