[Bug 1996229] Re: [SRU] magnum ui can not delete the coe cluster
Corey Bryant
1996229 at bugs.launchpad.net
Wed Jun 28 20:33:02 UTC 2023
Hi Robie,
Thanks for the review. I've updated the [Test Plan] and [Where problems
could occur] sections based on your feedback.
As for the orig tarball, in Ubuntu we use a different process from
OpenStack in Debian. We use uscan to import upstream published release
tarballs (via debian/watch) using pristine-tar, whereas in Debian
imports the git source directly from the upstream git repository into
their packages.
Instead of trying to do what is done in Debian I would prefer to provide
"3.0.1" support via cherry-picks. I did an assessment to narrow down on
the patches that we would need to pick up to get us there.
This is the entire delta between 2.11.0 and 3.0.1:
~/pkg/ussuri/upstream/python-magnumclient$ git-pretty 2.11.0..3.0.1
- [6d1a386] Labels override
- [8fd3b04] Rename variables to address pep8 error
- [75fec05] Update TOX/UPPER_CONSTRAINTS_FILE for stable/ussuri
- [366893e] Update .gitreview for stable/ussuri
- [e589b6c] Update master for stable/train
- [5d93b51] Update hacking for Python3
- [de2b8e8] Drop py27 tests
- [5b7a671] Bugfix: Use fields option for cluster template list
- [c0d3683] Allow cluster config for any cluster state
- [934cf54] Add nodegroup CRUD commands
- [69be0ac] Replace git.openstack.org URLs with opendev.org URLs
- [5ad8b7d] Support network, subnet and FIP when creating cluster
- [a19d013] Add Python 3 Train unit tests
- [c72512d] Conditional hidden arg for backward compatibility
- [440f4b1] Fix coverage test
- [3d6e9bd] Blacklist bandit 1.6.0 and cap Sphinx on Python2
- [d91d4c7] Display project_id for cluster show
- [d3d04b7] OpenDev Migration Patch
- [9f5b8c7] Dropping the py35 testing
- [ea7c571] Add nodegroup list/show commands
- [6b756aa] Support upgrade API
- [94380f9] Support resize api
- [46e4ab1] Update master for stable/stein
- [74c5f22] Support health_status on client side
- [3f7b994] python3 fixes
- [81b8480] Keystone auth support
- [a3297b7] add python 3.7 unit test job
- [ab8392c] Add hidden property to cluster template
- [5deb538] Fix py37 compatibility
- [b4120a1] Use oslo_serialization instead of the json module directly
- [d0d08f0] Use template for lower-constraints
- [d942ce5] Change openstack-dev to openstack-discuss
- [11b7527] Add Python 3.6 classifier to setup.cfg
- [07b83c2] add python 3.6 unit test job
- [1ab2e77] Trivial: Update pypi url to new url
- [8473982] Update links in README
I've narrowed down those commits to the following subset which are necessary to update the existing 2.11.0 package to 3.0.1 functionality:
- [6d1a386] Labels override
- [8fd3b04] Rename variables to address pep8 error
- [5d93b51] Update hacking for Python3
- [5b7a671] Bugfix: Use fields option for cluster template list
- [c0d3683] Allow cluster config for any cluster state
- [934cf54] Add nodegroup CRUD commands
- [5ad8b7d] Support network, subnet and FIP when creating cluster
- [c72512d] Conditional hidden arg for backward compatibility
- [3d6e9bd] Blacklist bandit 1.6.0 and cap Sphinx on Python2
- [d91d4c7] Display project_id for cluster show
- [ea7c571] Add nodegroup list/show commands
- [6b756aa] Support upgrade API
- [94380f9] Support resize api
- [74c5f22] Support health_status on client side
- [3f7b994] python3 fixes
- [81b8480] Keystone auth support
- [ab8392c] Add hidden property to cluster template
- [5deb538] Fix py37 compatibility
- [b4120a1] Use oslo_serialization instead of the json module directly
I will plan to upload a new package version with these patches cherry-
picked on top of the existing 2.11.0 package version.
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1996229
Title:
[SRU] magnum ui can not delete the coe cluster
Status in Ubuntu Cloud Archive:
Invalid
Status in Ubuntu Cloud Archive ussuri series:
Won't Fix
Status in magnum-ui package in Ubuntu:
Invalid
Status in python-magnumclient package in Ubuntu:
Invalid
Status in python-magnumclient source package in Focal:
Triaged
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_count,discovery_url,master_count,baymodel_id,bay_create_timeout,cluster_template_id,create_timeout,keypair,docker_volume_size,labels,master_flavor_id,flavor_id"
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-0ubuntu0.20.04.2
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://releases.openstack.org/teams/magnum.html#team-ussuri-python-magnumclient
[1] https://releases.openstack.org/teams/magnum.html#team-stein-python-magnumclient
[ Test Plan ]
Steps to reproduce:
1. Deploy a Magnum based environment with charmed-openstack-tester
including charm-mistral:
git clone https://github.com/openstack-charmers/charmed-openstack-tester.git
cd charmed-openstack-tester
# update focal-ussuri-magnum bundle to include charm-mistral
tox -e func-target -- keystone_v3_smoke_focal_magnum:focal-ussuri-magnum
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_count,discovery_url,master_count,baymodel_id,bay_create_timeout,cluster_template_id,create_timeout,keypair,docker_volume_size,labels,master_flavor_id,flavor_id"
[ 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/apache2/error.log where any stacktrace would be logged.
* 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://github.com/openstack/python-magnumclient/commit/d91d4c72a10493e57a664e18e1f98268e43dd537
2) cluster list adds a column for health_status and health_status_reason - these are useful for cloud admin/ops to display health status in cluster show
https://github.com/openstack/python-magnumclient/commit/74c5f22c6ffb23154f2e0412ba43371f3c02f3b7
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://github.com/openstack/python-magnumclient/commit/934cf548540086268991dab47b5bcb85f65b693f
[ 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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1996229/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list