When setting kolla_ansible_ctl_install_type to 'binary' in etc/kayobe/kolla.yml, running `kayobe control host bootstrap` will fail with this error:
TASK [kolla-ansible : Ensure required Python packages are installed] ********************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "cmd": ["/home/navaati/tmp/kayobe/venvs/kolla-ansible/bin/pip3", "install", "-U", "-c", "https://releases.openstack.org/constraints/upper/2023.2", "kolla-ansible==2023.2", "ansible-core<2.16,>=2.14", "ansible<9.0,>=7", "selinux"], "msg": "\n:stderr: ERROR: Could not find a version that satisfies the requirement kolla-ansible==2023.2 (from versions: 4.0.0.0b2, 4.0.0.0b3, 4.0.0.0rc1, 4.0.0.0rc2, 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 5.0.0.0b2, 5.0.0.0b3, 5.0.0.0rc1, 5.0.0.0rc2, 5.0.0, 5.0.1, 5.0.2, 5.0.3, 5.0.4, 5.0.5, 5.0.6, 6.0.0.0b2, 6.0.0.0b3, 6.0.0.0rc1, 6.0.0.0rc2, 6.0.0, 6.1.0, 6.1.1, 6.2.0, 6.2.1, 6.2.2, 6.2.3, 7.0.0.0b2, 7.0.0.0b3, 7.0.0.0rc1, 7.0.0.0rc2, 7.0.0.0rc3, 7.0.0, 7.0.1, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 7.2.1, 8.0.0.0b1, 8.0.0.0rc1, 8.0.0.0rc2, 8.0.0, 8.0.1, 8.1.0, 8.1.1, 8.2.0, 8.3.0, 9.0.0.0rc1, 9.0.0.0rc2, 9.0.0.0rc3, 9.0.0, 9.0.1, 9.1.0, 9.2.0, 9.3.0, 9.3.1, 9.3.2, 10.0.0.0rc1, 10.0.0.0rc2, 10.0.0, 10.1.0, 10.2.0, 10.3.0, 10.4.0, 11.0.0.0rc1, 11.0.0.0rc2, 11.0.0, 11.1.0, 11.2.0, 11.3.0, 11.4.0, 12.0.0.0rc1, 12.0.0.0rc2, 12.0.0, 12.1.0, 12.2.0, 12.3.0, 12.4.0, 12.5.0, 12.6.0, 12.7.0, 12.8.0, 13.0.0.0rc1, 13.0.0.0rc2, 13.0.0.0rc3, 13.0.0, 13.0.1, 13.1.0, 13.2.0, 13.3.0, 13.4.0, 13.5.0, 13.6.0, 13.7.0, 13.8.0, 13.9.0, 14.0.0.0rc1, 14.0.0.0rc2, 14.0.0, 14.1.0, 14.2.0, 14.3.0, 14.4.0, 14.5.0, 14.6.0, 14.7.0, 14.8.0, 14.9.0, 14.10.0, 14.11.0, 15.0.0.0rc1, 15.0.0.0rc2, 15.0.0, 15.1.0, 15.2.0, 15.3.0, 15.4.0, 15.5.0, 15.6.0, 16.0.0.0rc1, 16.0.0.0rc2, 16.0.0, 16.1.0, 16.2.0, 16.3.0, 16.4.0, 16.5.0, 17.0.0.0rc1, 17.0.0.0rc2, 17.0.0, 17.1.0, 17.2.0, 17.3.0)\nERROR: No matching distribution found for kolla-ansible==2023.2\n"}
This is because indeed, in https://opendev.org/openstack/kayobe/src/branch/master/ansible/roles/kolla-ansible/tasks/install.yml#L96 a python package "kolla-ansible=={{ kolla_openstack_release }}" is installed but kolla_openstack_release is set to 2023.2 or whatever, and that is not the versionning scheme used for the PyPI packages.
Repro steps:
- make a fresh venv and activate it
- run pip install kayobe==15.3.0
- clone the upstream kayobe-config and checkout branch stable/2023.2
- apply this patch:
diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml
index c604747..a5b68c3 100644
--- a/etc/kayobe/kolla.yml
+++ b/etc/kayobe/kolla.yml
@@ -28,7 +28,7 @@
# Type of Kolla-ansible control installation. One of 'binary' or 'source'.
# Default is 'source'.
-#kolla_ansible_ctl_install_type:
+kolla_ansible_ctl_install_type: binary
# Path to directory for kolla-ansible source code checkout.
# Default is $KOLLA_SOURCE_PATH, or $PWD/src/kolla-ansible if
- source <root of kayobe-config>/kayobe-env
- run "kayobe control host bootstrap"
Support for binary images got removed in Zed. Users are requested to migrate to source based images. /docs.openstack .org/releasenot es/kolla/ zed.html# relnotes- 15-0-0- stable- zed
https:/