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

Felipe Reyes 1996229 at bugs.launchpad.net
Thu Jun 22 14:08:37 UTC 2023


> I'm a bit unclear on versions and compatibility.

The upstream project documents what versions are part of a given
release, for example in the case of python-magnumclient on Focal
(ussuri) they can be found at [0]

> Is the version of python-magnumclient shipped in Ubuntu 20.04
incompatible with the version of magnum shipped in Ubuntu 20.04?

correct. The version in Focal is 2.11.0 which corresponds to Stein[1] .
I wasn't around at the time, but what I could infer from looking into
the history of changelogs, it's that we got that version from Debian
into Ubuntu, and during the 21.04 cycle the OpenStack team oboarded a
Magnum charm that became part of "Charmed OpenStack"[2], so I assume
that's the reason this incompatibility wasn't detected earlier.


> Specifically you have a client version, a protocol version, and a server version, in your broken user story that needs fixing.

Correct. The server side is being taken care by bug 2009966 [3], during
the validation of it the incompatibility was detected.

I will update the impact to include the versions of magnum-ui, magnum
and python-magnumclient.

> If the problem lies entirely within the Ubuntu 20.04 archive, then how
was it that we shipped it broken in the first place, given that we rely
heavily on automated testing for Openstack point releases in stable
Ubuntu releases? Is there a gap in testing somewhere?

We added automated testing for Magnum as part of the MRE request[4],
that was an identified gap that we closed back in February/March.

[0] https://releases.openstack.org/teams/magnum.html#team-ussuri-python-magnumclient
[1] - https://releases.openstack.org/teams/magnum.html#team-stein-python-magnumclient
[2] https://opendev.org/openstack/charm-magnum/commit/fb04f0f1fc87b42c4c8dfb202776717117ca1d93
[3] https://bugs.launchpad.net/ubuntu/+source/magnum/+bug/2009966
[4] https://lists.ubuntu.com/archives/ubuntu-release/2023-February/005543.html

** Description changed:

  [ 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
  
-     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
+     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")
+    - 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.
+ 
  [ 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.

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

      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.

  * 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.

  [ 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