aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/tacker/Dockerfile.j231
-rw-r--r--docker/tacker/extend_start.sh15
-rw-r--r--kolla/common/config.py7
-rw-r--r--tests/test_build.py9
4 files changed, 58 insertions, 4 deletions
diff --git a/docker/tacker/Dockerfile.j2 b/docker/tacker/Dockerfile.j2
new file mode 100644
index 000000000..6a367607c
--- /dev/null
+++ b/docker/tacker/Dockerfile.j2
@@ -0,0 +1,31 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block tacker_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD tacker-archive /tacker-source
+RUN ln -s tacker-source/* tacker \
+ && useradd --user-group --create-home --home-dir /var/lib/tacker tacker \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /tacker \
+ && 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 usermod -a -G kolla tacker \
+ && 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
new file mode 100644
index 000000000..ec45d8339
--- /dev/null
+++ b/docker/tacker/extend_start.sh
@@ -0,0 +1,15 @@
+#!/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/kolla/common/config.py b/kolla/common/config.py
index 934cf1b4e..3f6d6ee11 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -49,7 +49,8 @@ _PROFILE_OPTS = [
'freezer', 'gnocchi', 'influxdb', 'ironic', 'karbor',
'kuryr', 'magnum', 'manila', 'mistral', 'murano',
'octavia', 'panko', 'rally', 'sahara', 'searchlight',
- 'senlin', 'solum', 'telegraf', 'trove', 'zaqar'],
+ 'senlin', 'solum', 'tacker' 'telegraf', 'trove',
+ 'zaqar'],
help='Aux Images'),
cfg.ListOpt('default',
default=['chrony', 'cron', 'kolla-toolbox', 'glance',
@@ -358,6 +359,10 @@ SOURCES = {
'type': 'url',
'location': ('http://tarballs.openstack.org/swift/'
'swift-master.tar.gz')},
+ 'tacker': {
+ 'type': 'url',
+ 'location': ('http://tarballs.openstack.org/tacker/'
+ 'tacker-master.tar.gz')},
'tempest': {
'type': 'url',
'location': ('http://tarballs.openstack.org/tempest/'
diff --git a/tests/test_build.py b/tests/test_build.py
index a032c458b..032cb26d4 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -77,7 +77,8 @@ class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
"congress-base",
"bifrost-base",
"cloudkitty-base",
- "freezer-base"]
+ "freezer-base",
+ "tacker"]
def setUp(self):
super(BuildTestCentosBinary, self).setUp()
@@ -109,7 +110,8 @@ class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
"bifrost-base",
"cloudkitty-base",
"freezer-base",
- "panko-base"]
+ "panko-base",
+ "tacker"]
def setUp(self):
super(BuildTestUbuntuBinary, self).setUp()
@@ -139,7 +141,8 @@ class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
"congress-base",
"bifrost-base",
"cloudkitty-base",
- "freezer-base"]
+ "freezer-base",
+ "tacker"]
def setUp(self):
super(BuildTestOracleLinuxBinary, self).setUp()