NonsolvableDepsInStable: version 9.1.0: nonsolvable depset(bdepend) keyword(amd64) stable profile (default/linux/amd64/17.1) (70 total): solutions: [ <dev-python/prettytable-3.4.0[python_targets_python3_10(-),python_targets_python3_11(-),python_targets_python3_8(-),python_targets_python3_9(-)] ] etc.
Ping. This is unsolved for almost a year now.
OpenStack explicitly supports only up to 3.7.0 (and I have a working example of this); to resolve this bug we'd need to get those clients working on 3.8.0. You probably know that already but persisting the info on the bug.
Wait no, this bug is from 2022. OpenStack clients should work with up to 3.7.0 which was released 4/10/2023. I can confirm that's the version we run these clients on in CI all the time.
So chatted with mgorny about this in IRC some: - current python-novaclient release (as an example) has a requirement for 3.4.0 - master python-novaclient has had no changes related to prettytable this cycle and has an upper-constraint of 3.7.0 in CI (it's running 3.7.0 in CI) The usage in python-novaclient is about as trivial as I could ever imagine: https://github.com/openstack/python-novaclient/blob/e464940f39d1643128c9cef0b92e02c3d0e754c7/novaclient/utils.py#L135 I would believe this extends through to cinder and glance clients as well, just based generally on usage patterns. I will note, we're scheduled to release clients as part of our semi-annual Bobcat release in the coming weeks; those packages should have the 3.7.0 requirement minimum. tl;dr: it should be safe to use latest prettytable even though the requirement says otherwise
stack@ds-20230801:~$ . devstack/openrc admin WARNING: setting legacy OS_TENANT_NAME to support cli tools. stack@ds-20230801:~$ openstack compute service list +--------------------------------------+----------------+-------------+----------+---------+-------+----------------------------+ | ID | Binary | Host | Zone | Status | State | Updated At | +--------------------------------------+----------------+-------------+----------+---------+-------+----------------------------+ | 3ba68bca-db71-4143-9e8e-6d95c83642a2 | nova-scheduler | ds-20230801 | internal | enabled | up | 2023-08-18T19:42:45.000000 | | 3487c7b3-a39d-4bd0-88be-46fb1db890f4 | nova-conductor | ds-20230801 | internal | enabled | up | 2023-08-18T19:42:48.000000 | | 15ab30cd-f705-4a2d-8703-ee90a5f44c39 | nova-conductor | ds-20230801 | internal | enabled | up | 2023-08-18T19:43:36.000000 | | 545cef80-f3e0-467a-9566-2991162ac93c | nova-compute | ds-20230801 | nova | enabled | up | 2023-08-18T19:43:00.000000 | +--------------------------------------+----------------+-------------+----------+---------+-------+----------------------------+ stack@ds-20230801:~$ . /opt/stack/data/ etcd/ glance/ ironic/ neutron/ nova/ swift/ tempest/ venv/ stack@ds-20230801:~$ . /opt/stack/data/venv/bin/activate (venv) stack@ds-20230801:~$ pip install prettytable==3.8.0 Collecting prettytable==3.8.0 Obtaining dependency information for prettytable==3.8.0 from https://files.pythonhosted.org/packages/25/1e/4c284713b092ec384fad4399452f43f6446ad9aabc9c0b3c3c0920cc53b6/prettytable-3.8.0-py3-none-any.whl.metadata Downloading prettytable-3.8.0-py3-none-any.whl.metadata (26 kB) Requirement already satisfied: wcwidth in ./data/venv/lib/python3.10/site-packages (from prettytable==3.8.0) (0.2.6) Downloading prettytable-3.8.0-py3-none-any.whl (27 kB) Installing collected packages: prettytable Attempting uninstall: prettytable Found existing installation: prettytable 3.7.0 Uninstalling prettytable-3.7.0: Successfully uninstalled prettytable-3.7.0 Successfully installed prettytable-3.8.0 (venv) stack@ds-20230801:~$ openstack compute service list +--------------------------------------+----------------+-------------+----------+---------+-------+----------------------------+ | ID | Binary | Host | Zone | Status | State | Updated At | +--------------------------------------+----------------+-------------+----------+---------+-------+----------------------------+ | 3ba68bca-db71-4143-9e8e-6d95c83642a2 | nova-scheduler | ds-20230801 | internal | enabled | up | 2023-08-18T19:42:45.000000 | | 3487c7b3-a39d-4bd0-88be-46fb1db890f4 | nova-conductor | ds-20230801 | internal | enabled | up | 2023-08-18T19:42:48.000000 | | 15ab30cd-f705-4a2d-8703-ee90a5f44c39 | nova-conductor | ds-20230801 | internal | enabled | up | 2023-08-18T19:43:56.000000 | | 545cef80-f3e0-467a-9566-2991162ac93c | nova-compute | ds-20230801 | nova | enabled | up | 2023-08-18T19:43:00.000000 | +--------------------------------------+----------------+-------------+----------+---------+-------+----------------------------+ (venv) stack@ds-20230801:~$ Testing confirmed my assumption.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ce00ae14b5ce1bfdf81966dd5c0922bb5cd566a commit 9ce00ae14b5ce1bfdf81966dd5c0922bb5cd566a Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2023-08-19 05:34:08 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2023-08-19 05:46:41 +0000 dev-python/python-cinderclient: Remove stale < dep on prettytable The tests pass now, with dev-python/prettytable-3.8.0. Closes: https://bugs.gentoo.org/883563 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/python-cinderclient/python-cinderclient-9.3.0.ebuild | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90d92420020e56aac9bed33c0bac6cc324582cb4 commit 90d92420020e56aac9bed33c0bac6cc324582cb4 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2023-08-19 05:30:35 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2023-08-19 05:46:38 +0000 dev-python/python-novaclient: Remove stale < dep on prettytable The tests pass now, with dev-python/prettytable-3.8.0. Bug: https://bugs.gentoo.org/883563 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/python-novaclient/python-novaclient-18.3.0.ebuild | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)