Description:
In case deployer updates requirements_git_install_branch, he requires to re-run repo_server role, because contraints are cached on repo server.
Otherwise python_venv_build will fail with:
```
TASK [python_venv_build : Upgrade the wheel build virtualenv pip/setuptools/wheel to the versions we want] ********************************************************************************
FAILED - RETRYING: Upgrade the wheel build virtualenv pip/setuptools/wheel to the versions we want (5 retries left).
FAILED - RETRYING: Upgrade the wheel build virtualenv pip/setuptools/wheel to the versions we want (4 retries left).
FAILED - RETRYING: Upgrade the wheel build virtualenv pip/setuptools/wheel to the versions we want (3 retries left).
FAILED - RETRYING: Upgrade the wheel build virtualenv pip/setuptools/wheel to the versions we want (2 retries left).
FAILED - RETRYING: Upgrade the wheel build virtualenv pip/setuptools/wheel to the versions we want (1 retries left).
fatal: [aio1_glance_container-d135d358 -> 172.29.236.186]: FAILED! => {"attempts": 5, "changed": false, "cmd": ["/openstack/venvs/wheel-builder-python3/bin/pip3", "install", "-U", "--constraint", "/var/www/repo/os-releases/23.1.0.dev43/ubuntu-20.04-x86_64/requirements/glance-23.1.0.dev43-global-constraints.txt", "--constraint", "/var/www/repo/os-releases/23.1.0.dev43/ubuntu-20.04-x86_64/requirements/glance-23.1.0.dev43-source-constraints.txt", "--find-links", "/var/www/repo/os-releases/23.1.0.dev43/ubuntu-20.04-x86_64/wheels/", "--log", "/var/log/python_venv_build.log", "pip", "setuptools", "wheel"], "msg": "\n:stderr: ERROR: 404 Client Error: Not Found for url: http://172.29.236.101:8181/constraints/upper_constraints_863eea3390630f9e226367d4ade1c2ebd5c2a216.txt\n"}
```
We need to resolve that one way or another. Among possible solutions I see right now:
- Add some block/rescue around https://opendev.org/openstack/ansible-role-python_venv_build/src/branch/master/tasks/python_venv_wheel_build.yml#L106-L125 to either include repo_server role with tasks_from https://opendev.org/openstack/openstack-ansible-repo_server/src/branch/master/tasks/repo_install_constraints.yml or just copy/paste tasks to ensure that u-c file exists on the repo server. Instead of block/rescue we can force check of requirements during venv_rebuild process.
- Change somehow naming logic of upper_constraints and name it with osa version instead of the SHA. But this will result in old constraints being applied instead of the error, which might be even worse
- By default diable caching and implement another variable that will control if caching is enabled or not. With that we add a doc page that describes behaviour and consequences.
Related fix proposed to branch: master /review. opendev. org/c/openstack /openstack- ansible- repo_server/ +/842567
Review: https:/