aboutsummaryrefslogtreecommitdiff
path: root/kolla/docker/placement
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2026-07-08 16:33:45 +0000
committerGerrit Code Review <review@openstack.org>2026-07-08 16:33:45 +0000
commit44b4d81399792f539716618953f2cafa64086a5c (patch)
tree4699d7e068e6dd842a9f1f247ca2f150d60d5e27 /kolla/docker/placement
parentb3803eb9f951acd63018ab8ba69bcbd1a2de5c93 (diff)
parentdb35ac8d793506bc43b62e7e39d27a75de1043ed (diff)
downloadkolla-44b4d81399792f539716618953f2cafa64086a5c.tar.gz
kolla-44b4d81399792f539716618953f2cafa64086a5c.zip
Merge "Migrate to pyproject.toml"
Diffstat (limited to 'kolla/docker/placement')
-rw-r--r--kolla/docker/placement/placement-api/Dockerfile.j219
-rw-r--r--kolla/docker/placement/placement-api/extend_start.sh21
-rw-r--r--kolla/docker/placement/placement-base/Dockerfile.j244
-rw-r--r--kolla/docker/placement/placement-base/extend_start.sh15
4 files changed, 99 insertions, 0 deletions
diff --git a/kolla/docker/placement/placement-api/Dockerfile.j2 b/kolla/docker/placement/placement-api/Dockerfile.j2
new file mode 100644
index 000000000..a13f65bdf
--- /dev/null
+++ b/kolla/docker/placement/placement-api/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ image_prefix }}placement-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block placement_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% set placement_api_packages = [
+] %}
+{{ macros.install_packages(placement_api_packages | customizable("packages")) }}
+
+COPY extend_start.sh /usr/local/bin/kolla_placement_extend_start
+
+{{ macros.kolla_patch_sources() }}
+
+{% block placement_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
diff --git a/kolla/docker/placement/placement-api/extend_start.sh b/kolla/docker/placement/placement-api/extend_start.sh
new file mode 100644
index 000000000..e468cbcaf
--- /dev/null
+++ b/kolla/docker/placement/placement-api/extend_start.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# 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
+ placement-manage db sync
+ placement-manage db online_data_migrations
+ exit 0
+fi
+
+# DB synchronisation. To be executed prior to upgrading services.
+if [[ "${!KOLLA_UPGRADE[@]}" ]]; then
+ placement-manage db sync
+ exit 0
+fi
+
+# Online data migrations. To be executed after upgrading services.
+if [[ "${!KOLLA_OSM[@]}" ]]; then
+ placement-manage db online_data_migrations
+ exit 0
+fi
diff --git a/kolla/docker/placement/placement-base/Dockerfile.j2 b/kolla/docker/placement/placement-base/Dockerfile.j2
new file mode 100644
index 000000000..6454da748
--- /dev/null
+++ b/kolla/docker/placement/placement-base/Dockerfile.j2
@@ -0,0 +1,44 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block placement_base_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='placement') }}
+
+{% if base_package_type == 'rpm' %}
+
+ {% set placement_base_packages = [
+ ] %}
+
+{% elif base_package_type == 'deb' %}
+
+ {% set placement_base_packages = [
+ ] %}
+
+{% endif %}
+
+{{ macros.install_packages(placement_base_packages | customizable("packages")) }}
+
+ADD placement-base-archive /placement-base-source
+ADD plugins-archive /
+
+{% set placement_base_pip_packages = [
+ '/placement'
+] %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN ln -s placement-base-source/* placement \
+ && {{ macros.install_pip(placement_base_pip_packages | customizable("pip_packages")) }} \
+ && mkdir -p /etc/placement/ \
+ && cp -r /placement/etc/placement/* /etc/placement/ \
+ && touch /usr/local/bin/kolla_placement_extend_start \
+ && chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_placement_extend_start
+
+{{ macros.kolla_patch_sources() }}
+
+{% block placement_base_footer %}{% endblock %}
diff --git a/kolla/docker/placement/placement-base/extend_start.sh b/kolla/docker/placement/placement-base/extend_start.sh
new file mode 100644
index 000000000..900ea8447
--- /dev/null
+++ b/kolla/docker/placement/placement-base/extend_start.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+if [[ ! -d "/var/log/kolla/placement" ]]; then
+ mkdir -p /var/log/kolla/placement
+ touch /var/log/kolla/placement/placement-api.log
+fi
+if [[ $(stat -c %U:%G /var/log/kolla/placement) != "placement:kolla" ]]; then
+ chown -R placement:kolla /var/log/kolla/placement
+fi
+if [[ $(stat -c %a /var/log/kolla/placement) != "755" ]]; then
+ chmod 755 /var/log/kolla/placement
+ chmod 644 /var/log/kolla/placement/placement-api.log
+fi
+
+. /usr/local/bin/kolla_placement_extend_start