[SRU] maas needs utopic support

Bug #1337437 reported by Corey Bryant
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Released
High
Blake Rouse
1.5
Fix Released
Medium
Blake Rouse
1.6
Fix Released
Medium
Blake Rouse
maas (Ubuntu)
Fix Released
Medium
Unassigned
Trusty
Fix Released
Medium
Greg Lutostanski

Bug Description

[Impact]
 * Remove no longer supported distro releases and add utopic to list of releases. (Will only actually be able to be installable if simplestream has utopic entries)

[Testcase]
 * Install utopic onto a maas node

[Regression Potential]
 * Minimal; change to new releases and add pretty strings for it

It looks like maas needs support added for utopic. Could you also consider implementing this so that it is configurable in a config file? It would be much better than needing a hard-coded update each release.

Here's the diff showing code needed in maasserver/enum.py (thanks roaksoax):

=== modified file 'maasserver/enum.py'
--- maasserver/enum.py 2014-07-03 16:54:15 +0000
+++ maasserver/enum.py 2014-07-03 16:56:20 +0000
@@ -100,6 +100,8 @@
     saucy = 'saucy'
     #:
     trusty = 'trusty'
+ #:
+ utopic = 'utopic'

 DISTRO_SERIES_CHOICES = (
     (DISTRO_SERIES.default, 'Default Ubuntu Release'),
@@ -108,6 +110,7 @@
     (DISTRO_SERIES.raring, 'Ubuntu 13.04 "Raring Ringtail"'),
     (DISTRO_SERIES.saucy, 'Ubuntu 13.10 "Saucy Salamander"'),
     (DISTRO_SERIES.trusty, 'Ubuntu 14.04 LTS "Trusty Tahr"'),
+ (DISTRO_SERIES.utopic, 'Ubuntu 14.10 "Utopic Unicorn"'),
 )

Related branches

Revision history for this message
Andres Rodriguez (andreserl) wrote :

We should not use a static file for this, that's why we have python-distro-info. We should use it to automatically figure out the supported Ubuntu releases.

in 1.5.: Support for trusty should be added manually and SRU'd.

In 1.6., we should switch to use python-distro-info.

This additionally mean that MAAS, on the Settings Page, should only show the currently available Ubuntu Releases for Commissioning if the boot images are imported.

Changed in maas:
status: New → Confirmed
Changed in maas (Ubuntu):
status: New → Confirmed
Changed in maas:
importance: Undecided → Medium
Changed in maas (Ubuntu):
importance: Undecided → Medium
Changed in maas:
assignee: nobody → Blake Rouse (blake-rouse)
Revision history for this message
Julian Edwards (julian-edwards) wrote :

That diff is bogus, it won't apply to trunk as the enum was moved.

Also, we should *not* be using python-distro-info please; the list of OSes and releases is driven by images imported on the clusters and thus ultimately the simplestreams data for available images.

There's another bug somewhere (my search-fu is failing me right now) about removing that enum entirely and replacing it with information that comes from the cluster controllers, as they are the ultimate arbiter of what can be installed. A lot of work was done towards this goal at the coding sprint in March, but there was no time to finish it. But basically there is code elsewhere that polls all the clusters and gets their supported OS releases and combines to a single list. This just needs hooking up in that drop-down.

Then, the enum-based code in provisioningserver/drivers/osystem/ubuntu.py can be removed entirely.

Changed in maas:
status: Confirmed → Triaged
Revision history for this message
Corey Bryant (corey.bryant) wrote :

Hi Julian,

Do you think the fixes in the diff above should get me going on 1.5+bzr2252-0ubuntu1? Or is there more to the fix? I ask because it doesn't appear to be doing the trick for me, and I'd like to just hack a work-around for the time being. Here's the error that I'm getting:

+ juju bootstrap -e utopic
Launching instance
WARNING picked arbitrary tools &{"1.18.4-utopic-amd64" "https://streams.canonical.com/juju/tools/releases/juju-1.18.4-utopic-amd64.tgz" "0193e1331f8ad8d42ec36f2915fa35fd74aefd38b373e1af58936dff428c8907" %!q(int64=7389403)}
ERROR bootstrap failed: cannot start bootstrap instance: gomaasapi: got error back from server: 400 BAD REQUEST ({"distro_series": ["Value u'utopic' is not a valid choice."]})
Bootstrap failed, destroying environment
ERROR cannot start bootstrap instance: gomaasapi: got error back from server: 400 BAD REQUEST ({"distro_series": ["Value u'utopic' is not a valid choice."]})

Thanks,
Corey

Revision history for this message
Blake Rouse (blake-rouse) wrote :

Been looking into removing the enum from UbuntuOS. If we pull this information from simplestreams, then we would need to use the daily channel, because its the only channel that contains Utopic. get_supported_releases needs to return all available release, not just the ones boot images are present.

Also the simplestreams data does not provide a nice title for the release, it only uses the codename. We would also need to use python-distro-info to get the fullname of the release to present to the user on the WebUI.

What is the benefit of pulling the data from simplestreams for the available releases, when python-distro-info already contains all of the data we need on the system? Just want to make sure I implement it correctly.

Also if we go with the simplestreams approach, we would need to cache the data, as we should be making a web request everytime MAAS ask for the available releases for the operating system.

Revision history for this message
Gavin Panella (allenap) wrote :

python-distro-info doesn't know about MAAS. For example, it reports that Lucid is supported... but it's not by MAAS. Use it for getting the titles, that's cool, but otherwise the simplestream is the canonical reference.

Revision history for this message
Blake Rouse (blake-rouse) wrote :

Makes since. Will do!

Changed in maas:
status: Triaged → In Progress
Revision history for this message
Julian Edwards (julian-edwards) wrote : Re: [Bug 1337437] Re: maas needs utopic support

On 08/07/14 06:16, Blake Rouse wrote:
> What is the benefit of pulling the data from simplestreams for the
> available releases, when python-distro-info already contains all of the
> data we need on the system? Just want to make sure I implement it
> correctly.

Simplestreams dictates which OS releases MAAS supports - it drives the
whole process. Once we remove the enum and depend on that entirely,
then no more 6-monthly code updates will be needed.

And as Gavin says, python-distro-info can be used to get the distro title.

Revision history for this message
Patricia Gaughen (gaughen) wrote : Re: maas needs utopic support

This is blocking Openstack CI for Utopic. Any ETA on when this will be resolved?

Revision history for this message
Julian Edwards (julian-edwards) wrote :

I've re-assigned it to Gavin as he's working on fixing the clusters to report release info.

Changed in maas:
assignee: Blake Rouse (blake-rouse) → Gavin Panella (allenap)
Revision history for this message
Blake Rouse (blake-rouse) wrote :

I will get this fixed for 1.5 and 1.6. Each use an enum in different locations.

1.7 will include the simplestreams implementation.

description: updated
summary: - maas needs utopic support
+ [SRU] maas needs utopic support
Changed in maas (Ubuntu Trusty):
status: New → Fix Committed
importance: Undecided → Medium
milestone: none → trusty-updates
assignee: nobody → Greg Lutostanski (lutostag)
Chris J Arges (arges)
Changed in maas (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello Corey, or anyone else affected,

Accepted maas into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/maas/1.5.4+bzr2294-0ubuntu1 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 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 to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

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

tags: added: verification-needed
Revision history for this message
Corey Bryant (corey.bryant) wrote :

Hi Chris,

I tested 1.5.4+bzr2294-0ubuntu1 from trusty-proposed using a virtual maas setup and I was able to successfully bootstrap and deploy utopic nodes .

Thanks,
Corey

tags: added: verification-done
removed: verification-needed
Changed in maas:
milestone: none → 1.7.0
assignee: Gavin Panella (allenap) → Blake Rouse (blake-rouse)
importance: Medium → High
Changed in maas:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package maas - 1.5.4+bzr2294-0ubuntu1.1

---------------
maas (1.5.4+bzr2294-0ubuntu1.1) trusty-proposed; urgency=medium

  * Add hardware enablement for armhf/keystone (LP: #1350103)
 -- Greg Lutostanski <email address hidden> Thu, 18 Sep 2014 16:43:56 -0500

Changed in maas (Ubuntu Trusty):
status: Fix Committed → Fix Released
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.