)]}'
{"id":"openstack%2Fkolla~1009824","triplet_id":"openstack%2Fkolla~master~If8202b9f04f0299183019891e4ddd636669b25b4","project":"openstack/kolla","branch":"master","topic":"flasharray-sdk-image","attention_set":{"13425":{"account":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"last_update":"2026-10-12 07:45:31.000000000","reason":"\u003cGERRIT_ACCOUNT_13252\u003e replied on the change","reason_account":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"}}},"removed_from_attention_set":{"13252":{"account":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"last_update":"2026-10-12 07:45:31.000000000","reason":"\u003cGERRIT_ACCOUNT_13252\u003e replied on the change","reason_account":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"}}},"hashtags":[],"change_id":"If8202b9f04f0299183019891e4ddd636669b25b4","subject":"cinder-volume: add customizable pip package list","status":"NEW","created":"2026-10-09 17:46:02.000000000","updated":"2026-10-12 07:45:31.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"7c7abbeef1258229515a0eab14b21520d0cee100","_number":1009824,"virtual_id_number":1009824,"owner":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-10-10 15:57:18.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"date":"2026-10-12 07:45:31.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"approved":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"all":[{"value":1,"date":"2026-10-12 07:45:31.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true},"Review-Priority":{"recommended":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"all":[{"value":1,"date":"2026-10-12 07:45:31.000000000","permitted_voting_range":{"min":-1,"max":2},"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","value":1,"default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-10-09 19:57:03.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-10-09 20:00:38.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-10-10 06:45:32.000000000","updated_by":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"reviewer":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"state":"REVIEWER"}],"messages":[{"id":"36f8078925a5d2c60bb29cda6c4d876bc6dcf7d6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-10-09 17:46:02.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"fd0e3a165b1f8e357e51c7517e81810a4ea6ab9a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-09 19:57:03.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dc36102924c641b4982c3ff63250c2c2\n\n- kolla-build-debian-trixie-arm64 https://zuul.opendev.org/t/openstack/build/e3c8d3dc5a3a41a88be1c75b76b78179 : SUCCESS in 1h 00m 02s (non-voting)\n- kolla-build-rocky-10-arm64 https://zuul.opendev.org/t/openstack/build/9dd093ad1dfb4d13a1912f1b4542d6ad : SUCCESS in 1h 06m 38s (non-voting)\n- kolla-build-ubuntu-noble-arm64 https://zuul.opendev.org/t/openstack/build/b938f2a535e54fc3b9f02b8cca0fb302 : SUCCESS in 56m 51s (non-voting)\n- kolla-ansible-debian-trixie-aarch64 https://zuul.opendev.org/t/openstack/build/cbd92fe41d7e447c9ed75b343419bb90 : SUCCESS in 2h 08m 40s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/8ef35ec4fa374191adbb0d1cb2845d9c : SUCCESS in 4m 39s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/eec87cb31e154f5693da32e1e25dbbe9 : SUCCESS in 8m 51s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"cda76614dc38d2d7dd6ca6dab43653bece3bc65b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-09 20:00:38.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c27f8e532d0744d2bb7c6bf4d6000d70\n\n- kolla-build-debian-trixie https://zuul.opendev.org/t/openstack/build/93169f9b2fe34ab2bcf5b45e933de8b5 : SUCCESS in 21m 04s\n- kolla-build-debian-trixie-podman https://zuul.opendev.org/t/openstack/build/8caf8b1efc684d9c8b0f5927aa0b807d : SUCCESS in 22m 47s\n- kolla-build-rocky-10 https://zuul.opendev.org/t/openstack/build/1ab33d9783994f9b88b81eeffc5ca43b : SUCCESS in 19m 04s\n- kolla-build-rocky-10-podman https://zuul.opendev.org/t/openstack/build/a9b4505ea76e43529645bd750c53c12c : SUCCESS in 40m 29s\n- kolla-build-ubuntu-noble https://zuul.opendev.org/t/openstack/build/670bf315fd4244fda49959ab87d78064 : SUCCESS in 16m 45s\n- kolla-build-ubuntu-noble-podman https://zuul.opendev.org/t/openstack/build/df23c37c36d94deaba421d8e64359f91 : SUCCESS in 38m 24s\n- kolla-ansible-debian-trixie https://zuul.opendev.org/t/openstack/build/3f164cba8b27451ab313a010b0f6132f : SUCCESS in 1h 00m 33s (non-voting)\n- kolla-ansible-debian-trixie-upgrade https://zuul.opendev.org/t/openstack/build/ee3f9b34f75e4e9daa75f6682849d065 : SUCCESS in 1h 29m 45s (non-voting)\n- kolla-ansible-rocky-10 https://zuul.opendev.org/t/openstack/build/ca46cc358af0445e8a554823ad1f255d : SUCCESS in 1h 03m 52s\n- kolla-ansible-rocky-10-upgrade https://zuul.opendev.org/t/openstack/build/27fe51a6a8a047c6b4f183a3703273ba : SUCCESS in 1h 27m 43s\n- kolla-ansible-ubuntu-noble https://zuul.opendev.org/t/openstack/build/1b46498240a34a76995ff86100c0f0f4 : SUCCESS in 1h 02m 28s\n- kolla-ansible-ubuntu-noble-upgrade https://zuul.opendev.org/t/openstack/build/12d67636d8d847bfa079c15e6519f6f8 : SUCCESS in 1h 30m 35s\n- kolla-ansible-debian-trixie-cephadm https://zuul.opendev.org/t/openstack/build/eb745162c192472494e4726b2d98c065 : SUCCESS in 1h 33m 22s (non-voting)\n- kolla-ansible-rocky-10-cephadm https://zuul.opendev.org/t/openstack/build/5d73576bd34b4892adbddace07718b04 : SUCCESS in 1h 32m 32s (non-voting)\n- kolla-ansible-rocky-10-cephadm-upgrade https://zuul.opendev.org/t/openstack/build/b8a94e3cdf2249e3960f5e6f8bbc3335 : SUCCESS in 2h 11m 55s (non-voting)\n- kolla-ansible-ubuntu-noble-cephadm https://zuul.opendev.org/t/openstack/build/868012916b224b319d7a09259bfdbbea : FAILURE in 1h 00m 55s (non-voting)\n- kolla-ansible-ubuntu-noble-cephadm-upgrade https://zuul.opendev.org/t/openstack/build/443a11e72daa41aeaacaa366e38e4acb : FAILURE in 56m 04s (non-voting)\n- kolla-tox-genconfig https://zuul.opendev.org/t/openstack/build/99fcecb6559846df98c2a39192b6cdb5 : SUCCESS in 2m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/65c68a9d930041c196d6ed387b0958e1 : SUCCESS in 4m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c5a4aaceb20c46b7a6342b8c6c3bbd49 : SUCCESS in 2m 00s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/a1b1b430b34245ec9c0b581e6db25f3b : SUCCESS in 7m 44s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4dbcadf1383549b7ab66c9bc9120a80a : SUCCESS in 3m 34s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e97b4bbea16d4a30a993a9e4f8916497 : SUCCESS in 4m 14s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bc29fc7ff63541829ed3b12df2ba227e : SUCCESS in 4m 58s","accounts_in_message":[],"_revision_number":1},{"id":"24fbc22bf5a7523032a81f83a6a863dc11d6d62e","author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"date":"2026-10-10 06:45:32.000000000","message":"Patch Set 1: Code-Review-2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a7e5186527af0f695a6b10b2753920fb69d3dbdd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-10-10 13:38:09.000000000","message":"Uploaded patch set 2.\n\nCopied Votes:\n* Code-Review-2 (copy condition: \"changekind:TRIVIAL_REBASE OR **is:MIN**\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"7a0db305d3f79291d2ce080d72cf801482e985e3","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-10-10 13:39:28.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"d48c5974185e26f363e4f21450d8f745d83f0a4b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-10 15:57:18.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/28ebb4e246d3413c95f8b3069271a7e9\n\n- kolla-build-debian-trixie https://zuul.opendev.org/t/openstack/build/9e87b8d3e4dd49ef8e7fafa1e9e0cd4c : SUCCESS in 27m 33s\n- kolla-build-debian-trixie-podman https://zuul.opendev.org/t/openstack/build/1e098c344d574de9bc4dc5b9cf1da9db : SUCCESS in 34m 23s\n- kolla-build-rocky-10 https://zuul.opendev.org/t/openstack/build/be8a9f5259c14019a615c0b59e0c5c0b : SUCCESS in 33m 02s\n- kolla-build-rocky-10-podman https://zuul.opendev.org/t/openstack/build/a19bb7efda88447f96a4a4a85c8fe0ad : SUCCESS in 46m 18s\n- kolla-build-ubuntu-noble https://zuul.opendev.org/t/openstack/build/1f4f3d6147de45beac4e40b82b95c3af : SUCCESS in 29m 14s\n- kolla-build-ubuntu-noble-podman https://zuul.opendev.org/t/openstack/build/87b5880988fe471b84e6e3fd6016c5e9 : SUCCESS in 33m 57s\n- kolla-ansible-debian-trixie https://zuul.opendev.org/t/openstack/build/4d7b170c410f4ccd960bb9af6ecb4640 : SUCCESS in 1h 02m 30s (non-voting)\n- kolla-ansible-debian-trixie-upgrade https://zuul.opendev.org/t/openstack/build/14e321ea11134367971cf2f2f6e27d48 : SUCCESS in 1h 29m 00s (non-voting)\n- kolla-ansible-rocky-10 https://zuul.opendev.org/t/openstack/build/f4411ff83e2c4178a3b81389ca8e0278 : SUCCESS in 1h 02m 44s\n- kolla-ansible-rocky-10-upgrade https://zuul.opendev.org/t/openstack/build/c349a7ec71b843aa8f8b8a5d8dc482f7 : SUCCESS in 1h 25m 34s\n- kolla-ansible-ubuntu-noble https://zuul.opendev.org/t/openstack/build/54c1f675712942f69c9e0818bbec4eda : SUCCESS in 1h 05m 11s\n- kolla-ansible-ubuntu-noble-upgrade https://zuul.opendev.org/t/openstack/build/3e5c70bd14ca44158171692198de431e : SUCCESS in 1h 33m 19s\n- kolla-ansible-debian-trixie-cephadm https://zuul.opendev.org/t/openstack/build/599eb8be09244a959bbad4d67e0769b0 : SUCCESS in 1h 27m 28s (non-voting)\n- kolla-ansible-rocky-10-cephadm https://zuul.opendev.org/t/openstack/build/7ecadb1ff80c4f0cbd8b8d2b57cce230 : SUCCESS in 1h 31m 12s (non-voting)\n- kolla-ansible-rocky-10-cephadm-upgrade https://zuul.opendev.org/t/openstack/build/c7ea0a2651ea46e8903eccccccf7007d : SUCCESS in 2h 10m 48s (non-voting)\n- kolla-ansible-ubuntu-noble-cephadm https://zuul.opendev.org/t/openstack/build/88ef3ff6e007446999afc042d7cf8d83 : FAILURE in 1h 00m 00s (non-voting)\n- kolla-ansible-ubuntu-noble-cephadm-upgrade https://zuul.opendev.org/t/openstack/build/f3d20a20bd3e4bc8b93411505631c55b : FAILURE in 53m 39s (non-voting)\n- kolla-tox-genconfig https://zuul.opendev.org/t/openstack/build/f6688bb9b291454780def1614c3fa481 : SUCCESS in 3m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e3c652bf436742b39b45de409920f960 : SUCCESS in 4m 07s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/dcd08b0d6f5f4202b28af8ed5fe12dcf : SUCCESS in 3m 25s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/3e09b1247a964a08a7065eead55c4ed1 : SUCCESS in 5m 44s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f9a42192538547289c9ed0c8196c810e : SUCCESS in 3m 41s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/55d349a6d9ec4636bc830e5c8a221641 : SUCCESS in 6m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/61af2466a1fd4f509770324c93f4e9b2 : SUCCESS in 9m 21s","accounts_in_message":[],"_revision_number":2},{"id":"06cfb671a863eee525625cf3939db3e2606d2c74","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-10 16:34:43.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7c1b5c7a43dd4deba597bd54877af1dc\n\n- kolla-build-debian-trixie-arm64 https://zuul.opendev.org/t/openstack/build/a33db267329f42b0876bc7b54b87ec75 : SUCCESS in 1h 01m 40s (non-voting)\n- kolla-build-rocky-10-arm64 https://zuul.opendev.org/t/openstack/build/126c1eac3a8c429a9c6698ef569ff4cb : SUCCESS in 1h 06m 36s (non-voting)\n- kolla-build-ubuntu-noble-arm64 https://zuul.opendev.org/t/openstack/build/a26215b330624bec898170ec2289da8a : SUCCESS in 56m 53s (non-voting)\n- kolla-ansible-debian-trixie-aarch64 https://zuul.opendev.org/t/openstack/build/f4cb1ce643cf47f0accc7e1f641525d0 : SUCCESS in 2h 03m 22s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/f8c8588adbf94c38b043d65e5e0c76ae : SUCCESS in 4m 31s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/3ffda3c3dbf946eda62dc9647d69c070 : SUCCESS in 8m 47s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"7c7abbeef1258229515a0eab14b21520d0cee100","author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"date":"2026-10-12 07:45:31.000000000","message":"Patch Set 2: -Code-Review Backport-Candidate+1 Review-Priority+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"4cefbac5792781e02453cd882c2872dbba371197","revisions":{"7ca9df0aa8e23d5dd08b3981dcad996a5cce39ad":{"kind":"REWORK","_number":1,"created":"2026-10-09 17:46:02.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/24/1009824/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/kolla","ref":"refs/changes/24/1009824/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/kolla refs/changes/24/1009824/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/kolla refs/changes/24/1009824/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/kolla refs/changes/24/1009824/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/kolla refs/changes/24/1009824/1"}}},"commit":{"parents":[{"commit":"3fc91f2985bb1263e46a3190e270f8827628e7c2","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/kolla/commit/3fc91f2985bb1263e46a3190e270f8827628e7c2"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-10-09 17:42:45.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-10-09 17:42:45.000000000","tz":-240},"subject":"cinder-volume: add py-pure-client SDK","message":"cinder-volume: add py-pure-client SDK\n\nThe Everpure (Pure Storage) FlashArray Cinder driver imports the\npy-pure-client SDK. kolla-ansible ships native backend flags for this\ndriver (enable_cinder_backend_pure_iscsi/fc/roce/nvme_tcp) but the\nstock cinder-volume image does not contain the SDK, so enabling the\nbackend fails until the operator rebuilds the image.\n\nAdd py-pure-client to cinder-volume as a customizable pip package,\nfollowing the existing pattern used for oslo-vmware in nova-compute\nand ironic-staging-drivers in ironic-conductor. The package is in\nglobal-requirements and pinned by upper-constraints, so no version\nis specified here. Only cinder-volume imports the SDK, so the other\ncinder images are left alone.\n\nCloses-Bug: #2170385\nAssisted-By: Claude Code claude-fable-5-1\nChange-Id: If8202b9f04f0299183019891e4ddd636669b25b4\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/kolla/commit/7ca9df0aa8e23d5dd08b3981dcad996a5cce39ad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/kolla/commit/7ca9df0aa8e23d5dd08b3981dcad996a5cce39ad"}]},"branch":"refs/heads/master"},"4cefbac5792781e02453cd882c2872dbba371197":{"kind":"REWORK","_number":2,"created":"2026-10-10 13:38:09.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/24/1009824/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/kolla","ref":"refs/changes/24/1009824/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/kolla refs/changes/24/1009824/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/kolla refs/changes/24/1009824/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/kolla refs/changes/24/1009824/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/kolla refs/changes/24/1009824/2"}}},"commit":{"parents":[{"commit":"3fc91f2985bb1263e46a3190e270f8827628e7c2","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/kolla/commit/3fc91f2985bb1263e46a3190e270f8827628e7c2"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-10-10 13:37:31.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-10-10 13:37:31.000000000","tz":-240},"subject":"cinder-volume: add customizable pip package list","message":"cinder-volume: add customizable pip package list\n\nThe Everpure FlashArray Cinder driver imports the py-pure-client SDK,\nwhich kolla-ansible\u0027s native enable_cinder_backend_pure_* flags assume\nis present. Stock images do not carry it, so operators have to rebuild\ncinder-volume themselves. Baking the SDK in is not an option: it\ninstalls to roughly 700 MB of generated REST models, far too much to\nadd to every cinder-volume image for one backend.\n\nInstead give cinder-volume its own pip package list, empty by default\nand run through the customizable filter, so a vendor SDK can be added\nwith a single template-override line:\n\n  {% set cinder_volume_pip_packages_append \u003d [\u0027py-pure-client\u0027] %}\n\nwithout touching cinder-base and therefore the API, scheduler and\nbackup images. This is the mechanism nova-compute and ironic-conductor\nalready expose for their optional packages.\n\nRelated-Bug: #2170385\nAssisted-By: Claude Code claude-fable-5-1\nChange-Id: If8202b9f04f0299183019891e4ddd636669b25b4\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/kolla/commit/4cefbac5792781e02453cd882c2872dbba371197"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/kolla/commit/4cefbac5792781e02453cd882c2872dbba371197"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"},{"label":"Backport-Candidate","status":"MAY","applied_by":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"}},{"label":"Review-Priority","status":"MAY","applied_by":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"NonZeroBackportCandidate","description":"A non-zero vote on Backport-Candidate is required before submitting changes","status":"SATISFIED","is_legacy":false,"applicability_expression_result":{"fulfilled":true,"status":"PASS"},"submittability_expression_result":{"expression":"label:Backport-Candidate\u003d1 OR label:Backport-Candidate\u003d-1","fulfilled":true,"status":"PASS","passing_atoms":["label:Backport-Candidate\u003d1"],"failing_atoms":["label:Backport-Candidate\u003d-1"],"atom_explanations":{"label:Backport-Candidate\u003d1":"","label:Backport-Candidate\u003d-1":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{"label:Review-Priority\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
