aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndriy Kurilin <andr.kurilin@gmail.com>2024-09-17 13:49:32 +0200
committerAndriy Kurilin <andr.kurilin@gmail.com>2025-02-18 09:41:17 +0100
commitcfa266a3a2fd2f29ba48ecb93018197af5510649 (patch)
tree364717d58c985a4db60cd87a2bbbdfb221bec757 /tests
parent2941ea2c7a89c1852a943aed820a45fd9c4e05b7 (diff)
downloadkolla-cfa266a3a2fd2f29ba48ecb93018197af5510649.tar.gz
kolla-cfa266a3a2fd2f29ba48ecb93018197af5510649.zip
Allow to use configure_user macro for external templates
Commit 79a234239516b94b1b79c7ddafcc4fbe4e3ba155 introduced an ability to build 'in-house'/'not-built-in' projects with Kolla. This commits extends this feature with an ability to use configure_user macro for 'not-built-in' users. The implementation is done the same way as for 'sources', i.e. engine after registers new section structure as soon as it finds unknown '<project>-user' section. In addition, the documentation and CI are extended to cover ``--docker-dir`` option. Change-Id: I690d9f3829083f2493bf286a1c45764b9699219b
Diffstat (limited to 'tests')
-rw-r--r--tests/playbooks/run.yml17
-rw-r--r--tests/templates/docker/releaser/Dockerfile.j225
-rw-r--r--tests/templates/docker/releaser/extend_start.sh11
3 files changed, 53 insertions, 0 deletions
diff --git a/tests/playbooks/run.yml b/tests/playbooks/run.yml
index f21de9f33..238b2f7bd 100644
--- a/tests/playbooks/run.yml
+++ b/tests/playbooks/run.yml
@@ -44,6 +44,23 @@
when:
- publisher
+ - name: Add external docker dir config
+ vars:
+ kolla_build_external_docker_config:
+ DEFAULT:
+ docker_dir: "{{ ansible_user_dir }}/{{ zuul.project.src_dir }}/tests/templates/docker"
+ releaser:
+ type: git
+ reference: master
+ location: "https://opendev.org/openstack/releases.git"
+ releaser-user:
+ uid: 56000
+ gid: 56000
+ set_fact:
+ kolla_build_config: "{{ kolla_build_config | combine(kolla_build_external_docker_config, recursive=True) }}"
+ when:
+ - not publisher
+
- import_role:
name: kolla-build-config
diff --git a/tests/templates/docker/releaser/Dockerfile.j2 b/tests/templates/docker/releaser/Dockerfile.j2
new file mode 100644
index 000000000..665302534
--- /dev/null
+++ b/tests/templates/docker/releaser/Dockerfile.j2
@@ -0,0 +1,25 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+{% endblock %}
+
+{% block releaser_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='releaser') }}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+ADD releaser-archive /releaser-source
+
+RUN ln -s releaser-source/* /releaser \
+ && {{ macros.install_pip(['/releaser'] | customizable("pip_packages")) }} \
+ && mkdir -p /etc/releaser \
+ && chown -R releaser: /etc/releaser \
+ && chmod 750 /etc/sudoers.d \
+ && touch /usr/local/bin/kolla_releaser_extend_start \
+ && chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_releaser_extend_start
+
+{% block footer %}{% endblock %}
diff --git a/tests/templates/docker/releaser/extend_start.sh b/tests/templates/docker/releaser/extend_start.sh
new file mode 100644
index 000000000..5d5c3b041
--- /dev/null
+++ b/tests/templates/docker/releaser/extend_start.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+if [[ ! -d "/var/log/kolla/releaser" ]]; then
+ mkdir -p /var/log/kolla/releaser
+fi
+
+if [[ $(stat -c %a /var/log/kolla/releaser) != "755" ]]; then
+ chmod 755 /var/log/kolla/releaser
+fi
+
+. /usr/local/bin/kolla_releaser_extend_start