From cbd42ca6e90cca2ff4b84f5e4e46224e6455e8b2 Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Fri, 28 Aug 2015 12:16:53 +0000 Subject: Move docker_templates to docker dir Updated build.py to reflect this change. Deprecate --template option and make it a noop. Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2 Partially-Implements: blueprint remove-docker-dir --- docker/openvswitch/ovs-base/Dockerfile.j2 | 22 +++++++++++++++++++ docker/openvswitch/ovs-db-server/Dockerfile.j2 | 9 ++++++++ .../openvswitch/ovs-db-server/config-external.sh | 3 +++ docker/openvswitch/ovs-db-server/start.sh | 25 ++++++++++++++++++++++ docker/openvswitch/ovs-vswitchd/Dockerfile.j2 | 9 ++++++++ docker/openvswitch/ovs-vswitchd/config-external.sh | 3 +++ .../ovs-vswitchd/ovs_ensure_configured.sh | 17 +++++++++++++++ docker/openvswitch/ovs-vswitchd/start.sh | 19 ++++++++++++++++ 8 files changed, 107 insertions(+) create mode 100644 docker/openvswitch/ovs-base/Dockerfile.j2 create mode 100644 docker/openvswitch/ovs-db-server/Dockerfile.j2 create mode 100644 docker/openvswitch/ovs-db-server/config-external.sh create mode 100755 docker/openvswitch/ovs-db-server/start.sh create mode 100644 docker/openvswitch/ovs-vswitchd/Dockerfile.j2 create mode 100644 docker/openvswitch/ovs-vswitchd/config-external.sh create mode 100755 docker/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh create mode 100755 docker/openvswitch/ovs-vswitchd/start.sh (limited to 'docker/openvswitch') diff --git a/docker/openvswitch/ovs-base/Dockerfile.j2 b/docker/openvswitch/ovs-base/Dockerfile.j2 new file mode 100644 index 000000000..fd8eac1af --- /dev/null +++ b/docker/openvswitch/ovs-base/Dockerfile.j2 @@ -0,0 +1,22 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + {% if install_type == 'source' %} + + # TODO(sdake): groan openvswitch is only in the RDO repos +RUN yum install -y https://rdoproject.org/repos/openstack-kilo/rdo-release-kilo.rpm \ + && yum clean all + + {% endif %} + +RUN yum install -y \ + openvswitch \ + && yum clean all + +{% elif base_distro in ['ubuntu', 'debian'] %} + +RUN apt-get install -y --no-install-recommends openvswitch-switch \ + && apt-get clean + +{% endif %} diff --git a/docker/openvswitch/ovs-db-server/Dockerfile.j2 b/docker/openvswitch/ovs-db-server/Dockerfile.j2 new file mode 100644 index 000000000..05c6a928b --- /dev/null +++ b/docker/openvswitch/ovs-db-server/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 config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/openvswitch/ovs-db-server/config-external.sh b/docker/openvswitch/ovs-db-server/config-external.sh new file mode 100644 index 000000000..9ada4efcb --- /dev/null +++ b/docker/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/openvswitch/ovs-db-server/start.sh b/docker/openvswitch/ovs-db-server/start.sh new file mode 100755 index 000000000..89b2e3e92 --- /dev/null +++ b/docker/openvswitch/ovs-db-server/start.sh @@ -0,0 +1,25 @@ +#!/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" + +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 + +# Execute config strategy +set_configs + +mkdir -p "${UNIXSOCK_DIR}" + +if [[ ! -e "${DB_FILE}" ]]; then + ovsdb-tool create "${DB_FILE}" +fi + +exec $CMD $ARGS 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 -- cgit v1.2.3