aboutsummaryrefslogtreecommitdiff
path: root/kolla/docker/cinder
diff options
context:
space:
mode:
authorSimon Dodsley <simon@purestorage.com>2026-10-10 09:37:31 -0400
committerSimon Dodsley <simon@purestorage.com>2026-10-10 09:37:31 -0400
commit4cefbac5792781e02453cd882c2872dbba371197 (patch)
tree8a90654aca4589e3eb468f016447db824fa40f78 /kolla/docker/cinder
parent3fc91f2985bb1263e46a3190e270f8827628e7c2 (diff)
downloadkolla-4cefbac5792781e02453cd882c2872dbba371197.tar.gz
kolla-4cefbac5792781e02453cd882c2872dbba371197.zip
cinder-volume: add customizable pip package list
The Everpure FlashArray Cinder driver imports the py-pure-client SDK, which kolla-ansible's native enable_cinder_backend_pure_* flags assume is present. Stock images do not carry it, so operators have to rebuild cinder-volume themselves. Baking the SDK in is not an option: it installs to roughly 700 MB of generated REST models, far too much to add to every cinder-volume image for one backend. Instead give cinder-volume its own pip package list, empty by default and run through the customizable filter, so a vendor SDK can be added with a single template-override line: {% set cinder_volume_pip_packages_append = ['py-pure-client'] %} without touching cinder-base and therefore the API, scheduler and backup images. This is the mechanism nova-compute and ironic-conductor already expose for their optional packages. Related-Bug: #2170385 Assisted-By: Claude Code claude-fable-5-1 Change-Id: If8202b9f04f0299183019891e4ddd636669b25b4 Signed-off-by: Simon Dodsley <simon@purestorage.com>
Diffstat (limited to 'kolla/docker/cinder')
-rw-r--r--kolla/docker/cinder/cinder-volume/Dockerfile.j25
1 files changed, 4 insertions, 1 deletions
diff --git a/kolla/docker/cinder/cinder-volume/Dockerfile.j2 b/kolla/docker/cinder/cinder-volume/Dockerfile.j2
index 772350e4e..f2a09d866 100644
--- a/kolla/docker/cinder/cinder-volume/Dockerfile.j2
+++ b/kolla/docker/cinder/cinder-volume/Dockerfile.j2
@@ -45,10 +45,13 @@ RUN sed -i '1 i include /var/lib/cinder/volumes/*' /etc/tgt/targets.conf
{% endif %}
+{% set cinder_volume_pip_packages = [] %}
+
COPY cinder_sudoers /etc/sudoers.d/kolla_cinder_volume_sudoers
COPY extend_start.sh /usr/local/bin/kolla_cinder_extend_start
-RUN chmod 750 /etc/sudoers.d \
+RUN {{ macros.install_pip(cinder_volume_pip_packages | customizable("pip_packages")) }} \
+ && chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_cinder_volume_sudoers \
&& chmod 644 /usr/local/bin/kolla_cinder_extend_start