diff --git a/docker/tacker/Dockerfile.j2 b/docker/tacker/tacker-base/Dockerfile.j2 similarity index 54% rename from docker/tacker/Dockerfile.j2 rename to docker/tacker/tacker-base/Dockerfile.j2 index f549e8d0aa..d3a9f4701b 100644 --- a/docker/tacker/Dockerfile.j2 +++ b/docker/tacker/tacker-base/Dockerfile.j2 @@ -1,7 +1,7 @@ FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" -{% block tacker_header %}{% endblock %} +{% block tacker_base_header %}{% endblock %} {% import "macros.j2" as macros with context %} @@ -10,29 +10,29 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if install_type == 'binary' %} {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} - {% set tacker_packages = [ - 'openstack-tacker' + {% 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 + && /bin/false {% endif %} -{{ macros.install_packages(tacker_packages | customizable("packages")) }} +{{ macros.install_packages(tacker_base_packages | customizable("packages")) }} {% elif install_type == 'source' %} -ADD tacker-archive /tacker-source +ADD tacker-base-archive /tacker-base-source -{% set tacker_pip_packages = [ +{% set tacker_base_pip_packages = [ '/tacker' ] %} -RUN ln -s tacker-source/* tacker \ - && {{ macros.install_pip(tacker_pip_packages | customizable("pip_packages")) }} \ +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 @@ -41,9 +41,7 @@ RUN ln -s tacker-source/* tacker \ COPY extend_start.sh /usr/local/bin/kolla_extend_start -RUN chmod 755 /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_footer %}{% endblock %} -{% block footer %}{% endblock %} - -USER tacker +{% 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 0000000000..a3b7db8d3f --- /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 0000000000..2fe717c019 --- /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 0000000000..1e7bae11c7 --- /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/extend_start.sh b/docker/tacker/tacker-server/extend_start.sh similarity index 60% rename from docker/tacker/extend_start.sh rename to docker/tacker/tacker-server/extend_start.sh index ec45d83395..311d21f719 100644 --- a/docker/tacker/extend_start.sh +++ b/docker/tacker/tacker-server/extend_start.sh @@ -1,12 +1,5 @@ #!/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 diff --git a/kolla/common/config.py b/kolla/common/config.py index 811a06de6b..10d29e3c47 100755 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -609,7 +609,7 @@ SOURCES = { 'type': 'url', 'location': ('$tarballs_base/swift/' 'swift-master.tar.gz')}, - 'tacker': { + 'tacker-base': { 'type': 'url', 'location': ('$tarballs_base/tacker/' 'tacker-master.tar.gz')}, diff --git a/releasenotes/notes/tacker-conductor-246d23f8c4a97de0.yaml b/releasenotes/notes/tacker-conductor-246d23f8c4a97de0.yaml new file mode 100644 index 0000000000..1a593c753a --- /dev/null +++ b/releasenotes/notes/tacker-conductor-246d23f8c4a97de0.yaml @@ -0,0 +1,8 @@ +--- +features: + - | + Tacker conductor image is implemented. +upgrade: + - | + Tacker image has been splitted into tacker-server and tacker-conductor + to support new conductor service. diff --git a/tests/test_build.py b/tests/test_build.py index 05d8f1dc99..02bd42f65c 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -130,7 +130,7 @@ class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase): "searchlight-base", "senlin-base", "solum-base", - "tacker", + "tacker-base", "vitrage-base", "vmtp", "zaqar", @@ -174,7 +174,7 @@ class BuildTestDebianBinary(BuildTest, base.BaseTestCase): "senlin-base", "sensu-base", "solum-base", - "tacker", + "tacker-base", "vitrage-base", "vmtp", "zaqar",