aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Gonzalez <dabarren@gmail.com>2017-06-26 13:05:24 +0200
committerEduardo Gonzalez <dabarren@gmail.com>2017-08-20 09:58:27 +0000
commit7b2dea5506375cb868d6acb6a99b0aca916fad6c (patch)
tree94e6067d8c33f31f32caf71049cd7d52123880ad
parent2d983f1ac77c48a7c09d2ff2ed60b4cdb4fa6a87 (diff)
downloadkolla-7b2dea5506375cb868d6acb6a99b0aca916fad6c.tar.gz
kolla-7b2dea5506375cb868d6acb6a99b0aca916fad6c.zip
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
-rw-r--r--docker/tacker/tacker-base/Dockerfile.j2 (renamed from docker/tacker/Dockerfile.j2)26
-rw-r--r--docker/tacker/tacker-base/extend_start.sh10
-rw-r--r--docker/tacker/tacker-conductor/Dockerfile.j229
-rw-r--r--docker/tacker/tacker-server/Dockerfile.j232
-rw-r--r--docker/tacker/tacker-server/extend_start.sh (renamed from docker/tacker/extend_start.sh)7
-rwxr-xr-xkolla/common/config.py2
-rw-r--r--releasenotes/notes/tacker-conductor-246d23f8c4a97de0.yaml8
-rw-r--r--tests/test_build.py4
8 files changed, 94 insertions, 24 deletions
diff --git a/docker/tacker/Dockerfile.j2 b/docker/tacker/tacker-base/Dockerfile.j2
index f549e8d0a..d3a9f4701 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 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/extend_start.sh b/docker/tacker/tacker-server/extend_start.sh
index ec45d8339..311d21f71 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 811a06de6..10d29e3c4 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 000000000..1a593c753
--- /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 05d8f1dc9..02bd42f65 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",