From d2d3e74e193b2ec5bdda8029b75218a10435a9a4 Mon Sep 17 00:00:00 2001 From: digambar Date: Fri, 3 Jul 2015 12:09:46 +0530 Subject: [PATCH] Add config-internal/config-external to OpenvSwitch containers Partially Implements: Blueprint standard-start Co-Authored-By: Swapnil Kulkarni Change-Id: I52ed4b56efe3fc4ebbc108b2fe7e9d69eb0f0928 --- .../binary/openvswitch/ovs-base/Dockerfile | 2 ++ .../openvswitch/ovs-base/config-external.sh | 1 + .../openvswitch/ovs-base/config-internal.sh | 1 + .../binary/openvswitch/ovs-db-server/Dockerfile | 3 ++- .../ovs-db-server/config-external.sh | 1 + .../ovs-db-server/config-internal.sh | 1 + .../binary/openvswitch/ovs-vswitchd/Dockerfile | 2 ++ .../openvswitch/ovs-vswitchd/config-external.sh | 1 + .../openvswitch/ovs-vswitchd/config-internal.sh | 1 + .../ovs-db-server/config-external.sh | 3 +++ .../ovs-db-server/config-internal.sh | 16 ++++++++++++++++ .../common/openvswitch/ovs-db-server/start.sh | 11 ++++++++++- .../openvswitch/ovs-vswitchd/config-external.sh | 3 +++ .../openvswitch/ovs-vswitchd/config-internal.sh | 15 +++++++++++++++ docker/common/openvswitch/ovs-vswitchd/start.sh | 17 +++++++++++------ 15 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 docker/centos/binary/openvswitch/ovs-base/config-external.sh create mode 100644 docker/centos/binary/openvswitch/ovs-base/config-internal.sh create mode 120000 docker/centos/binary/openvswitch/ovs-db-server/config-external.sh create mode 120000 docker/centos/binary/openvswitch/ovs-db-server/config-internal.sh create mode 120000 docker/centos/binary/openvswitch/ovs-vswitchd/config-external.sh create mode 120000 docker/centos/binary/openvswitch/ovs-vswitchd/config-internal.sh create mode 100644 docker/common/openvswitch/ovs-db-server/config-external.sh create mode 100644 docker/common/openvswitch/ovs-db-server/config-internal.sh create mode 100644 docker/common/openvswitch/ovs-vswitchd/config-external.sh create mode 100644 docker/common/openvswitch/ovs-vswitchd/config-internal.sh diff --git a/docker/centos/binary/openvswitch/ovs-base/Dockerfile b/docker/centos/binary/openvswitch/ovs-base/Dockerfile index 7d4ade54cd..98506b477b 100644 --- a/docker/centos/binary/openvswitch/ovs-base/Dockerfile +++ b/docker/centos/binary/openvswitch/ovs-base/Dockerfile @@ -3,3 +3,5 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla) RUN yum install -y openvswitch \ && yum clean all + +COPY config-internal.sh config-external.sh /opt/kolla/ diff --git a/docker/centos/binary/openvswitch/ovs-base/config-external.sh b/docker/centos/binary/openvswitch/ovs-base/config-external.sh new file mode 100644 index 0000000000..fc177a2860 --- /dev/null +++ b/docker/centos/binary/openvswitch/ovs-base/config-external.sh @@ -0,0 +1 @@ +../../../../common/openvswitch/ovs-base/config-external.sh diff --git a/docker/centos/binary/openvswitch/ovs-base/config-internal.sh b/docker/centos/binary/openvswitch/ovs-base/config-internal.sh new file mode 100644 index 0000000000..fc177a2860 --- /dev/null +++ b/docker/centos/binary/openvswitch/ovs-base/config-internal.sh @@ -0,0 +1 @@ +../../../../common/openvswitch/ovs-base/config-external.sh diff --git a/docker/centos/binary/openvswitch/ovs-db-server/Dockerfile b/docker/centos/binary/openvswitch/ovs-db-server/Dockerfile index 5728995b3a..c34d72302b 100644 --- a/docker/centos/binary/openvswitch/ovs-db-server/Dockerfile +++ b/docker/centos/binary/openvswitch/ovs-db-server/Dockerfile @@ -3,5 +3,6 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla) COPY ./start.sh /start.sh -CMD ["/start.sh"] +COPY config-internal.sh config-external.sh /opt/kolla/ +CMD ["/start.sh"] diff --git a/docker/centos/binary/openvswitch/ovs-db-server/config-external.sh b/docker/centos/binary/openvswitch/ovs-db-server/config-external.sh new file mode 120000 index 0000000000..36670d77d7 --- /dev/null +++ b/docker/centos/binary/openvswitch/ovs-db-server/config-external.sh @@ -0,0 +1 @@ +../../../../common/openvswitch/ovs-db-server/config-external.sh \ No newline at end of file diff --git a/docker/centos/binary/openvswitch/ovs-db-server/config-internal.sh b/docker/centos/binary/openvswitch/ovs-db-server/config-internal.sh new file mode 120000 index 0000000000..86927f3ddf --- /dev/null +++ b/docker/centos/binary/openvswitch/ovs-db-server/config-internal.sh @@ -0,0 +1 @@ +../../../../common/openvswitch/ovs-db-server/config-internal.sh \ No newline at end of file diff --git a/docker/centos/binary/openvswitch/ovs-vswitchd/Dockerfile b/docker/centos/binary/openvswitch/ovs-vswitchd/Dockerfile index 4acdb5d53f..c34d72302b 100644 --- a/docker/centos/binary/openvswitch/ovs-vswitchd/Dockerfile +++ b/docker/centos/binary/openvswitch/ovs-vswitchd/Dockerfile @@ -3,4 +3,6 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla) COPY ./start.sh /start.sh +COPY config-internal.sh config-external.sh /opt/kolla/ + CMD ["/start.sh"] diff --git a/docker/centos/binary/openvswitch/ovs-vswitchd/config-external.sh b/docker/centos/binary/openvswitch/ovs-vswitchd/config-external.sh new file mode 120000 index 0000000000..39b5c7dd64 --- /dev/null +++ b/docker/centos/binary/openvswitch/ovs-vswitchd/config-external.sh @@ -0,0 +1 @@ +../../../../common/openvswitch/ovs-vswitchd/config-external.sh \ No newline at end of file diff --git a/docker/centos/binary/openvswitch/ovs-vswitchd/config-internal.sh b/docker/centos/binary/openvswitch/ovs-vswitchd/config-internal.sh new file mode 120000 index 0000000000..dec53e36d4 --- /dev/null +++ b/docker/centos/binary/openvswitch/ovs-vswitchd/config-internal.sh @@ -0,0 +1 @@ +../../../../common/openvswitch/ovs-vswitchd/config-internal.sh \ No newline at end of file diff --git a/docker/common/openvswitch/ovs-db-server/config-external.sh b/docker/common/openvswitch/ovs-db-server/config-external.sh new file mode 100644 index 0000000000..9ada4efcb1 --- /dev/null +++ b/docker/common/openvswitch/ovs-db-server/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/common/openvswitch/ovs-db-server/config-internal.sh b/docker/common/openvswitch/ovs-db-server/config-internal.sh new file mode 100644 index 0000000000..a2b4d6c8fe --- /dev/null +++ b/docker/common/openvswitch/ovs-db-server/config-internal.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +LOG_FILE="/var/log/openvswitch/ovsdb-server.log" +DB_FILE="/etc/openvswitch/conf.db" +UNIXSOCK_DIR="/var/run/openvswitch" +UNIXSOCK="${UNIXSOCK_DIR}/db.sock" + +mkdir -p "${UNIXSOCK_DIR}" + +if [[ ! -e "${DB_FILE}" ]]; then + ovsdb-tool create "${DB_FILE}" +fi + +exec ovsdb-server $DB_FILE -vconsole:emer -vsyslog:err -vfile:info --remote=punix:"${UNIXSOCK}" --log-file="${LOG_FILE}" diff --git a/docker/common/openvswitch/ovs-db-server/start.sh b/docker/common/openvswitch/ovs-db-server/start.sh index a2b4d6c8fe..ae87da4e24 100755 --- a/docker/common/openvswitch/ovs-db-server/start.sh +++ b/docker/common/openvswitch/ovs-db-server/start.sh @@ -7,10 +7,19 @@ DB_FILE="/etc/openvswitch/conf.db" UNIXSOCK_DIR="/var/run/openvswitch" UNIXSOCK="${UNIXSOCK_DIR}/db.sock" +CMD="/usr/sbin/ovsdb-server" +ARGS="$DB_FILE -vconsole:emer -vsyslog:err -vfile:info --remote=punix:${UNIXSOCK} --log-file=${LOG_FILE}" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +# Config-internal script exec out of this function, it does not return here. +set_configs + mkdir -p "${UNIXSOCK_DIR}" if [[ ! -e "${DB_FILE}" ]]; then ovsdb-tool create "${DB_FILE}" fi -exec ovsdb-server $DB_FILE -vconsole:emer -vsyslog:err -vfile:info --remote=punix:"${UNIXSOCK}" --log-file="${LOG_FILE}" +exec $CMD $ARGS diff --git a/docker/common/openvswitch/ovs-vswitchd/config-external.sh b/docker/common/openvswitch/ovs-vswitchd/config-external.sh new file mode 100644 index 0000000000..9ada4efcb1 --- /dev/null +++ b/docker/common/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/common/openvswitch/ovs-vswitchd/config-internal.sh b/docker/common/openvswitch/ovs-vswitchd/config-internal.sh new file mode 100644 index 0000000000..1a18ab9582 --- /dev/null +++ b/docker/common/openvswitch/ovs-vswitchd/config-internal.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -o errexit + +modprobe openvswitch + +LOG_FILE="/var/log/openvswitch/ovs-vswitchd.log" +DB_FILE="/etc/openvswitch/conf.db" +UNIXSOCK_DIR="/var/run/openvswitch" +UNIXSOCK="${UNIXSOCK_DIR}/db.sock" + +mkdir -p "${UNIXSOCK_DIR}" + +exec ovs-vswitchd unix:"${UNIXSOCK}" -vconsole:emer -vsyslog:err -vfile:info --mlockall --log-file="${LOG_FILE}" + diff --git a/docker/common/openvswitch/ovs-vswitchd/start.sh b/docker/common/openvswitch/ovs-vswitchd/start.sh index 5ed1fbe755..148ad5b569 100755 --- a/docker/common/openvswitch/ovs-vswitchd/start.sh +++ b/docker/common/openvswitch/ovs-vswitchd/start.sh @@ -1,14 +1,19 @@ #!/bin/bash - -set -o errexit - -modprobe openvswitch - 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 + +# Config-internal script exec out of this function, it does not return here. +set_configs + +modprobe openvswitch mkdir -p "${UNIXSOCK_DIR}" -exec ovs-vswitchd unix:"${UNIXSOCK}" -vconsole:emer -vsyslog:err -vfile:info --mlockall --log-file="${LOG_FILE}" +exec $CMD $ARGS