)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"df20b9db6018d44e4f395783d02f11ae13c00614","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2026-03-19 10:14:17 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"doc: Overriding Python dependencies for services in OpenStack-Ansible"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ifccd2ce4a7637627a7a5e7785a04743342ac49cb"},{"line_number":10,"context_line":"Signed-off-by: ourdia_sadia \u003csadia.ourdia95@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"01856e15_b6304132","line":8,"updated":"2026-03-19 14:36:17.000000000","message":"can you please add a small summary of your change in the commit message?","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"a1950cab095caf3202cd2a2ea7dde59257702319","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2026-03-19 10:14:17 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"doc: Overriding Python dependencies for services in OpenStack-Ansible"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ifccd2ce4a7637627a7a5e7785a04743342ac49cb"},{"line_number":10,"context_line":"Signed-off-by: ourdia_sadia \u003csadia.ourdia95@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7ec7095f_f186f4a7","line":8,"in_reply_to":"01856e15_b6304132","updated":"2026-03-19 15:17:28.000000000","message":"yes","commit_id":"edece997e938375fa91e7294fcb009662065651f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"8406fa37104388a2e0828c57cc71b1bd5d8f65a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f8596b80_600b8a2e","updated":"2026-03-20 17:32:36.000000000","message":"recheck","commit_id":"878a794af4e6f8bb0d60ec29abe583d1316f3302"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"b4ccea95be04768d2829c427464cf08b5e87d877","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"23ecce7f_de7a7d3e","updated":"2026-03-23 14:31:25.000000000","message":"minor adjustements.","commit_id":"b362a7cf7471245d0a33bfd775baef40a13b2ad9"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"8e37ee0e0fc94004c6e138277e625b3de8ff247c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c55b4033_c98b6dff","updated":"2026-03-24 15:18:31.000000000","message":"Recheck","commit_id":"5038655b91e62c5559962708c7f031adc1c567c6"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"a4c7ee17071255a7bd763602301cfbdaa83096a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1274c482_09797de8","updated":"2026-03-24 14:08:37.000000000","message":"recheck","commit_id":"5038655b91e62c5559962708c7f031adc1c567c6"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"a0daaf8d13f07c2dfb13aa6fa8b18193a3bbd4d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ca7e12f6_b98a5524","updated":"2026-03-24 14:47:35.000000000","message":"recheck","commit_id":"5038655b91e62c5559962708c7f031adc1c567c6"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"31ab2900052aa3018883f9ea10b4546f2fd430b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"38273dab_58b2f1a6","updated":"2026-03-26 09:12:23.000000000","message":"a general question - have you looked at possibility to place upper-constraints on the deploy host in `/etc/openstack_deploy/upper-constraints`?\n\nThinking about this release note specifically: https://opendev.org/openstack/openstack-ansible/src/branch/master/releasenotes/notes/repo-server-uc-cache-74de275bfd82c998.yaml","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"fdf108f4a87d506b289f25cd73f8edaf4fd5a4a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"72f3f9e9_70f5bbc2","in_reply_to":"38273dab_58b2f1a6","updated":"2026-03-26 14:21:27.000000000","message":"Yes, the documented approach modifies global constraints, which will impact all services.\nMy proposal is service-scoped, allowing overriding the package version within the virtualenv of a specific OpenStack service (via a PyPI version or a commit/branch), without affecting the rest of the platform.","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"69f7e542f3659c39f892f224db2735c109410280","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"2bb98814_e1dc668d","in_reply_to":"38273dab_58b2f1a6","updated":"2026-03-26 14:06:32.000000000","message":"like here : https://docs.openstack.org/openstack-ansible/latest/reference/configuration/using-overrides.html#overriding-openstack-upper-constraints","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"d7609a0d8b416b6f9ab3160219622ba99c523d63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"ba501991_f9aec933","updated":"2026-04-01 14:47:51.000000000","message":"Recheck","commit_id":"f6710bafd9b26d4a18e18b2982b8e1cb23467442"}],"doc/source/reference/configuration/using-overrides.rst":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"442172e11c529309b9e774adb08bc79614b4a529","unresolved":true,"context_lines":[{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    service_user_pip_packages:"},{"line_number":441,"context_line":"      - \"package_name\u003d\u003d\u003cdesired_version\u003e\""},{"line_number":442,"context_line":"    service_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(package_name)\u003d\u0027) | list }}\""},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"**Apply the override**"},{"line_number":445,"context_line":"Redeploy the affected service with:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ff47727_81b6982e","line":442,"range":{"start_line":442,"start_character":0,"end_line":442,"end_character":213},"updated":"2026-03-19 14:50:29.000000000","message":"I think a general recommendation is to internally maintain constraints file, and ensure used package security. So it might bew a worthy idea to override `requirements_git_url` in general to some internally served URI (even if it\u0027s an alternative path on the repo container), or `\u003cservice\u003e_upper_constraints_url` for a specific service.","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"737cab36e4b9b5a980ce198ece32c6ce5e2fb9ee","unresolved":false,"context_lines":[{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    service_user_pip_packages:"},{"line_number":441,"context_line":"      - \"package_name\u003d\u003d\u003cdesired_version\u003e\""},{"line_number":442,"context_line":"    service_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(package_name)\u003d\u0027) | list }}\""},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"**Apply the override**"},{"line_number":445,"context_line":"Redeploy the affected service with:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1edbc029_b3d3ffae","line":442,"range":{"start_line":442,"start_character":0,"end_line":442,"end_character":213},"in_reply_to":"3ff47727_81b6982e","updated":"2026-03-19 19:22:19.000000000","message":"I’ve added a note","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"442172e11c529309b9e774adb08bc79614b4a529","unresolved":true,"context_lines":[{"line_number":441,"context_line":"      - \"package_name\u003d\u003d\u003cdesired_version\u003e\""},{"line_number":442,"context_line":"    service_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(package_name)\u003d\u0027) | list }}\""},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"**Apply the override**"},{"line_number":445,"context_line":"Redeploy the affected service with:"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9ff1fb53_dcf7035f","line":444,"range":{"start_line":444,"start_character":0,"end_line":444,"end_character":22},"updated":"2026-03-19 14:50:29.000000000","message":"should this be a valid RST header section?","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"737cab36e4b9b5a980ce198ece32c6ce5e2fb9ee","unresolved":false,"context_lines":[{"line_number":441,"context_line":"      - \"package_name\u003d\u003d\u003cdesired_version\u003e\""},{"line_number":442,"context_line":"    service_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(package_name)\u003d\u0027) | list }}\""},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"**Apply the override**"},{"line_number":445,"context_line":"Redeploy the affected service with:"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bb2ea47a_d047475f","line":444,"range":{"start_line":444,"start_character":0,"end_line":444,"end_character":22},"in_reply_to":"9ff1fb53_dcf7035f","updated":"2026-03-19 19:22:19.000000000","message":"Done","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"442172e11c529309b9e774adb08bc79614b4a529","unresolved":true,"context_lines":[{"line_number":446,"context_line":""},{"line_number":447,"context_line":".. code-block:: bash"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":450,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"### b) Override with a commit/branch:"},{"line_number":453,"context_line":"-------------------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6eaa09cb_aff3b07a","line":450,"range":{"start_line":449,"start_character":0,"end_line":450,"end_character":68},"updated":"2026-03-19 14:50:29.000000000","message":"```suggestion\n    openstack-ansible openstack.osa.repo -e \"venv_rebuild\u003dtrue\"\n    openstack-ansible openstack.osa.\u003cservice\u003e -e \"venv_rebuild\u003dtrue\"\n```\n\nAlso, what exactly `repo-install.yml` will be doing in this case? As global u-c were not changed here?","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"737cab36e4b9b5a980ce198ece32c6ce5e2fb9ee","unresolved":false,"context_lines":[{"line_number":446,"context_line":""},{"line_number":447,"context_line":".. code-block:: bash"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":450,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"### b) Override with a commit/branch:"},{"line_number":453,"context_line":"-------------------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dae4b3b9_5a7e0d9e","line":450,"range":{"start_line":449,"start_character":0,"end_line":450,"end_character":68},"in_reply_to":"6eaa09cb_aff3b07a","updated":"2026-03-19 19:22:19.000000000","message":"The goal of running repo-install.yml here is to ensure that the required wheel\nfor the overridden package version is built and available in the local repo,\nespecially in environments relying on a local wheel mirror or without external\nPyPI access.","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"442172e11c529309b9e774adb08bc79614b4a529","unresolved":true,"context_lines":[{"line_number":459,"context_line":".. code-block:: yaml"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"    service_user_pip_packages:"},{"line_number":462,"context_line":"      - \"git+https://github.com/openstack/package_name@\u003cSHA_commit\u003e\""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"**Apply the override**"},{"line_number":465,"context_line":"Redeploy the affected service with:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"66c2330f_de97afa1","line":462,"range":{"start_line":462,"start_character":6,"end_line":462,"end_character":68},"updated":"2026-03-19 14:50:29.000000000","message":"I think it\u0027s important to define what are we overriding, as having `openstack` in URI assumes it might be the service itself.\n\nAnd I\u0027d guess the constraints file still should be modified to avoid conflicts during install?","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"d7f7d57717a906e81d08abdbec632e20db0c1afb","unresolved":false,"context_lines":[{"line_number":459,"context_line":".. code-block:: yaml"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"    service_user_pip_packages:"},{"line_number":462,"context_line":"      - \"git+https://github.com/openstack/package_name@\u003cSHA_commit\u003e\""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"**Apply the override**"},{"line_number":465,"context_line":"Redeploy the affected service with:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"278b34a2_8acb881b","line":462,"range":{"start_line":462,"start_character":6,"end_line":462,"end_character":68},"in_reply_to":"649b469a_4fa9fa39","updated":"2026-03-19 19:44:30.000000000","message":"Done","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"737cab36e4b9b5a980ce198ece32c6ce5e2fb9ee","unresolved":true,"context_lines":[{"line_number":459,"context_line":".. code-block:: yaml"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"    service_user_pip_packages:"},{"line_number":462,"context_line":"      - \"git+https://github.com/openstack/package_name@\u003cSHA_commit\u003e\""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"**Apply the override**"},{"line_number":465,"context_line":"Redeploy the affected service with:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"649b469a_4fa9fa39","line":462,"range":{"start_line":462,"start_character":6,"end_line":462,"end_character":68},"in_reply_to":"66c2330f_de97afa1","updated":"2026-03-19 19:22:19.000000000","message":"Here, the override targets a Python dependency used by the service, not the\nOpenStack service itself. The package is installed from a specific Git commit\nthat already includes the required fix.\nRegarding constraints, in this specific case the patched version already enforces\nthe correct dependency version, and no conflict was observed during testing.","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"442172e11c529309b9e774adb08bc79614b4a529","unresolved":true,"context_lines":[{"line_number":467,"context_line":".. code-block:: bash"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"# b)-2 unreleased patch, feature, or fix:"},{"line_number":472,"context_line":"----------------------------------------"},{"line_number":473,"context_line":"Override file: ``/etc/openstack_deploy/user_xx.yml``"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":".. code-block:: yaml"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    xx_user_pip_packages:"},{"line_number":478,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    service_user_pip_packages: \"{{ xx_user_pip_packages }}\""},{"line_number":483,"context_line":"    service_git_constraints: \"{{ xx_git_constraints }}\""},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"**Apply the override**"},{"line_number":486,"context_line":"Redeploy the affected service with:"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":".. code-block:: bash"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":491,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"## 2. Files involved and verification"},{"line_number":494,"context_line":"-------------------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ff373bc_dcb2c8de","line":491,"range":{"start_line":470,"start_character":0,"end_line":491,"end_character":68},"updated":"2026-03-19 14:50:29.000000000","message":"I\u0027m not sure how it\u0027s actually different from the previous one - in both cases you\u0027re installing by commit SHA. So they should be pretty much the same.","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"737cab36e4b9b5a980ce198ece32c6ce5e2fb9ee","unresolved":true,"context_lines":[{"line_number":467,"context_line":".. code-block:: bash"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"# b)-2 unreleased patch, feature, or fix:"},{"line_number":472,"context_line":"----------------------------------------"},{"line_number":473,"context_line":"Override file: ``/etc/openstack_deploy/user_xx.yml``"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":".. code-block:: yaml"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    xx_user_pip_packages:"},{"line_number":478,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    service_user_pip_packages: \"{{ xx_user_pip_packages }}\""},{"line_number":483,"context_line":"    service_git_constraints: \"{{ xx_git_constraints }}\""},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"**Apply the override**"},{"line_number":486,"context_line":"Redeploy the affected service with:"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":".. code-block:: bash"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":491,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"## 2. Files involved and verification"},{"line_number":494,"context_line":"-------------------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2aa050ac_26f812e4","line":491,"range":{"start_line":470,"start_character":0,"end_line":491,"end_character":68},"in_reply_to":"1ff373bc_dcb2c8de","updated":"2026-03-19 19:22:19.000000000","message":"Both cases use a Git commit SHA for installation, but the difference lies in the\ncontext of the dependency source and its lifecycle.\nIn the first case, the commit comes from a branch aligned with the current\nsupported release, meaning it can be integrated cleanly with the existing\nconstraints and is expected to be forward-compatible.\nIn the second case, the commit originates from an older or unmaintained branch\nused as a backport for a missing fix, which may not align with the current\nconstraints and therefore requires more caution regarding compatibility.","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"d7f7d57717a906e81d08abdbec632e20db0c1afb","unresolved":false,"context_lines":[{"line_number":467,"context_line":".. code-block:: bash"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"# b)-2 unreleased patch, feature, or fix:"},{"line_number":472,"context_line":"----------------------------------------"},{"line_number":473,"context_line":"Override file: ``/etc/openstack_deploy/user_xx.yml``"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":".. code-block:: yaml"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    xx_user_pip_packages:"},{"line_number":478,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    service_user_pip_packages: \"{{ xx_user_pip_packages }}\""},{"line_number":483,"context_line":"    service_git_constraints: \"{{ xx_git_constraints }}\""},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"**Apply the override**"},{"line_number":486,"context_line":"Redeploy the affected service with:"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":".. code-block:: bash"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":491,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"## 2. Files involved and verification"},{"line_number":494,"context_line":"-------------------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3c9eeb8a_53a2d38c","line":491,"range":{"start_line":470,"start_character":0,"end_line":491,"end_character":68},"in_reply_to":"2aa050ac_26f812e4","updated":"2026-03-19 19:44:30.000000000","message":"Done","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"442172e11c529309b9e774adb08bc79614b4a529","unresolved":true,"context_lines":[{"line_number":568,"context_line":""},{"line_number":569,"context_line":"## 5. More info/upstream reference"},{"line_number":570,"context_line":"----------------------------------"},{"line_number":571,"context_line":"- `OpenStack-Ansible source-overrides documentation \u003chttps://docs.openstack.org/openstack-ansible/latest/user/source-overrides/index.html\u003e`_"},{"line_number":572,"context_line":"- `Example upstream CVE patch (KeystoneMiddleware Gerrit) \u003chttps://review.opendev.org/c/openstack/keystonemiddleware/+/973499\u003e`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dac38bdb_f9b7cd60","line":571,"range":{"start_line":571,"start_character":0,"end_line":571,"end_character":140},"updated":"2026-03-19 14:50:29.000000000","message":"there\u0027s a better way to self-reference in sphinx: https://www.sphinx-doc.org/en/master/usage/referencing.html#cross-referencing-arbitrary-locations","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"737cab36e4b9b5a980ce198ece32c6ce5e2fb9ee","unresolved":false,"context_lines":[{"line_number":568,"context_line":""},{"line_number":569,"context_line":"## 5. More info/upstream reference"},{"line_number":570,"context_line":"----------------------------------"},{"line_number":571,"context_line":"- `OpenStack-Ansible source-overrides documentation \u003chttps://docs.openstack.org/openstack-ansible/latest/user/source-overrides/index.html\u003e`_"},{"line_number":572,"context_line":"- `Example upstream CVE patch (KeystoneMiddleware Gerrit) \u003chttps://review.opendev.org/c/openstack/keystonemiddleware/+/973499\u003e`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fb0b726a_8ddbb28a","line":571,"range":{"start_line":571,"start_character":0,"end_line":571,"end_character":140},"in_reply_to":"dac38bdb_f9b7cd60","updated":"2026-03-19 19:22:19.000000000","message":"Done","commit_id":"edece997e938375fa91e7294fcb009662065651f"},{"author":{"_account_id":37632,"name":"Dmitriy Chubinidze","email":"dcu995@gmail.com","username":"chubinidzedr"},"change_message_id":"22caba82b1b5e5fdfffd466bde81f59bf3d9b845","unresolved":true,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":".. code-block:: bash"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"# b)-2 unreleased patch, feature, or fix:"},{"line_number":492,"context_line":"-----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"39070df2_60d85947","line":489,"range":{"start_line":489,"start_character":22,"end_line":489,"end_character":46},"updated":"2026-03-19 22:29:53.000000000","message":"```suggestion\n    openstack-ansible openstack.osa.\u003cservice\u003e -e \"venv_rebuild\u003dtrue\"\n```","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"9a3f600cb82a4b9e427cf14b8cc055da8cc8c861","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":".. code-block:: bash"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"# b)-2 unreleased patch, feature, or fix:"},{"line_number":492,"context_line":"-----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"f2be0199_5040318e","line":489,"range":{"start_line":489,"start_character":22,"end_line":489,"end_character":46},"in_reply_to":"39070df2_60d85947","updated":"2026-03-20 15:48:39.000000000","message":"Done","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":37632,"name":"Dmitriy Chubinidze","email":"dcu995@gmail.com","username":"chubinidzedr"},"change_message_id":"22caba82b1b5e5fdfffd466bde81f59bf3d9b845","unresolved":true,"context_lines":[{"line_number":523,"context_line":""},{"line_number":524,"context_line":"Check constraint/requirements files inside the venv for correctness."},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"## 3. Example"},{"line_number":527,"context_line":"--------------"},{"line_number":528,"context_line":"Applying a CVE patch to keystonemiddleware (override the Python package)"},{"line_number":529,"context_line":"------------------------------------------------------------------------"},{"line_number":530,"context_line":"### a) Override with a released version (PyPI)"},{"line_number":531,"context_line":"----------------------------------------------"},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"You can force a service to use a specific official PyPI version of"},{"line_number":534,"context_line":"a dependency, e.g. :"},{"line_number":535,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f3146c7_7eaab2f9","line":532,"range":{"start_line":526,"start_character":0,"end_line":532,"end_character":0},"updated":"2026-03-19 22:29:53.000000000","message":"Please, try not to use numbers, hashes, or explicit tags in chapter namings, and use them sequentially with same underlines. Try to group the by sections and subsections (like using double (\u003d) and single underlining (-)), just like in other docs.","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"9a3f600cb82a4b9e427cf14b8cc055da8cc8c861","unresolved":false,"context_lines":[{"line_number":523,"context_line":""},{"line_number":524,"context_line":"Check constraint/requirements files inside the venv for correctness."},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"## 3. Example"},{"line_number":527,"context_line":"--------------"},{"line_number":528,"context_line":"Applying a CVE patch to keystonemiddleware (override the Python package)"},{"line_number":529,"context_line":"------------------------------------------------------------------------"},{"line_number":530,"context_line":"### a) Override with a released version (PyPI)"},{"line_number":531,"context_line":"----------------------------------------------"},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"You can force a service to use a specific official PyPI version of"},{"line_number":534,"context_line":"a dependency, e.g. :"},{"line_number":535,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"925f511b_6eb0ac78","line":532,"range":{"start_line":526,"start_character":0,"end_line":532,"end_character":0},"in_reply_to":"3f3146c7_7eaab2f9","updated":"2026-03-20 15:48:39.000000000","message":"thanks","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":37632,"name":"Dmitriy Chubinidze","email":"dcu995@gmail.com","username":"chubinidzedr"},"change_message_id":"22caba82b1b5e5fdfffd466bde81f59bf3d9b845","unresolved":true,"context_lines":[{"line_number":545,"context_line":""},{"line_number":546,"context_line":".. code-block:: bash"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":549,"context_line":"    openstack-ansible os-keystone-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"### b)-1 Override with a commit/branch (released patch, feature, or fix)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"4859ccdb_9d008856","line":548,"range":{"start_line":548,"start_character":22,"end_line":548,"end_character":38},"updated":"2026-03-19 22:29:53.000000000","message":"```suggestion\n    openstack-ansible openstack.osa.repo -e \"venv_rebuild\u003dtrue\"\n```","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"9a3f600cb82a4b9e427cf14b8cc055da8cc8c861","unresolved":false,"context_lines":[{"line_number":545,"context_line":""},{"line_number":546,"context_line":".. code-block:: bash"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":549,"context_line":"    openstack-ansible os-keystone-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"### b)-1 Override with a commit/branch (released patch, feature, or fix)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a6d88da_79e1ac52","line":548,"range":{"start_line":548,"start_character":22,"end_line":548,"end_character":38},"in_reply_to":"4859ccdb_9d008856","updated":"2026-03-20 15:48:39.000000000","message":"Done","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":37632,"name":"Dmitriy Chubinidze","email":"dcu995@gmail.com","username":"chubinidzedr"},"change_message_id":"22caba82b1b5e5fdfffd466bde81f59bf3d9b845","unresolved":true,"context_lines":[{"line_number":546,"context_line":".. code-block:: bash"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":549,"context_line":"    openstack-ansible os-keystone-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"### b)-1 Override with a commit/branch (released patch, feature, or fix)"},{"line_number":552,"context_line":"------------------------------------------------------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"b489653e_587e58f6","line":549,"range":{"start_line":549,"start_character":22,"end_line":549,"end_character":45},"updated":"2026-03-19 22:29:53.000000000","message":"```suggestion\n    openstack-ansible openstack.osa.keystone -e \"venv_rebuild\u003dtrue\"\n```","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"9a3f600cb82a4b9e427cf14b8cc055da8cc8c861","unresolved":false,"context_lines":[{"line_number":546,"context_line":".. code-block:: bash"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":549,"context_line":"    openstack-ansible os-keystone-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"### b)-1 Override with a commit/branch (released patch, feature, or fix)"},{"line_number":552,"context_line":"------------------------------------------------------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bb7c8e23_6b48b52b","line":549,"range":{"start_line":549,"start_character":22,"end_line":549,"end_character":45},"in_reply_to":"b489653e_587e58f6","updated":"2026-03-20 15:48:39.000000000","message":"Done","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":37632,"name":"Dmitriy Chubinidze","email":"dcu995@gmail.com","username":"chubinidzedr"},"change_message_id":"22caba82b1b5e5fdfffd466bde81f59bf3d9b845","unresolved":true,"context_lines":[{"line_number":563,"context_line":""},{"line_number":564,"context_line":".. code-block:: bash"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    openstack-ansible os-keystone-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"## b)-2 Override with a commit/branch (unreleased patch, feature, or fix)"},{"line_number":569,"context_line":"-------------------------------------------------------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1de46c4c_5b41eb93","line":566,"range":{"start_line":566,"start_character":22,"end_line":566,"end_character":45},"updated":"2026-03-19 22:29:53.000000000","message":"```suggestion\n    openstack-ansible openstack.osa.keystone -e \"venv_rebuild\u003dtrue\"\n```","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"9a3f600cb82a4b9e427cf14b8cc055da8cc8c861","unresolved":false,"context_lines":[{"line_number":563,"context_line":""},{"line_number":564,"context_line":".. code-block:: bash"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    openstack-ansible os-keystone-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"## b)-2 Override with a commit/branch (unreleased patch, feature, or fix)"},{"line_number":569,"context_line":"-------------------------------------------------------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"03b8d1c7_41b80716","line":566,"range":{"start_line":566,"start_character":22,"end_line":566,"end_character":45},"in_reply_to":"1de46c4c_5b41eb93","updated":"2026-03-20 15:48:39.000000000","message":"Done","commit_id":"81731bcd05dfb4c08c9607fe5d38fb4ccef7ab99"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"3faf022c4e4174139e2704c9a7905f22b3ae7f00","unresolved":true,"context_lines":[{"line_number":434,"context_line":"an OpenStack service managed by OpenStack-Ansible:"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"Override with a released version (PyPI)"},{"line_number":437,"context_line":"---------------------------------------"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"You can force a service to use a specific official PyPI version of"},{"line_number":440,"context_line":"a dependency, e.g. :"}],"source_content_type":"text/x-rst","patch_set":5,"id":"31e885aa_f3d413bc","line":437,"range":{"start_line":437,"start_character":0,"end_line":437,"end_character":39},"updated":"2026-03-21 09:15:25.000000000","message":"So, based on what you use (dash, caret, etc) - this will render as different sections in sphinx[1] I\u0027d assume, that this supposed to be under the `General method` section?\n\nFor instance, I assume here what you want to do is\n```\nOverride with a released version (PyPI)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n```\n\nYou can also inspect the renderred result in Zuul job artifacts, for that:\nIn Gerrit patch page -\u003e Zuul Summary -\u003e openstack-tox-docs -\u003e Artifacts -\u003e Doc preview site.\n\n[1] https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#sections","commit_id":"878a794af4e6f8bb0d60ec29abe583d1316f3302"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"0a5863edef21046a35d0a1e19ab0ed89a43bddd0","unresolved":false,"context_lines":[{"line_number":434,"context_line":"an OpenStack service managed by OpenStack-Ansible:"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"Override with a released version (PyPI)"},{"line_number":437,"context_line":"---------------------------------------"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"You can force a service to use a specific official PyPI version of"},{"line_number":440,"context_line":"a dependency, e.g. :"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa513556_1ba7d0b4","line":437,"range":{"start_line":437,"start_character":0,"end_line":437,"end_character":39},"in_reply_to":"31e885aa_f3d413bc","updated":"2026-03-23 13:12:04.000000000","message":"I reviewed the hierarchy and fixed the underline styles. Thanks!","commit_id":"878a794af4e6f8bb0d60ec29abe583d1316f3302"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"891b349220d48d1d1eba0fa33eeb22bea43bd7e5","unresolved":true,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":".. code-block:: bash"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":462,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":".. note::"},{"line_number":465,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7ab1d7b2_acb97f25","line":462,"range":{"start_line":461,"start_character":0,"end_line":462,"end_character":68},"updated":"2026-03-21 09:17:03.000000000","message":"can you kindly check that all playbook references are in modern format throughout the doc?","commit_id":"878a794af4e6f8bb0d60ec29abe583d1316f3302"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"0a5863edef21046a35d0a1e19ab0ed89a43bddd0","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":".. code-block:: bash"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"    openstack-ansible repo-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":462,"context_line":"    openstack-ansible os-\u003cservice\u003e-install.yml -e \"venv_rebuild\u003dyes\""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":".. note::"},{"line_number":465,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f52b3d3_da920d9f","line":462,"range":{"start_line":461,"start_character":0,"end_line":462,"end_character":68},"in_reply_to":"7ab1d7b2_acb97f25","updated":"2026-03-23 13:12:04.000000000","message":"Done","commit_id":"878a794af4e6f8bb0d60ec29abe583d1316f3302"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"b4ccea95be04768d2829c427464cf08b5e87d877","unresolved":true,"context_lines":[{"line_number":473,"context_line":".. code-block:: yaml"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    service_user_pip_packages:"},{"line_number":476,"context_line":"      - \"git+https://github.com/openstack/package_name@\u003cSHA_commit\u003e\""},{"line_number":477,"context_line":""},{"line_number":478,"context_line":".. note::"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"f5e4b9d5_8e384ea9","line":476,"range":{"start_line":476,"start_character":54,"end_line":476,"end_character":68},"updated":"2026-03-23 14:31:25.000000000","message":"consistency please.","commit_id":"b362a7cf7471245d0a33bfd775baef40a13b2ad9"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"d02605102d5aaaee31fe3e08b9f11945bbb65f12","unresolved":false,"context_lines":[{"line_number":473,"context_line":".. code-block:: yaml"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    service_user_pip_packages:"},{"line_number":476,"context_line":"      - \"git+https://github.com/openstack/package_name@\u003cSHA_commit\u003e\""},{"line_number":477,"context_line":""},{"line_number":478,"context_line":".. note::"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9468889d_21bddedf","line":476,"range":{"start_line":476,"start_character":54,"end_line":476,"end_character":68},"in_reply_to":"f5e4b9d5_8e384ea9","updated":"2026-03-24 13:38:43.000000000","message":"Done","commit_id":"b362a7cf7471245d0a33bfd775baef40a13b2ad9"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"b4ccea95be04768d2829c427464cf08b5e87d877","unresolved":true,"context_lines":[{"line_number":496,"context_line":".. code-block:: yaml"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    xx_user_pip_packages:"},{"line_number":499,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":502,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"c63f2d05_503c2aa5","line":499,"range":{"start_line":499,"start_character":54,"end_line":499,"end_character":66},"updated":"2026-03-23 14:31:25.000000000","message":"consistency please.","commit_id":"b362a7cf7471245d0a33bfd775baef40a13b2ad9"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"d02605102d5aaaee31fe3e08b9f11945bbb65f12","unresolved":false,"context_lines":[{"line_number":496,"context_line":".. code-block:: yaml"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    xx_user_pip_packages:"},{"line_number":499,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":502,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"c3bfb167_2a7a31f3","line":499,"range":{"start_line":499,"start_character":54,"end_line":499,"end_character":66},"in_reply_to":"c63f2d05_503c2aa5","updated":"2026-03-24 13:38:43.000000000","message":"Done","commit_id":"b362a7cf7471245d0a33bfd775baef40a13b2ad9"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"b4ccea95be04768d2829c427464cf08b5e87d877","unresolved":true,"context_lines":[{"line_number":556,"context_line":""},{"line_number":557,"context_line":".. code-block:: yaml"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":" Keystone_user_pip_packages:"},{"line_number":560,"context_line":"   - \"git+https://github.com/openstack/keystonemiddleware@9401c513219f86008d1df380a10d57464bb20b2d\""},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"* Apply the override"}],"source_content_type":"text/x-rst","patch_set":6,"id":"34b9628a_a3a16f36","line":559,"range":{"start_line":559,"start_character":1,"end_line":559,"end_character":2},"updated":"2026-03-23 14:31:25.000000000","message":"typo, should be keystone_user_pip_packages (all lowercase)","commit_id":"b362a7cf7471245d0a33bfd775baef40a13b2ad9"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"d02605102d5aaaee31fe3e08b9f11945bbb65f12","unresolved":false,"context_lines":[{"line_number":556,"context_line":""},{"line_number":557,"context_line":".. code-block:: yaml"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":" Keystone_user_pip_packages:"},{"line_number":560,"context_line":"   - \"git+https://github.com/openstack/keystonemiddleware@9401c513219f86008d1df380a10d57464bb20b2d\""},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"* Apply the override"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4b500088_490def17","line":559,"range":{"start_line":559,"start_character":1,"end_line":559,"end_character":2},"in_reply_to":"34b9628a_a3a16f36","updated":"2026-03-24 13:38:43.000000000","message":"Done","commit_id":"b362a7cf7471245d0a33bfd775baef40a13b2ad9"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"5579591ac8dc65e8c75270dc03e0eb723bac9729","unresolved":true,"context_lines":[{"line_number":448,"context_line":"   However, for a more maintainable and secure approach, it is recommended to maintain an internal constraints file and override requirements_git_url or"},{"line_number":449,"context_line":"   \u003cservice\u003e_upper_constraints_url to point to internally managed constraints."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"* Apply the override"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"Redeploy the affected service with:"},{"line_number":454,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"53356bbe_2b2df32f","line":451,"range":{"start_line":451,"start_character":0,"end_line":451,"end_character":20},"updated":"2026-03-25 22:43:35.000000000","message":"this should be a section header I assume? As it\u0027s rendered as a list from single element instead.","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"173147fdf0807eb2a54cf7b0b19f92d55f24d9de","unresolved":false,"context_lines":[{"line_number":448,"context_line":"   However, for a more maintainable and secure approach, it is recommended to maintain an internal constraints file and override requirements_git_url or"},{"line_number":449,"context_line":"   \u003cservice\u003e_upper_constraints_url to point to internally managed constraints."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"* Apply the override"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"Redeploy the affected service with:"},{"line_number":454,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"d09ca286_bbc60f18","line":451,"range":{"start_line":451,"start_character":0,"end_line":451,"end_character":20},"in_reply_to":"53356bbe_2b2df32f","updated":"2026-03-26 19:39:02.000000000","message":"Done","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"5579591ac8dc65e8c75270dc03e0eb723bac9729","unresolved":true,"context_lines":[{"line_number":454,"context_line":""},{"line_number":455,"context_line":".. code-block:: bash"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    openstack-ansible openstack.osa.repo -e \"venv_rebuild\u003dtrue\""},{"line_number":458,"context_line":"    openstack-ansible openstack.osa.\u003cservice\u003e -e \"venv_rebuild\u003dtrue\""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"a2d1669b_f631f11c","line":457,"range":{"start_line":457,"start_character":41,"end_line":457,"end_character":63},"updated":"2026-03-25 22:43:35.000000000","message":"there\u0027s no venvs for repo role, so this var is not needed.","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"173147fdf0807eb2a54cf7b0b19f92d55f24d9de","unresolved":false,"context_lines":[{"line_number":454,"context_line":""},{"line_number":455,"context_line":".. code-block:: bash"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    openstack-ansible openstack.osa.repo -e \"venv_rebuild\u003dtrue\""},{"line_number":458,"context_line":"    openstack-ansible openstack.osa.\u003cservice\u003e -e \"venv_rebuild\u003dtrue\""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"f3939223_a62c46a3","line":457,"range":{"start_line":457,"start_character":41,"end_line":457,"end_character":63},"in_reply_to":"a2d1669b_f631f11c","updated":"2026-03-26 19:39:02.000000000","message":"Done","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"5579591ac8dc65e8c75270dc03e0eb723bac9729","unresolved":true,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":".. note::"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    Running ``openstack.osa.repo`` ensures that the required wheel for the overridden package version is built and available in the local repository."},{"line_number":463,"context_line":"    This is particularly important in environments using a local wheel mirror or without direct access to PyPI."},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"Override with a commit/branch"},{"line_number":466,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"29d66bd0_9a9e87a4","line":463,"range":{"start_line":462,"start_character":0,"end_line":463,"end_character":111},"updated":"2026-03-25 22:43:35.000000000","message":"It does not build wheels for years now.\n\nThe only thing it would do, is pull an updated version of upper-constraints file, *in case* either requirements_git_repo or requirements_git_install_branch were changed.\n\nSo I\u0027d say that `openstack.osa.repo` don\u0027t need to run here.","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"173147fdf0807eb2a54cf7b0b19f92d55f24d9de","unresolved":true,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":".. note::"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    Running ``openstack.osa.repo`` ensures that the required wheel for the overridden package version is built and available in the local repository."},{"line_number":463,"context_line":"    This is particularly important in environments using a local wheel mirror or without direct access to PyPI."},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"Override with a commit/branch"},{"line_number":466,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"d599d97b_d21afaf5","line":463,"range":{"start_line":462,"start_character":0,"end_line":463,"end_character":111},"in_reply_to":"29d66bd0_9a9e87a4","updated":"2026-03-26 19:39:02.000000000","message":"Thank you. I’ve confirmed through retesting that it works without openstack.osa.repo","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"1b60feab72259f10830e96c6f782ed94c4672449","unresolved":false,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":".. note::"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    Running ``openstack.osa.repo`` ensures that the required wheel for the overridden package version is built and available in the local repository."},{"line_number":463,"context_line":"    This is particularly important in environments using a local wheel mirror or without direct access to PyPI."},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"Override with a commit/branch"},{"line_number":466,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"2876ade5_72163252","line":463,"range":{"start_line":462,"start_character":0,"end_line":463,"end_character":111},"in_reply_to":"d599d97b_d21afaf5","updated":"2026-03-26 19:41:10.000000000","message":"Done","commit_id":"f6a78d0faefaa038bb034dd2a1a7d0c39b0b9ba2"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"d858c211a6fbbd3e30613086fcce115e567bdfbd","unresolved":true,"context_lines":[{"line_number":430,"context_line":"    - Plan periodic review/removal of overrides after upgrade or once patches are upstreamed."},{"line_number":431,"context_line":"    - Validate carefully as such overrides can impact stability, upgrades, and maintenance."},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"Override with a released version (PyPI)"},{"line_number":434,"context_line":"---------------------------------------"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"You can force a service to use a specific official PyPI version of"},{"line_number":437,"context_line":"a dependency, e.g. :"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":".. code-block:: yaml"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"    service_user_pip_packages:"},{"line_number":442,"context_line":"      - \"package_name\u003d\u003d\u003cdesired_version\u003e\""},{"line_number":443,"context_line":"    service_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(package_name)\u003d\u0027) | list }}\""},{"line_number":444,"context_line":""},{"line_number":445,"context_line":".. note::"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"   This method allows overriding a specific dependency version at the service level and can be useful for quick fixes, testing, or temporary workarounds."},{"line_number":448,"context_line":"   However, for a more maintainable and secure approach, it is recommended to maintain an internal constraints file and override requirements_git_url or"},{"line_number":449,"context_line":"   \u003cservice\u003e_upper_constraints_url to point to internally managed constraints."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"Apply the override"},{"line_number":452,"context_line":"^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":10,"id":"6e01e9d5_d3395877","line":449,"range":{"start_line":433,"start_character":0,"end_line":449,"end_character":78},"updated":"2026-03-31 18:49:50.000000000","message":"document with the constraints file instead for a released version.","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"1d4630e18e3d2dabf6931db2c80e5170bfb153f6","unresolved":false,"context_lines":[{"line_number":430,"context_line":"    - Plan periodic review/removal of overrides after upgrade or once patches are upstreamed."},{"line_number":431,"context_line":"    - Validate carefully as such overrides can impact stability, upgrades, and maintenance."},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"Override with a released version (PyPI)"},{"line_number":434,"context_line":"---------------------------------------"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"You can force a service to use a specific official PyPI version of"},{"line_number":437,"context_line":"a dependency, e.g. :"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":".. code-block:: yaml"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"    service_user_pip_packages:"},{"line_number":442,"context_line":"      - \"package_name\u003d\u003d\u003cdesired_version\u003e\""},{"line_number":443,"context_line":"    service_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(package_name)\u003d\u0027) | list }}\""},{"line_number":444,"context_line":""},{"line_number":445,"context_line":".. note::"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"   This method allows overriding a specific dependency version at the service level and can be useful for quick fixes, testing, or temporary workarounds."},{"line_number":448,"context_line":"   However, for a more maintainable and secure approach, it is recommended to maintain an internal constraints file and override requirements_git_url or"},{"line_number":449,"context_line":"   \u003cservice\u003e_upper_constraints_url to point to internally managed constraints."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"Apply the override"},{"line_number":452,"context_line":"^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":10,"id":"50395785_dd06d36d","line":449,"range":{"start_line":433,"start_character":0,"end_line":449,"end_character":78},"in_reply_to":"6e01e9d5_d3395877","updated":"2026-04-01 13:38:56.000000000","message":"OK","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"d858c211a6fbbd3e30613086fcce115e567bdfbd","unresolved":true,"context_lines":[{"line_number":465,"context_line":".. code-block:: yaml"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"    xx_user_pip_packages:"},{"line_number":468,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":471,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"2acccb3e_d39aef76","line":468,"range":{"start_line":468,"start_character":41,"end_line":468,"end_character":54},"updated":"2026-03-31 18:49:50.000000000","message":"\u003cpackage_name\u003e here","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"1d4630e18e3d2dabf6931db2c80e5170bfb153f6","unresolved":false,"context_lines":[{"line_number":465,"context_line":".. code-block:: yaml"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"    xx_user_pip_packages:"},{"line_number":468,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":471,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"e677c154_4dbf3cd4","line":468,"range":{"start_line":468,"start_character":41,"end_line":468,"end_character":54},"in_reply_to":"2acccb3e_d39aef76","updated":"2026-04-01 13:38:56.000000000","message":"Done","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"d858c211a6fbbd3e30613086fcce115e567bdfbd","unresolved":true,"context_lines":[{"line_number":467,"context_line":"    xx_user_pip_packages:"},{"line_number":468,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    service_user_pip_packages: \"{{ xx_user_pip_packages }}\""},{"line_number":473,"context_line":"    service_git_constraints: \"{{ xx_git_constraints }}\""}],"source_content_type":"text/x-rst","patch_set":10,"id":"4b4822a7_c7240bf7","line":470,"range":{"start_line":470,"start_character":181,"end_line":470,"end_character":199},"updated":"2026-03-31 18:49:50.000000000","message":"maybe \u003cpackage_name\u003e here. with emphasis the fact the it needs to filter out the \u003cpackage\u003e from the constraints.","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"1d4630e18e3d2dabf6931db2c80e5170bfb153f6","unresolved":false,"context_lines":[{"line_number":467,"context_line":"    xx_user_pip_packages:"},{"line_number":468,"context_line":"      - \"git+https://github.com/openstack/package_name@SHA_commit\""},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    service_user_pip_packages: \"{{ xx_user_pip_packages }}\""},{"line_number":473,"context_line":"    service_git_constraints: \"{{ xx_git_constraints }}\""}],"source_content_type":"text/x-rst","patch_set":10,"id":"d3bf42a3_fcabc804","line":470,"range":{"start_line":470,"start_character":181,"end_line":470,"end_character":199},"in_reply_to":"4b4822a7_c7240bf7","updated":"2026-04-01 13:38:56.000000000","message":"Done","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"d858c211a6fbbd3e30613086fcce115e567bdfbd","unresolved":true,"context_lines":[{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    service_user_pip_packages: \"{{ xx_user_pip_packages }}\""},{"line_number":473,"context_line":"    service_git_constraints: \"{{ xx_git_constraints }}\""},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"Apply the override"}],"source_content_type":"text/x-rst","patch_set":10,"id":"451bdb4b_7a7f3c6b","line":472,"range":{"start_line":472,"start_character":3,"end_line":472,"end_character":11},"updated":"2026-03-31 18:49:50.000000000","message":"\u003cservice\u003e , to match the apply section.","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"1d4630e18e3d2dabf6931db2c80e5170bfb153f6","unresolved":false,"context_lines":[{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    xx_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    service_user_pip_packages: \"{{ xx_user_pip_packages }}\""},{"line_number":473,"context_line":"    service_git_constraints: \"{{ xx_git_constraints }}\""},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"Apply the override"}],"source_content_type":"text/x-rst","patch_set":10,"id":"77401bd2_dacf0fe4","line":472,"range":{"start_line":472,"start_character":3,"end_line":472,"end_character":11},"in_reply_to":"451bdb4b_7a7f3c6b","updated":"2026-04-01 13:38:56.000000000","message":"Done","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"d858c211a6fbbd3e30613086fcce115e567bdfbd","unresolved":true,"context_lines":[{"line_number":499,"context_line":"Applying a CVE patch to keystonemiddleware (override the Python package)"},{"line_number":500,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"* Override with a released version (PyPI)"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"You can force a service to use a specific official PyPI version of"},{"line_number":505,"context_line":"a dependency, e.g. :"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":".. code-block:: yaml"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"    keystone_user_pip_packages:"},{"line_number":510,"context_line":"      - \"keystonemiddleware\u003d\u003d10.12.0\""},{"line_number":511,"context_line":"    keystone_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"* Apply the override"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"Redeploy the affected service with:"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":".. code-block:: bash"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    openstack-ansible openstack.osa.keystone -e \"venv_rebuild\u003dtrue\""},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"* Override with a commit/branch (released patch, feature, or fix)"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"In these example the fix exist for the banche stable/2025.1"}],"source_content_type":"text/x-rst","patch_set":10,"id":"db9d3f3d_dc444e29","line":520,"range":{"start_line":502,"start_character":0,"end_line":520,"end_character":0},"updated":"2026-03-31 18:49:50.000000000","message":"document with the constraints method instead.","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"1d4630e18e3d2dabf6931db2c80e5170bfb153f6","unresolved":false,"context_lines":[{"line_number":499,"context_line":"Applying a CVE patch to keystonemiddleware (override the Python package)"},{"line_number":500,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"* Override with a released version (PyPI)"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"You can force a service to use a specific official PyPI version of"},{"line_number":505,"context_line":"a dependency, e.g. :"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":".. code-block:: yaml"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"    keystone_user_pip_packages:"},{"line_number":510,"context_line":"      - \"keystonemiddleware\u003d\u003d10.12.0\""},{"line_number":511,"context_line":"    keystone_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"* Apply the override"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"Redeploy the affected service with:"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":".. code-block:: bash"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    openstack-ansible openstack.osa.keystone -e \"venv_rebuild\u003dtrue\""},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"* Override with a commit/branch (released patch, feature, or fix)"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"In these example the fix exist for the banche stable/2025.1"}],"source_content_type":"text/x-rst","patch_set":10,"id":"95a74bab_a12b574d","line":520,"range":{"start_line":502,"start_character":0,"end_line":520,"end_character":0},"in_reply_to":"db9d3f3d_dc444e29","updated":"2026-04-01 13:38:56.000000000","message":"Done","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":13095,"name":"Marc Gariépy","email":"gariepy.marc@gmail.com","username":"mgariepy"},"change_message_id":"d858c211a6fbbd3e30613086fcce115e567bdfbd","unresolved":true,"context_lines":[{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    openstack-ansible openstack.osa.keystone -e \"venv_rebuild\u003dtrue\""},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"* Override with a commit/branch (released patch, feature, or fix)"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"In these example the fix exist for the banche stable/2025.1"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":".. code-block:: yaml"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"    keystone_user_pip_packages:"},{"line_number":528,"context_line":"      - \"git+https://github.com/openstack/keystonemiddleware@9401c513219f86008d1df380a10d57464bb20b2d\""},{"line_number":529,"context_line":"    keystone_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"* Apply the override"},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"Redeploy the affected service with:"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":".. code-block:: bash"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    openstack-ansible openstack.osa.keystone -e \"venv_rebuild\u003dtrue\""},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"* Override with a commit/branch (unreleased patch, feature, or fix)"},{"line_number":540,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"c392646e_80cc82a6","line":537,"range":{"start_line":521,"start_character":0,"end_line":537,"end_character":67},"updated":"2026-03-31 18:49:50.000000000","message":"maybe this part can be removed ? since the following seems to repeat the same concept?","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"},{"author":{"_account_id":38413,"name":"ourdia sadia","display_name":"ourdia_sadia","email":"SADIA.Ourdia95@gmail.com","username":"ourdia_sadia"},"change_message_id":"1d4630e18e3d2dabf6931db2c80e5170bfb153f6","unresolved":false,"context_lines":[{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    openstack-ansible openstack.osa.keystone -e \"venv_rebuild\u003dtrue\""},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"* Override with a commit/branch (released patch, feature, or fix)"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"In these example the fix exist for the banche stable/2025.1"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":".. code-block:: yaml"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"    keystone_user_pip_packages:"},{"line_number":528,"context_line":"      - \"git+https://github.com/openstack/keystonemiddleware@9401c513219f86008d1df380a10d57464bb20b2d\""},{"line_number":529,"context_line":"    keystone_git_constraints: \"{{ lookup(\u0027file\u0027, \u0027/etc/openstack_deploy/upper-constraints/upper_constraints_\u0027 + requirements_git_install_branch + \u0027.txt\u0027).split(\u0027\\n\u0027) | reject(\u0027match\u0027, \u0027^(keystonemiddleware)\u003d\u0027) | list }}\""},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"* Apply the override"},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"Redeploy the affected service with:"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":".. code-block:: bash"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    openstack-ansible openstack.osa.keystone -e \"venv_rebuild\u003dtrue\""},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"* Override with a commit/branch (unreleased patch, feature, or fix)"},{"line_number":540,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"cfb99401_c4de08d3","line":537,"range":{"start_line":521,"start_character":0,"end_line":537,"end_character":67},"in_reply_to":"c392646e_80cc82a6","updated":"2026-04-01 13:38:56.000000000","message":"Done","commit_id":"230b9ae903bdbd4f529d955b44afbbbd277f1d21"}]}
