[SRU] MAAS 2.4.0

Bug #1773201 reported by Andres Rodriguez on 2018-05-24
This bug affects 1 person
Affects Status Importance Assigned to Milestone
maas (Ubuntu)

Bug Description

Bionic currently has MAAS 2.4.0~beta2 in the main archive, which is a release which is known to not fully work. Currently users in Bionic are limited by the beta release, which 2.4.0 final and 2.4.1 now fix.

2.4.0 has already been reviewed and is in -proposed. 2.4.1 includes bug fixes and completes the feature set for MAAS 2.4:


[Test Case]

MAAS Testing
MAAS testing has been done in various cases, partially documented https://wiki.ubuntu.com/MAASUpdates. This include:

1. Manual Fresh installation of MAAS
2. Manual upgrade from the previous Ubuntu Release.
3. Automated (CI) testing of MAAS install and operation as per the MAAS' CI.
4. Automated (CI) testing of MAAS install and operation against other Canonical's product (juju, Canonical OpenStack & Kubernetes) provided by the Canonical Solutions QA Team.
5. Manual split region/rack test are performed. This is to ensure that if we upgrade a MAAS Region to a newer version, the MAAS rack of the older version remains connected and operational.

All of this includes verifying normal operation, issues fixed, and ensuring that Canonical Cloud solutions can inter-operate.

Solutions QA
MAAS releases are also now vetted by the Solutions QA team. The test they run ensure there are no regression for their use cases. This release has been accepted / vetted by them.

[Regression Potential]
Minimal (For MAAS itself). MAAS is fully backwards compatible and handles upgrades from previous releases which result in the continuous operation of MAAS. Users will continue to use this new version of MAAS as they used it before.

The Solutions QA team tests MAAS against various version of Juju to deploy Openstack and has vetted this release and confirmed all issues present on 2.4b2 are no longer present.

no longer affects: maas (Ubuntu Cosmic)
description: updated
Changed in maas (Ubuntu):
status: New → Fix Released
Chris Halse Rogers (raof) wrote :

As from the previous bug: https://bugs.launchpad.net/ubuntu/+source/maas/+bug/1768800:

The [Regression Potential] seems rather optimistic for a nearly 1MB diff. A lot has changed - if there *were* regressions, in what situations would you expect to find them?

There's a lot about what testing *has* been done, but we're more interested here in what testing *will* be done. Are the packages that get built in bionic-proposed going to go through the same test suite? Are Solutions QA going to test against the packages as built in bionic-proposed?

Changed in maas (Ubuntu Bionic):
status: New → Incomplete
Andres Rodriguez (andreserl) wrote :

Hi Chris,

Thanks for the review. Please find below answer to both your points:

1. The regression potential is minimal because MAAS 2.4.0b2, currently in the bionic archive is pretty much unusable. MAAS 2.4.0 (final) has addressed all of the issues that 2.4.0b2 presented, and make MAAS robust and usable. THis has been confirmed by the testing performed by the team and the solutions qa team.

2. The package uploaded in the archive contains the same codebase as the one tested. Once the package is built in the archive and is available in -proposed, the test suite will be run again to verify that the binaries succeed for the same set of tests.

Changed in maas (Ubuntu Bionic):
status: Incomplete → New
Steve Langasek (vorlon) wrote :

The upstream diff includes changes to the backwards-compatibility with older versions of django:

--- maas-2.4.0~beta2-6865-gec43e47e6/src/maasserver/djangosettings/monkey.py 2018-04-15 15:08:20.000000000 +0000
+++ maas-2.4.0-6981-g011e51b7a/src/maasserver/djangosettings/monkey.py 2018-05-21 17:19:12.000000000 +0000
@@ -15,9 +15,9 @@
     twisted or any other thread, as it does not get the correct prefix when
     using reverse. This converts the local() into an object that is global.
- try:
- from django.urls import base
- base._prefixes = type('', (), {})()
- except ImportError:
- from django.core import urlresolvers
- urlresolvers._prefixes = type('', (), {})()
+ from django.urls import base
+ unset = object()
+ value = getattr(base._prefixes, 'value', unset)
+ base._prefixes = type('', (), {})()
+ if value is not unset:
+ base._prefixes.value = value

According to https://stackoverflow.com/questions/38944378/django-from-django-urls-import-reverse-importerror-no-module-named-urls this try/except construction is needed for django < 1.10. bionic has django 1.11.11, but xenial had django 1.8. This makes for a regression in the support for partial upgrades from xenial, which while not recommended for deployment, means that the maas service might behave incorrectly in the midst of a release upgrade from xenial to bionic. This should be avoided by making the dependency on python3-django versioned (>= 1:1.10).

There are other changes throughout src/maasserver/djangosettings that look like they also break compatibility with older versions of django; though I haven't investigated to confirm which exact versions they require. A versioned dependency that's > xenial and <= bionic is sufficient to enforce the upgrade ordering.

This is a relatively minor regression but is still a regression, so I am rejecting the current upload. I have reviewed the rest of the upload and would accept it into -proposed with this issue addressed.

An upload of maas to bionic-proposed has been rejected from the upload queue for the following reason: "https://bugs.launchpad.net/ubuntu/+source/maas/+bug/1773201/comments/3".

Andres Rodriguez (andreserl) wrote :


I've re-uploaded 2.4.0 with the request dependency versioning.


Hello Andres, or anyone else affected,

Accepted maas into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/maas/2.4.0-6981-g011e51b7a-0ubuntu1~18.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in maas (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-bionic
Andres Rodriguez (andreserl) wrote :

I've run our CI infrastructure and performed manual as per the test plan. SO I'm marking verification done.

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic
Brian Murray (brian-murray) wrote :

Has the Solutions QA team performed their testing with the version of the package that exists in -proposed for bionic?

Since 2.4.0 final has not been accepted in the main, as it currently remains in -proposed, I've updated this bug report to cover for MAAS 2.4.1 instead.

summary: - [SRU] MAAS 2.4.0
+ [SRU] MAAS 2.4.1
description: updated
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package maas - 2.4.0-6981-g011e51b7a-0ubuntu1~18.04.1

maas (2.4.0-6981-g011e51b7a-0ubuntu1~18.04.1) bionic-proposed; urgency=medium

  * Stable Release Update. New upstream release, MAAS 2.4.0 (LP: #1773201)
  * debian/control:
    - Add versioned depends to python3-django.
    - Add depends on python3-macaroonbakery for python3-maas-client.
    - Move depends on avahi-utils to maas-common from maas-region-controller.

 -- Andres Rodriguez <email address hidden> Mon, 18 Jun 2018 09:11:11 -0500

Changed in maas (Ubuntu Bionic):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for maas has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

summary: - [SRU] MAAS 2.4.1
+ [SRU] MAAS 2.4.0
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers