diff options
| author | Andriy Kurilin <andr.kurilin@gmail.com> | 2024-09-17 13:49:32 +0200 |
|---|---|---|
| committer | Andriy Kurilin <andr.kurilin@gmail.com> | 2025-02-18 09:41:17 +0100 |
| commit | cfa266a3a2fd2f29ba48ecb93018197af5510649 (patch) | |
| tree | 364717d58c985a4db60cd87a2bbbdfb221bec757 /tests | |
| parent | 2941ea2c7a89c1852a943aed820a45fd9c4e05b7 (diff) | |
| download | kolla-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.yml | 17 | ||||
| -rw-r--r-- | tests/templates/docker/releaser/Dockerfile.j2 | 25 | ||||
| -rw-r--r-- | tests/templates/docker/releaser/extend_start.sh | 11 |
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 |
