[SRU] magnum ui can not delete the coe cluster
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Invalid
|
Undecided
|
Unassigned | ||
Ussuri |
Fix Committed
|
Undecided
|
Unassigned | ||
magnum-ui (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
python-magnumclient (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
High
|
Unassigned |
Bug Description
[ Impact ]
When trying to manipulate objects over the Magnum API (container-infra endpoint)
the client available in the Ubuntu 20.04 archive implements an older and
incompatible API version (1.1 instead of 1.9), this makes impossible to complete
certain operations like creating and destroy clusters.
For example when creating clusters the following error is returned by Horizon:
"Key must be in name,node_
This is because manugm-ui is passing keys that magnumclient is not aware of.
The list of python-magnumclient releases for the Ussuri (Focal) release is available at [0], the versions compatible are 2.17.0, 3.0.0 and 3.0.1, while the version shipped in Ubuntu 20.04 is 2.11.0 which corresponds to the version released during the OpenStack Stein cycle[1]
The specific list of packages and their versions that need to be aligned in the Ubuntu 20.04 (Focal) archive with the upstream OpenStack Ussuri release are:
magnum (SRU at bug 2009966)
- Upstream: 10.1.0
- Ubuntu: 10.0.0-
magnum-ui (SRU at bug 2009966)
- Upstream 6.0.1
- Ubuntu: 5.2.0-1
python-magnumclient (this SRU)
- Upstream: 3.0.1
- Ubuntu: 2.11.0-0ubuntu6
[0] https:/
[1] https:/
[ Test Plan ]
[racb] Check that the built binary deb in proposed contains the same file list as the built binary deb previously in updates. Then verify that the bug is fixed as follows.
Steps to reproduce:
1. Deploy a Magnum based environment with charmed-
git clone https:/
cd charmed-
# update focal-ussuri-magnum bundle to include charm-mistral
tox -e func-target -- keystone_
2. Once the deployment has completed go Horizon and follow these steps:
- Create Cluster Template object with any configuration and name it "k8s-template"
- Create a Cluster based on the previosly created template ("k8s-template")
Expected result:
- A new cluster is spawn
Actual result:
- The cluster fails to be created, Horizon displays a notification without details of the failure
- Looking into Firefox developer tools network the followin error can be found in a 400 error request to Horizon:
"Key must be in name,node_
[ Where problems could occur ]
* The main component in an OpenStack cloud that consumes python-magnumclient is Horizon when the magnum-ui package is installed and enabled, any issues with this SRU would express with the inability to manipulate Magnum containers from the web UI, errors would show up in /var/log/
* Other consumer of this package is actual final users trying to manage their Magnum containers from the CLI, problems with this package would have the symptom of incompatible APIs versions, although the client is capable of downgrading to a API version compatible.
* A third aspect to have in mind is users with custom program (e.g. python scripts that import magnumclient as library), when analyzing the git log no removal of code was found (e.g. deprecated API removed) nor incompatible features added.
* In order to provide support that is equivalent to the latest supported upstream ussuri version, the following 3 commits are included. These are worth noting because they cause behavioral changes to the cluster show and nodegroup list commands:
1) cluster show adds a column for project_id - this is useful for cloud admin/ops to display the project_id in cluster show
https:/
2) cluster list adds a column for health_status and health_
https:/
3) nodegroup list adds columns for `image_id` and `status` and moves column positions for `node_count` and `role` only changed position - these are useful for providing more details to nodegroup list output
https:/
[ Other Info ]
* This SRU brings onboard 52 new commits
$ git log --oneline 2.11.0..3.0.1 | wc -l
52
* There are 7 releases between 2.11.0 and 3.0.1, which it's a lot for a SRU, although since the version shipped in Focal is not correctly aligned with the version upstream released for Ussuri (the version shipped in Focal), users will be better served with a one time bump up of the package.
[Original description]
Try to delete the coe cluster through magnum UI. It removes the entry from UI immediately, but when we refresh the dashboard interface cluster, it appears again. It happens on packages magnum-ui from Ussuri on Focal. Did not try with latest version of Openstack.
Related branches
- Ubuntu OpenStack uploaders: Pending requested
-
Diff: 6173 lines (+4209/-333)75 files modified.zuul.yaml (+6/-2)
AUTHORS (+143/-0)
CONTRIBUTING.rst (+2/-2)
ChangeLog (+624/-0)
PKG-INFO (+61/-0)
README.rst (+3/-3)
babel.cfg (+1/-0)
dev/null (+0/-6)
doc/requirements.txt (+4/-3)
doc/source/conf.py (+8/-7)
lower-constraints.txt (+114/-0)
magnumclient/common/apiclient/exceptions.py (+2/-1)
magnumclient/common/base.py (+6/-2)
magnumclient/common/cliutils.py (+17/-7)
magnumclient/common/httpclient.py (+10/-32)
magnumclient/common/utils.py (+3/-3)
magnumclient/osc/v1/certificates.py (+0/-2)
magnumclient/osc/v1/cluster_templates.py (+6/-21)
magnumclient/osc/v1/clusters.py (+0/-35)
magnumclient/osc/v1/nodegroups.py (+1/-1)
magnumclient/shell.py (+4/-1)
magnumclient/tests/osc/unit/osc_fakes.py (+1/-2)
magnumclient/tests/osc/unit/v1/fakes.py (+3/-10)
magnumclient/tests/osc/unit/v1/test_certificates.py (+1/-1)
magnumclient/tests/osc/unit/v1/test_cluster_templates.py (+6/-9)
magnumclient/tests/osc/unit/v1/test_clusters.py (+2/-36)
magnumclient/tests/osc/unit/v1/test_mservices.py (+1/-1)
magnumclient/tests/osc/unit/v1/test_nodegroups.py (+3/-3)
magnumclient/tests/osc/unit/v1/test_quotas.py (+1/-1)
magnumclient/tests/osc/unit/v1/test_stats.py (+1/-1)
magnumclient/tests/test_client.py (+1/-1)
magnumclient/tests/test_httpclient.py (+12/-15)
magnumclient/tests/test_shell.py (+350/-0)
magnumclient/tests/test_utils.py (+9/-9)
magnumclient/tests/utils.py (+5/-6)
magnumclient/tests/v1/shell_test_base.py (+5/-1)
magnumclient/tests/v1/test_baymodels.py (+362/-0)
magnumclient/tests/v1/test_baymodels_shell.py (+614/-0)
magnumclient/tests/v1/test_bays.py (+317/-0)
magnumclient/tests/v1/test_bays_shell.py (+403/-0)
magnumclient/tests/v1/test_certificates.py (+16/-0)
magnumclient/tests/v1/test_certificates_shell.py (+81/-1)
magnumclient/tests/v1/test_client.py (+1/-1)
magnumclient/tests/v1/test_clusters_shell.py (+1/-1)
magnumclient/tests/v1/test_clustertemplates_shell.py (+1/-1)
magnumclient/tests/v1/test_mservices_shell.py (+1/-1)
magnumclient/tests/v1/test_nodegroups.py (+2/-2)
magnumclient/tests/v1/test_quotas_shell.py (+1/-1)
magnumclient/tests/v1/test_stats_shell.py (+1/-1)
magnumclient/v1/basemodels.py (+8/-8)
magnumclient/v1/baseunit.py (+7/-7)
magnumclient/v1/baymodels.py (+25/-0)
magnumclient/v1/baymodels_shell.py (+282/-0)
magnumclient/v1/bays.py (+29/-0)
magnumclient/v1/bays_shell.py (+253/-0)
magnumclient/v1/certificates.py (+2/-0)
magnumclient/v1/certificates_shell.py (+20/-4)
magnumclient/v1/client.py (+4/-0)
magnumclient/v1/clusters.py (+0/-1)
magnumclient/v1/shell.py (+4/-0)
python_magnumclient.egg-info/PKG-INFO (+61/-0)
python_magnumclient.egg-info/SOURCES.txt (+128/-0)
python_magnumclient.egg-info/dependency_links.txt (+1/-0)
python_magnumclient.egg-info/entry_points.txt (+36/-0)
python_magnumclient.egg-info/not-zip-safe (+1/-0)
python_magnumclient.egg-info/pbr.json (+1/-0)
python_magnumclient.egg-info/requires.txt (+15/-0)
python_magnumclient.egg-info/top_level.txt (+1/-0)
releasenotes/source/conf.py (+11/-12)
releasenotes/source/index.rst (+0/-6)
requirements.txt (+4/-6)
setup.cfg (+67/-50)
setup.py (+9/-0)
test-requirements.txt (+2/-1)
tox.ini (+21/-5)
- Ubuntu OpenStack uploaders: Pending requested
-
Diff: 11 lines (+1/-0)1 file modifiedpython-magnumclient_3.0.1.orig.tar.gz.id (+1/-0)
- Ubuntu OpenStack uploaders: Pending requested
-
Diff: 4474 lines (+2850/-341)56 files modified.zuul.yaml (+3/-6)
AUTHORS (+143/-0)
CONTRIBUTING.rst (+1/-1)
ChangeLog (+624/-0)
PKG-INFO (+61/-0)
README.rst (+6/-6)
debian/changelog (+11/-0)
debian/patches/series (+0/-2)
debian/watch (+2/-2)
dev/null (+0/-79)
doc/requirements.txt (+2/-1)
magnumclient/common/cliutils.py (+2/-2)
magnumclient/common/httpclient.py (+11/-8)
magnumclient/common/utils.py (+69/-35)
magnumclient/exceptions.py (+8/-8)
magnumclient/osc/plugin.py (+6/-4)
magnumclient/osc/v1/cluster_templates.py (+21/-1)
magnumclient/osc/v1/clusters.py (+170/-10)
magnumclient/osc/v1/nodegroups.py (+301/-0)
magnumclient/shell.py (+7/-6)
magnumclient/tests/osc/unit/osc_fakes.py (+2/-5)
magnumclient/tests/osc/unit/v1/fakes.py (+86/-2)
magnumclient/tests/osc/unit/v1/test_cluster_templates.py (+6/-4)
magnumclient/tests/osc/unit/v1/test_clusters.py (+69/-9)
magnumclient/tests/osc/unit/v1/test_nodegroups.py (+333/-0)
magnumclient/tests/test_httpclient.py (+4/-5)
magnumclient/tests/test_utils.py (+20/-20)
magnumclient/tests/utils.py (+3/-3)
magnumclient/tests/v1/shell_test_base.py (+29/-29)
magnumclient/tests/v1/test_bays_shell.py (+0/-9)
magnumclient/tests/v1/test_clusters.py (+43/-0)
magnumclient/tests/v1/test_clusters_shell.py (+0/-11)
magnumclient/tests/v1/test_clustertemplates.py (+6/-1)
magnumclient/tests/v1/test_clustertemplates_shell.py (+3/-1)
magnumclient/tests/v1/test_nodegroups.py (+333/-0)
magnumclient/v1/basemodels.py (+1/-1)
magnumclient/v1/bays_shell.py (+2/-2)
magnumclient/v1/client.py (+2/-0)
magnumclient/v1/cluster_templates_shell.py (+8/-0)
magnumclient/v1/clusters.py (+34/-0)
magnumclient/v1/clusters_shell.py (+2/-3)
magnumclient/v1/nodegroups.py (+84/-0)
python_magnumclient.egg-info/PKG-INFO (+61/-0)
python_magnumclient.egg-info/SOURCES.txt (+128/-0)
python_magnumclient.egg-info/dependency_links.txt (+1/-0)
python_magnumclient.egg-info/entry_points.txt (+36/-0)
python_magnumclient.egg-info/not-zip-safe (+1/-0)
python_magnumclient.egg-info/pbr.json (+1/-0)
python_magnumclient.egg-info/requires.txt (+15/-0)
python_magnumclient.egg-info/top_level.txt (+1/-0)
releasenotes/source/index.rst (+2/-0)
releasenotes/source/stein.rst (+6/-0)
releasenotes/source/train.rst (+6/-0)
setup.cfg (+57/-47)
test-requirements.txt (+2/-2)
tox.ini (+15/-16)
description: | updated |
affects: | magnum-ui → magnum-ui (Ubuntu) |
Changed in magnum-ui (Ubuntu): | |
status: | New → Invalid |
Changed in python-magnumclient (Ubuntu): | |
status: | New → Invalid |
no longer affects: | magnum-ui (Ubuntu Focal) |
summary: |
- magnum ui can not delete the coe cluster + [SRU] magnum ui can not delete the coe cluster |
summary: |
- [SRU] magnum ui can not delete the coe cluster + magnum ui can not delete the coe cluster |
description: | updated |
description: | updated |
Changed in cloud-archive: | |
status: | New → Invalid |
summary: |
- magnum ui can not delete the coe cluster + [SRU] magnum ui can not delete the coe cluster |
Changed in python-magnumclient (Ubuntu Focal): | |
status: | New → Triaged |
importance: | Undecided → High |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Thanks Felipe. I've sponsored the upload of your updates to python- magnumclient. It's in the unapproved queue now: https:/ /launchpad. net/ubuntu/ focal/+ queue?queue_ state=1& queue_text= python- magnumclient