From f7085c1f6f00aecb823d9e6c92925552a75942ce Mon Sep 17 00:00:00 2001 From: Marc Koderer Date: Mon, 18 Jan 2016 11:46:29 +0100 Subject: [PATCH] Add manila container (source only) Support manila as container. First step only supports building from source. Change-Id: I60bb67536c9afdb9f0532b3cdc2c400a68608003 Partially-Implements: blueprint enable-manila-containers --- docker/manila/manila-api/Dockerfile.j2 | 9 +++++++++ docker/manila/manila-api/extend_start.sh | 9 +++++++++ docker/manila/manila-base/Dockerfile.j2 | 21 ++++++++++++++++++++ docker/manila/manila-scheduler/Dockerfile.j2 | 6 ++++++ docker/manila/manila-share/Dockerfile.j2 | 6 ++++++ kolla/common/config.py | 4 ++++ tests/test_build.py | 3 ++- 7 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 docker/manila/manila-api/Dockerfile.j2 create mode 100644 docker/manila/manila-api/extend_start.sh create mode 100644 docker/manila/manila-base/Dockerfile.j2 create mode 100644 docker/manila/manila-scheduler/Dockerfile.j2 create mode 100644 docker/manila/manila-share/Dockerfile.j2 diff --git a/docker/manila/manila-api/Dockerfile.j2 b/docker/manila/manila-api/Dockerfile.j2 new file mode 100644 index 0000000000..ac2fe479d2 --- /dev/null +++ b/docker/manila/manila-api/Dockerfile.j2 @@ -0,0 +1,9 @@ +FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }} +MAINTAINER {{ maintainer }} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 755 /usr/local/bin/kolla_extend_start + +{{ include_footer }} + +USER manila diff --git a/docker/manila/manila-api/extend_start.sh b/docker/manila/manila-api/extend_start.sh new file mode 100644 index 0000000000..bea77dbba4 --- /dev/null +++ b/docker/manila/manila-api/extend_start.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -o errexit + +# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases +# of the KOLLA_BOOTSTRAP variable being set, including empty. +if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then + manila-manage db sync + exit 0 +fi diff --git a/docker/manila/manila-base/Dockerfile.j2 b/docker/manila/manila-base/Dockerfile.j2 new file mode 100644 index 0000000000..adbcc97116 --- /dev/null +++ b/docker/manila/manila-base/Dockerfile.j2 @@ -0,0 +1,21 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% if install_type == 'binary' %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + +{% elif install_type == 'source' %} + +ADD manila-base-archive /manila-base-source +RUN ln -s manila-base-source/* manila \ + && useradd --user-group manila \ + && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /manila \ + && mkdir -p /etc/manila /var/log/manila /home/manila \ + && cp -r /manila/etc/manila/* /etc/manila/ \ + && chown -R manila: /etc/manila /var/log/manila /home/manila + +{% endif %} + +RUN usermod -a -G kolla manila diff --git a/docker/manila/manila-scheduler/Dockerfile.j2 b/docker/manila/manila-scheduler/Dockerfile.j2 new file mode 100644 index 0000000000..a3ca1820bb --- /dev/null +++ b/docker/manila/manila-scheduler/Dockerfile.j2 @@ -0,0 +1,6 @@ +FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{{ include_footer }} + +USER manila diff --git a/docker/manila/manila-share/Dockerfile.j2 b/docker/manila/manila-share/Dockerfile.j2 new file mode 100644 index 0000000000..a3ca1820bb --- /dev/null +++ b/docker/manila/manila-share/Dockerfile.j2 @@ -0,0 +1,6 @@ +FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{{ include_footer }} + +USER manila diff --git a/kolla/common/config.py b/kolla/common/config.py index 478d2a5d2f..a6222bded5 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -187,6 +187,10 @@ SOURCES = { 'type': 'url', 'location': ('http://tarballs.openstack.org/magnum/' 'magnum-master.tar.gz')}, + 'manila-base': { + 'type': 'url', + 'location': ('http://tarballs.openstack.org/manila/' + 'manila-master.tar.gz')}, 'mistral-base': { 'type': 'url', 'location': ('http://tarballs.openstack.org/mistral/' diff --git a/tests/test_build.py b/tests/test_build.py index bfc334f969..8fec97ebbc 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -47,7 +47,8 @@ class BuildTest(base.BaseTestCase): "murano-base", "ironic-pxe", "ironic-discoverd", - "mistral-base"] + "mistral-base", + "manila-base"] failures = 0 for image, result in six.iteritems(bad_results):