[Bug 1996229] Re: [SRU] magnum ui can not delete the coe cluster

Felipe Reyes 1996229 at bugs.launchpad.net
Mon Jun 5 14:27:34 UTC 2023


Hello Andreas,

Thank you so much for your thoughtful review, here are my replies to
your questions/concerns inline:

> Assuming these are all openstack components and are not used outside
of openstack, does the [test case] cover these components as well?
Specifically mistral and heat?

They are all OpenStack components. python3-heat and python3-magnum-ui
are indeed covered by tempest testing, because python3-magnum and
python3-heat are tightly coupled, magnum needs heat to achieve its work
done.

About python3-mistral, I wasn't planning on testing it, and it's not
part of our default testing matrix, although I will add it, we have
charm that could help us here - https://opendev.org/openstack/charm-
mistral

> Is there any sort of release notes available for 3.0.1, or any of the
others that are compatible with what is in focal?

Sadly the only release notes are the ones autogenerated which are empty
- https://docs.openstack.org/releasenotes/python-
magnumclient/ussuri.html

python clients released by OpenStack have a strong history of backwards
compatibility, it's common for operators to use the latest release of
the clients (e.g. via the openstackclients snap) to interact with any
version of OpenStack, the clients are capable of downgrading based on
the API (micro)versions exposed by each endpoint.

> And why did you pick 3.0.1, and not, say, 2.17.0 for example?

I could have used 2.17.0 in this case, since no bug fixes were merged
(see below), although I had two concerns with pursuing that approach: 1)
I wasn't sure if missing the commit "8fd3b04 Rename variables to address
pep8 error" could break autopkgtest checks, 2) Incurring in technical
debt without reason, since 3.0.1 is the last stable released from the
stable/ussuri git branch.

$ git log --oneline 2.17.0..3.0.1
6d1a386 (tag: ussuri-em, tag: 3.0.1) Labels override
8fd3b04 Rename variables to address pep8 error
75fec05 Update TOX/UPPER_CONSTRAINTS_FILE for stable/ussuri
366893e Update .gitreview for stable/ussuri
11d2b72 (tag: 3.0.0) Merge "Update master for stable/train"
425fa49 Merge "Update links in README"
18f5928 Merge "Bugfix: Use fields option for cluster template list"
e589b6c Update master for stable/train
5d93b51 Update hacking for Python3
de2b8e8 Drop py27 tests
5b7a671 Bugfix: Use fields option for cluster template list
8473982 Update links in README


> Did you analyze the diff and conclude there are no backwards incompatible changes being introduced?

I did go through the diff[0], the commits that provide relevant changes
to the functionality are:

934cf54 Add nodegroup CRUD commands
5ad8b7d Support network, subnet and FIP when creating cluster
d91d4c7 Display project_id for cluster show
6b756aa Support upgrade API
94380f9 Support resize api
74c5f22 Support health_status on client side
81b8480 Keystone auth support

While I was reading those patches I didn't detect any incompatible
change, and the features those patches enable are already part of
python3-magnum in Focal (10.0.0-0ubuntu0.20.04.2).

If there is any aspect I didn't cover, please let me know to elaborate
with more detail.

Thanks in advance.

[0] https://github.com/openstack/python-
magnumclient/compare/2.11.0...3.0.1

** Changed in: python-magnumclient (Ubuntu Focal)
       Status: Incomplete => Triaged

-- 
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]

  [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

      git clone https://github.com/openstack-charmers/charmed-openstack-tester.git
      cd charmed-openstack-tester
      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.

  [ 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