From 7b2dea5506375cb868d6acb6a99b0aca916fad6c Mon Sep 17 00:00:00 2001 From: Eduardo Gonzalez Date: Mon, 26 Jun 2017 13:05:24 +0200 Subject: Implement tacker-conductor image, rework all tacker Tacker is broken in pike without conductor images. Conductor is needed to communicate with mistral for VIM monitoring This change rework tacker image to allow tacker-conductor service image. Split tacker global image into tacker-server and tacker-conductor. Closes-Bug: #1710874 Change-Id: I52778e86e4f2c297ead8d4b09983e5e38ca88c70 --- docker/tacker/Dockerfile.j2 | 49 ---------------------------- docker/tacker/extend_start.sh | 15 --------- docker/tacker/tacker-base/Dockerfile.j2 | 47 ++++++++++++++++++++++++++ docker/tacker/tacker-base/extend_start.sh | 10 ++++++ docker/tacker/tacker-conductor/Dockerfile.j2 | 29 ++++++++++++++++ docker/tacker/tacker-server/Dockerfile.j2 | 32 ++++++++++++++++++ docker/tacker/tacker-server/extend_start.sh | 8 +++++ 7 files changed, 126 insertions(+), 64 deletions(-) delete mode 100644 docker/tacker/Dockerfile.j2 delete mode 100644 docker/tacker/extend_start.sh create mode 100644 docker/tacker/tacker-base/Dockerfile.j2 create mode 100644 docker/tacker/tacker-base/extend_start.sh create mode 100644 docker/tacker/tacker-conductor/Dockerfile.j2 create mode 100644 docker/tacker/tacker-server/Dockerfile.j2 create mode 100644 docker/tacker/tacker-server/extend_start.sh (limited to 'docker') diff --git a/docker/tacker/Dockerfile.j2 b/docker/tacker/Dockerfile.j2 deleted file mode 100644 index f549e8d0a..000000000 --- a/docker/tacker/Dockerfile.j2 +++ /dev/null @@ -1,49 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" - -{% block tacker_header %}{% endblock %} - -{% import "macros.j2" as macros with context %} - -{{ macros.configure_user(name='tacker') }} - -{% if install_type == 'binary' %} - - {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} - {% set tacker_packages = [ - 'openstack-tacker' - ] %} - - {% elif base_distro in ['debian', 'ubuntu'] %} - -RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ - && /bin/false - - {% endif %} - -{{ macros.install_packages(tacker_packages | customizable("packages")) }} - -{% elif install_type == 'source' %} - -ADD tacker-archive /tacker-source - -{% set tacker_pip_packages = [ - '/tacker' -] %} - -RUN ln -s tacker-source/* tacker \ - && {{ macros.install_pip(tacker_pip_packages | customizable("pip_packages")) }} \ - && mkdir -p /etc/tacker \ - && cp -r /tacker/etc/tacker/* /etc/tacker \ - && chown -R tacker: /etc/tacker - -{% endif %} - -COPY extend_start.sh /usr/local/bin/kolla_extend_start - -RUN chmod 755 /usr/local/bin/kolla_extend_start - -{% block tacker_footer %}{% endblock %} -{% block footer %}{% endblock %} - -USER tacker diff --git a/docker/tacker/extend_start.sh b/docker/tacker/extend_start.sh deleted file mode 100644 index ec45d8339..000000000 --- a/docker/tacker/extend_start.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -if [[ ! -d "/var/log/kolla/tacker" ]]; then - mkdir -p /var/log/kolla/tacker -fi -if [[ $(stat -c %a /var/log/kolla/tacker) != "755" ]]; then - chmod 755 /var/log/kolla/tacker -fi - -# 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 - tacker-db-manage --config-file /etc/tacker/tacker.conf upgrade head - exit 0 -fi diff --git a/docker/tacker/tacker-base/Dockerfile.j2 b/docker/tacker/tacker-base/Dockerfile.j2 new file mode 100644 index 000000000..d3a9f4701 --- /dev/null +++ b/docker/tacker/tacker-base/Dockerfile.j2 @@ -0,0 +1,47 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block tacker_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='tacker') }} + +{% if install_type == 'binary' %} + + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set tacker_base_packages = [ + 'openstack-tacker-common' + ] %} + + {% elif base_distro in ['debian', 'ubuntu'] %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + + {% endif %} + +{{ macros.install_packages(tacker_base_packages | customizable("packages")) }} + +{% elif install_type == 'source' %} + +ADD tacker-base-archive /tacker-base-source + +{% set tacker_base_pip_packages = [ + '/tacker' +] %} + +RUN ln -s tacker-base-source/* tacker \ + && {{ macros.install_pip(tacker_base_pip_packages | customizable("pip_packages")) }} \ + && mkdir -p /etc/tacker \ + && cp -r /tacker/etc/tacker/* /etc/tacker \ + && chown -R tacker: /etc/tacker + +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start + +RUN touch /usr/local/bin/kolla_tacker_extend_start \ + && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_tacker_extend_start + +{% block tacker_base_footer %}{% endblock %} diff --git a/docker/tacker/tacker-base/extend_start.sh b/docker/tacker/tacker-base/extend_start.sh new file mode 100644 index 000000000..a3b7db8d3 --- /dev/null +++ b/docker/tacker/tacker-base/extend_start.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ ! -d "/var/log/kolla/tacker" ]]; then + mkdir -p /var/log/kolla/tacker +fi +if [[ $(stat -c %a /var/log/kolla/tacker) != "755" ]]; then + chmod 755 /var/log/kolla/tacker +fi + +. /usr/local/bin/kolla_tacker_extend_start diff --git a/docker/tacker/tacker-conductor/Dockerfile.j2 b/docker/tacker/tacker-conductor/Dockerfile.j2 new file mode 100644 index 000000000..2fe717c01 --- /dev/null +++ b/docker/tacker/tacker-conductor/Dockerfile.j2 @@ -0,0 +1,29 @@ +FROM {{ namespace }}/{{ image_prefix }}tacker-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block tacker_conductor_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set tacker_conductor_packages = [ + 'openstack-tacker' + ] %} + + {% elif base_distro in ['debian', 'ubuntu'] %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + + {% endif %} + +{{ macros.install_packages(tacker_conductor_packages | customizable("packages")) }} + +{% endif %} + +{% block tacker_conductor_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER tacker diff --git a/docker/tacker/tacker-server/Dockerfile.j2 b/docker/tacker/tacker-server/Dockerfile.j2 new file mode 100644 index 000000000..1e7bae11c --- /dev/null +++ b/docker/tacker/tacker-server/Dockerfile.j2 @@ -0,0 +1,32 @@ +FROM {{ namespace }}/{{ image_prefix }}tacker-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block tacker_server_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set tacker_server_packages = [ + 'openstack-tacker' + ] %} + + {% elif base_distro in ['debian', 'ubuntu'] %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + + {% endif %} + +{{ macros.install_packages(tacker_server_packages | customizable("packages")) }} + +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_tacker_extend_start +RUN chmod 755 /usr/local/bin/kolla_tacker_extend_start + +{% block tacker_server_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER tacker diff --git a/docker/tacker/tacker-server/extend_start.sh b/docker/tacker/tacker-server/extend_start.sh new file mode 100644 index 000000000..311d21f71 --- /dev/null +++ b/docker/tacker/tacker-server/extend_start.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# 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 + tacker-db-manage --config-file /etc/tacker/tacker.conf upgrade head + exit 0 +fi -- cgit v1.2.3