Merge lp:~ltrager/maas/xenial_default into lp:~maas-committers/maas/trunk

Proposed by Lee Trager
Status: Merged
Approved by: Lee Trager
Approved revision: no longer in the source branch.
Merged at revision: 4887
Proposed branch: lp:~ltrager/maas/xenial_default
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 338 lines (+47/-31)
19 files modified
README (+1/-1)
docs/_static/versions.js (+1/-1)
docs/about.rst (+3/-3)
docs/bootsources.rst (+1/-1)
docs/index.rst (+1/-1)
docs/sstreams-mirror.rst (+1/-1)
src/maascli/parser.py (+1/-1)
src/maasserver/bootresources.py (+4/-4)
src/maasserver/bootsources.py (+6/-3)
src/maasserver/enum.py (+1/-1)
src/maasserver/forms.py (+1/-1)
src/maasserver/models/tests/test_bootresourceset.py (+1/-1)
src/maasserver/testing/factory.py (+1/-1)
src/maasserver/tests/test_bootresources.py (+1/-1)
src/maasserver/tests/test_bootsources.py (+4/-4)
src/provisioningserver/config.py (+1/-1)
src/provisioningserver/drivers/osystem/tests/test_ubuntu.py (+7/-2)
src/provisioningserver/drivers/osystem/ubuntu.py (+10/-2)
src/provisioningserver/import_images/tests/test_download_resources.py (+1/-1)
To merge this branch: bzr merge lp:~ltrager/maas/xenial_default
Reviewer Review Type Date Requested Status
Blake Rouse (community) Approve
Review via email: mp+291210@code.launchpad.net

Commit message

Set Xenial as the default image and commissioing release. Set images.maas.io as the default simplestream.

Description of the change

The default commissioning release and image to deploy are both set by looking at what UbuntuOS.lts() is set to. This is a child class of UbuntuDistroInfo, an external package. Because Xenial isn't released yet its still showing trusty. I modified UbuntuOS to return Xenial for now, once Xenial is released we can remove this work around. The default image was actually hard coded so I modified it to also get its data from UbuntuOS.

I also noticed that the default simplestream was still set to maas.ubuntu.com, which redirects to images.maas.io. I set the default stream to https://images.maas.io. As the docs are still on maas.ubuntu.com I left those URLs alone.

To post a comment you must log in.
Revision history for this message
Blake Rouse (blake-rouse) wrote :

Looks good. Thanks for fixing the import url.

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :
Download full text (1.0 MiB)

The attempt to merge lp:~ltrager/maas/xenial_default into lp:maas failed. Below is the output from the failed tests.

Hit:1 http://security.ubuntu.com/ubuntu xenial-security InRelease
Get:2 http://prodstack-zone-2.clouds.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Hit:3 http://prodstack-zone-2.clouds.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:4 http://prodstack-zone-2.clouds.archive.ubuntu.com/ubuntu xenial-backports InRelease
Get:5 http://prodstack-zone-2.clouds.archive.ubuntu.com/ubuntu xenial/main Sources [1,109 kB]
Get:6 http://prodstack-zone-2.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1,436 kB]
Fetched 2,792 kB in 0s (3,390 kB/s)
Reading package lists...
sudo DEBIAN_FRONTEND=noninteractive apt-get -y \
    --no-install-recommends install apache2 archdetect-deb authbind bash bind9 bind9utils build-essential bzr-builddeb chromium-browser chromium-chromedriver curl daemontools debhelper dh-apport dh-systemd distro-info dnsutils firefox freeipmi-tools git gjs ipython isc-dhcp-common libjs-angularjs libjs-jquery libjs-jquery-hotkeys libjs-yui3-full libjs-yui3-min libpq-dev make nodejs-legacy npm postgresql pxelinux python3-all python3-apt python3-bson python3-convoy python3-coverage python3-crochet python3-cssselect python3-curtin python3-dev python3-distro-info python3-django python3-django-nose python3-django-piston3 python3-dnspython python3-docutils python3-formencode python3-hivex python3-httplib2 python3-jinja2 python3-jsonschema python3-lxml python3-mock python3-netaddr python3-netifaces python3-oauth python3-oauthlib python3-openssl python3-paramiko python3-petname python3-pexpect python3-psycopg2 python3-pyinotify python3-pyparsing python3-pyvmomi python3-requests python3-seamicroclient python3-setuptools python3-simplestreams python3-sphinx python3-tempita python3-twisted python3-txtftp python3-tz python3-yaml python3-zope.interface python-bson python-crochet python-django python-django-piston python-djorm-ext-pgarray python-formencode python-lxml python-netaddr python-netifaces python-pocket-lint python-psycopg2 python-tempita python-twisted python-yaml socat syslinux-common tgt ubuntu-cloudimage-keyring wget xvfb
Reading package lists...
Building dependency tree...
Reading state information...
apache2 is already the newest version (2.4.18-2ubuntu1).
archdetect-deb is already the newest version (1.117ubuntu1).
authbind is already the newest version (2.1.1+nmu1).
bash is already the newest version (4.3-14ubuntu1).
bind9 is already the newest version (1:9.10.3.dfsg.P4-5).
bind9utils is already the newest version (1:9.10.3.dfsg.P4-5).
build-essential is already the newest version (12.1ubuntu2).
curl is already the newest version (7.47.0-1ubuntu2).
debhelper is already the newest version (9.20160115ubuntu3).
dh-apport is already the newest version (2.20.1-0ubuntu1).
dh-systemd is already the newest version (1.29ubuntu1).
distro-info is already the newest version (0.14build1).
dnsutils is already the newest version (1:9.10.3.dfsg.P4-5).
firefox is already the newest version (45.0.1+build1-0ubuntu1).
freeipmi-tools is already the newest version (1.4.11-1ubuntu1).
git is already the newest version (1...

Revision history for this message
Scott Moser (smoser) wrote :

just an fyi, for anyone ever looking here, i opened bug at https://bugs.launchpad.net/maas/+bug/1582836 for the apparently unrelated change from http to https

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'README'
--- README 2014-03-26 11:11:08 +0000
+++ README 2016-04-07 07:49:45 +0000
@@ -29,4 +29,4 @@
2929
30For more information see the `MAAS guide`_.30For more information see the `MAAS guide`_.
3131
32.. _MAAS guide: https://maas.ubuntu.com/32.. _MAAS guide: https://maas.io/
3333
=== modified file 'docs/_static/versions.js'
--- docs/_static/versions.js 2014-04-14 21:42:00 +0000
+++ docs/_static/versions.js 2016-04-07 07:49:45 +0000
@@ -2,7 +2,7 @@
22
3This is mostly done, but not limited to support creating links3This is mostly done, but not limited to support creating links
4between the different versions of the MAAS documentation on4between the different versions of the MAAS documentation on
5maas.ubuntu.com.5maas.io.
66
7*/7*/
88
99
=== modified file 'docs/about.rst'
--- docs/about.rst 2014-11-10 16:39:12 +0000
+++ docs/about.rst 2016-04-07 07:49:45 +0000
@@ -23,10 +23,10 @@
23However, it is also possible that there have been additional sections,23However, it is also possible that there have been additional sections,
24or more helpful and clearer bits added since the package you are using24or more helpful and clearer bits added since the package you are using
25was made. For this reason you can always find the latest documentation25was made. For this reason you can always find the latest documentation
26online here: `http://maas.ubuntu.com`_.26online here: `http://maas.io/`_.
2727
28.. _http://maas.ubuntu.com:28.. _http://maas.io/:
29 http://maas.ubuntu.com29 http://maas.io
3030
3131
32Contributing32Contributing
3333
=== modified file 'docs/bootsources.rst'
--- docs/bootsources.rst 2015-08-21 20:35:25 +0000
+++ docs/bootsources.rst 2016-04-07 07:49:45 +0000
@@ -20,7 +20,7 @@
20 $ maas $PROFILE boot-sources read20 $ maas $PROFILE boot-sources read
21 [21 [
22 {22 {
23 "url": "http://maas.ubuntu.com/images/ephemeral-v2/releases/",23 "url": "https://images.maas.io/ephemeral-v2/releases/",
24 "keyring_data": "",24 "keyring_data": "",
25 "resource_uri": "<url omitted for readability>",25 "resource_uri": "<url omitted for readability>",
26 "keyring_filename": "/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg",26 "keyring_filename": "/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg",
2727
=== modified file 'docs/index.rst'
--- docs/index.rst 2016-03-28 13:54:47 +0000
+++ docs/index.rst 2016-04-07 07:49:45 +0000
@@ -25,7 +25,7 @@
25compute nodes and redeploy it to Hadoop. When you're done, it's just25compute nodes and redeploy it to Hadoop. When you're done, it's just
26as easy to give the node back to Nova.26as easy to give the node back to Nova.
2727
28.. _MAAS project: http://maas.ubuntu.com28.. _MAAS project: http://maas.io/
29.. _Juju: https://juju.ubuntu.com/29.. _Juju: https://juju.ubuntu.com/
3030
31MAAS is ideal where you want the flexibility of the cloud, and the31MAAS is ideal where you want the flexibility of the cloud, and the
3232
=== modified file 'docs/sstreams-mirror.rst'
--- docs/sstreams-mirror.rst 2015-12-04 19:33:29 +0000
+++ docs/sstreams-mirror.rst 2016-04-07 07:49:45 +0000
@@ -15,7 +15,7 @@
15This example gets the daily trusty (14.04) and precise (12.04) images for the15This example gets the daily trusty (14.04) and precise (12.04) images for the
16amd64/generic and amd64/hwe-t architectures::16amd64/generic and amd64/hwe-t architectures::
1717
18 $ sudo sstream-mirror --keyring=/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg http://maas.ubuntu.com/images/ephemeral-v2/daily/ /var/www/html/maas/images/ephemeral-v2/daily 'arch=amd64' 'subarch~(generic|hwe-t)' 'release~(trusty|precise)' --max=118 $ sudo sstream-mirror --keyring=/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg https://images.maas.io/ephemeral-v2/daily/ /var/www/html/maas/images/ephemeral-v2/daily 'arch=amd64' 'subarch~(generic|hwe-t)' 'release~(trusty|precise)' --max=1
1919
20This may take a while as hundreds of megabytes will be downloaded.20This may take a while as hundreds of megabytes will be downloaded.
2121
2222
=== modified file 'src/maascli/parser.py'
--- src/maascli/parser.py 2015-12-15 22:44:22 +0000
+++ src/maascli/parser.py 2016-04-07 07:49:45 +0000
@@ -66,7 +66,7 @@
66 help_title, help_body = parse_docstring(api)66 help_title, help_body = parse_docstring(api)
67 parser = ArgumentParser(67 parser = ArgumentParser(
68 description=help_body, prog=argv[0],68 description=help_body, prog=argv[0],
69 epilog="http://maas.ubuntu.com/")69 epilog="http://maas.io/")
70 register_cli_commands(parser)70 register_cli_commands(parser)
71 api.register_api_commands(parser)71 api.register_api_commands(parser)
72 parser.add_argument(72 parser.add_argument(
7373
=== modified file 'src/maasserver/bootresources.py'
--- src/maasserver/bootresources.py 2016-03-28 13:54:47 +0000
+++ src/maasserver/bootresources.py 2016-04-07 07:49:45 +0000
@@ -459,7 +459,7 @@
459 architecture = '%s/%s' % (arch, subarch)459 architecture = '%s/%s' % (arch, subarch)
460460
461 # Allow a generated resource to be replaced by a sycned resource. This461 # Allow a generated resource to be replaced by a sycned resource. This
462 # gives the ability for maas.ubuntu.com to start providing images that462 # gives the ability for maas.io to start providing images that
463 # MAAS used to generate itself.463 # MAAS used to generate itself.
464 supported_rtypes = [464 supported_rtypes = [
465 BOOT_RESOURCE_TYPE.SYNCED,465 BOOT_RESOURCE_TYPE.SYNCED,
@@ -484,7 +484,7 @@
484 # replaced with this synced image.484 # replaced with this synced image.
485 resource.rtype = BOOT_RESOURCE_TYPE.SYNCED485 resource.rtype = BOOT_RESOURCE_TYPE.SYNCED
486486
487 # Simplestreams content from maas.ubuntu.com includes the following487 # Simplestreams content from maas.io includes the following
488 # extra fields. Looping through the extra product data and adding it to488 # extra fields. Looping through the extra product data and adding it to
489 # extra will not work as the product data that is passed into this489 # extra will not work as the product data that is passed into this
490 # object store contains additional data that should not be stored into490 # object store contains additional data that should not be stored into
@@ -517,7 +517,7 @@
517 """Get existing `BootResourceFile` for the given resource set and517 """Get existing `BootResourceFile` for the given resource set and
518 product or create a new one if one does not exist."""518 product or create a new one if one does not exist."""
519 # For synced resources the filename is the same as the filetype. This519 # For synced resources the filename is the same as the filetype. This
520 # is the way the data is from maas.ubuntu.com so we emulate that here.520 # is the way the data is from maas.io so we emulate that here.
521 filetype = product['ftype']521 filetype = product['ftype']
522 filename = filetype522 filename = filetype
523 rfile = get_one(resource_set.files.filter(filename=filename))523 rfile = get_one(resource_set.files.filter(filename=filename))
@@ -529,7 +529,7 @@
529 rfile.filetype = filetype529 rfile.filetype = filetype
530 rfile.extra = {}530 rfile.extra = {}
531531
532 # Simplestreams content from maas.ubuntu.com includes the following532 # Simplestreams content from maas.io includes the following
533 # extra fields. Looping through the extra product data and adding it to533 # extra fields. Looping through the extra product data and adding it to
534 # extra will not work as the product data that is passed into this534 # extra will not work as the product data that is passed into this
535 # object store contains additional data that should not be stored into535 # object store contains additional data that should not be stored into
536536
=== modified file 'src/maasserver/bootsources.py'
--- src/maasserver/bootsources.py 2015-12-01 18:12:59 +0000
+++ src/maasserver/bootsources.py 2016-04-07 07:49:45 +0000
@@ -1,4 +1,4 @@
1# Copyright 2014-2015 Canonical Ltd. This software is licensed under the1# Copyright 2014-2016 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4"""Boot Sources."""4"""Boot Sources."""
@@ -26,6 +26,7 @@
26from maasserver.utils.orm import transactional26from maasserver.utils.orm import transactional
27from maasserver.utils.threads import deferToDatabase27from maasserver.utils.threads import deferToDatabase
28from provisioningserver.auth import get_maas_user_gpghome28from provisioningserver.auth import get_maas_user_gpghome
29from provisioningserver.drivers.osystem.ubuntu import UbuntuOS
29from provisioningserver.import_images.download_descriptions import (30from provisioningserver.import_images.download_descriptions import (
30 download_all_image_descriptions,31 download_all_image_descriptions,
31)32)
@@ -48,13 +49,15 @@
48 """Set default boot source if none is currently defined."""49 """Set default boot source if none is currently defined."""
49 if not BootSource.objects.exists():50 if not BootSource.objects.exists():
50 source = BootSource.objects.create(51 source = BootSource.objects.create(
51 url='http://maas.ubuntu.com/images/ephemeral-v2/releases/',52 url='https://images.maas.io/ephemeral-v2/releases/',
52 keyring_filename=(53 keyring_filename=(
53 '/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg'))54 '/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg'))
54 # Default is to import newest Ubuntu LTS releases, for only amd6455 # Default is to import newest Ubuntu LTS releases, for only amd64
55 # release versions only.56 # release versions only.
57 ubuntu = UbuntuOS()
56 BootSourceSelection.objects.create(58 BootSourceSelection.objects.create(
57 boot_source=source, os='ubuntu', release='trusty',59 boot_source=source, os=ubuntu.name,
60 release=ubuntu.get_default_commissioning_release(),
58 arches=['amd64'], subarches=['*'], labels=['release'])61 arches=['amd64'], subarches=['*'], labels=['release'])
5962
6063
6164
=== modified file 'src/maasserver/enum.py'
--- src/maasserver/enum.py 2016-03-31 23:34:55 +0000
+++ src/maasserver/enum.py 2016-04-07 07:49:45 +0000
@@ -310,7 +310,7 @@
310 ROOT_DD = 'root-dd'310 ROOT_DD = 'root-dd'
311311
312 # Following are not allowed on user upload. Only used for syncing312 # Following are not allowed on user upload. Only used for syncing
313 # from another simplestreams source. (Most likely maas.ubuntu.com)313 # from another simplestreams source. (Most likely maas.io)
314314
315 #: Root Image (gets converted to root-image root-tgz, on Cluster)315 #: Root Image (gets converted to root-image root-tgz, on Cluster)
316 ROOT_IMAGE = 'root-image.gz'316 ROOT_IMAGE = 'root-image.gz'
317317
=== modified file 'src/maasserver/forms.py'
--- src/maasserver/forms.py 2016-03-28 13:54:47 +0000
+++ src/maasserver/forms.py 2016-04-07 07:49:45 +0000
@@ -1348,7 +1348,7 @@
1348 label="Sync URL", required=True,1348 label="Sync URL", required=True,
1349 help_text=(1349 help_text=(
1350 "URL to sync boot image from. E.g. "1350 "URL to sync boot image from. E.g. "
1351 "http://maas.ubuntu.com/images/ephemeral-v2/releases/"))1351 "https://images.maas.io/ephemeral-v2/releases/"))
13521352
1353 def __init__(self, *args, **kwargs):1353 def __init__(self, *args, **kwargs):
1354 super(BootSourceSettingsForm, self).__init__(*args, **kwargs)1354 super(BootSourceSettingsForm, self).__init__(*args, **kwargs)
13551355
=== modified file 'src/maasserver/models/tests/test_bootresourceset.py'
--- src/maasserver/models/tests/test_bootresourceset.py 2016-03-28 13:54:47 +0000
+++ src/maasserver/models/tests/test_bootresourceset.py 2016-04-07 07:49:45 +0000
@@ -24,7 +24,7 @@
24 for filetype in filetypes:24 for filetype in filetypes:
25 # We set the filename to the same value as filetype, as in most25 # We set the filename to the same value as filetype, as in most
26 # cases this will always be true. The simplestreams content from26 # cases this will always be true. The simplestreams content from
27 # maas.ubuntu.com, is formatted this way.27 # maas.io, is formatted this way.
28 factory.make_boot_resource_file_with_content(28 factory.make_boot_resource_file_with_content(
29 resource_set, filename=filetype, filetype=filetype)29 resource_set, filename=filetype, filetype=filetype)
3030
3131
=== modified file 'src/maasserver/testing/factory.py'
--- src/maasserver/testing/factory.py 2016-03-28 13:54:47 +0000
+++ src/maasserver/testing/factory.py 2016-04-07 07:49:45 +0000
@@ -1318,7 +1318,7 @@
1318 for filetype in filetypes:1318 for filetype in filetypes:
1319 # We set the filename to the same value as filetype, as in most1319 # We set the filename to the same value as filetype, as in most
1320 # cases this will always be true. The simplestreams content from1320 # cases this will always be true. The simplestreams content from
1321 # maas.ubuntu.com, is formatted this way.1321 # maas.io, is formatted this way.
1322 self.make_boot_resource_file_with_content(1322 self.make_boot_resource_file_with_content(
1323 resource_set, filename=filetype, filetype=filetype)1323 resource_set, filename=filetype, filetype=filetype)
1324 return resource1324 return resource
13251325
=== modified file 'src/maasserver/tests/test_bootresources.py'
--- src/maasserver/tests/test_bootresources.py 2016-03-28 13:54:47 +0000
+++ src/maasserver/tests/test_bootresources.py 2016-04-07 07:49:45 +0000
@@ -479,7 +479,7 @@
479 filetype = factory.pick_enum(BOOT_RESOURCE_FILE_TYPE)479 filetype = factory.pick_enum(BOOT_RESOURCE_FILE_TYPE)
480 # We set the filename to the same value as filetype, as in most480 # We set the filename to the same value as filetype, as in most
481 # cases this will always be true. The simplestreams content from481 # cases this will always be true. The simplestreams content from
482 # maas.ubuntu.com, is formatted this way.482 # maas.io, is formatted this way.
483 filename = filetype483 filename = filetype
484 size = randint(1024, 2048)484 size = randint(1024, 2048)
485 content = factory.make_bytes(size=size)485 content = factory.make_bytes(size=size)
486486
=== modified file 'src/maasserver/tests/test_bootsources.py'
--- src/maasserver/tests/test_bootsources.py 2016-03-28 13:54:47 +0000
+++ src/maasserver/tests/test_bootsources.py 2016-04-07 07:49:45 +0000
@@ -102,7 +102,7 @@
102 self.assertAttributes(102 self.assertAttributes(
103 source,103 source,
104 {104 {
105 'url': 'http://maas.ubuntu.com/images/ephemeral-v2/releases/',105 'url': 'https://images.maas.io/ephemeral-v2/releases/',
106 'keyring_filename': (106 'keyring_filename': (
107 '/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg'),107 '/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg'),
108 })108 })
@@ -111,11 +111,11 @@
111 selection.release: selection111 selection.release: selection
112 for selection in selections112 for selection in selections
113 }113 }
114 self.assertItemsEqual(['trusty'], by_release.keys())114 self.assertItemsEqual(['xenial'], by_release.keys())
115 self.assertAttributes(115 self.assertAttributes(
116 by_release['trusty'],116 by_release['xenial'],
117 {117 {
118 'release': 'trusty',118 'release': 'xenial',
119 'arches': ['amd64'],119 'arches': ['amd64'],
120 'subarches': ['*'],120 'subarches': ['*'],
121 'labels': ['release'],121 'labels': ['release'],
122122
=== modified file 'src/provisioningserver/config.py'
--- src/provisioningserver/config.py 2016-03-28 13:54:47 +0000
+++ src/provisioningserver/config.py 2016-04-07 07:49:45 +0000
@@ -181,7 +181,7 @@
181 if_key_missing = None181 if_key_missing = None
182182
183 url = UnicodeString(183 url = UnicodeString(
184 if_missing="http://maas.ubuntu.com/images/ephemeral-v2/releases/")184 if_missing="https://images.maas.io/ephemeral-v2/releases/")
185 keyring = UnicodeString(185 keyring = UnicodeString(
186 if_missing="/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg")186 if_missing="/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg")
187 keyring_data = UnicodeString(if_missing="")187 keyring_data = UnicodeString(if_missing="")
188188
=== modified file 'src/provisioningserver/drivers/osystem/tests/test_ubuntu.py'
--- src/provisioningserver/drivers/osystem/tests/test_ubuntu.py 2015-12-18 00:07:25 +0000
+++ src/provisioningserver/drivers/osystem/tests/test_ubuntu.py 2016-04-07 07:49:45 +0000
@@ -1,4 +1,4 @@
1# Copyright 2014-2015 Canonical Ltd. This software is licensed under the1# Copyright 2014-2016 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4"""Tests for the UbuntuOS module."""4"""Tests for the UbuntuOS module."""
@@ -18,7 +18,12 @@
18class TestUbuntuOS(MAASTestCase):18class TestUbuntuOS(MAASTestCase):
1919
20 def get_lts_release(self):20 def get_lts_release(self):
21 return UbuntuDistroInfo().lts()21 # XXX ltrager 2016-04-06 - python3-distro-info won't set the latest lts
22 # to Xenial until its been released. So we can start testing MAAS 2.0
23 # with Xenial by default override it here. Once Xenial is released this
24 # can be removed
25 # return UbuntuDistroInfo().lts()
26 return "xenial"
2227
23 def get_release_title(self, release):28 def get_release_title(self, release):
24 info = UbuntuDistroInfo()29 info = UbuntuDistroInfo()
2530
=== modified file 'src/provisioningserver/drivers/osystem/ubuntu.py'
--- src/provisioningserver/drivers/osystem/ubuntu.py 2015-12-17 03:22:59 +0000
+++ src/provisioningserver/drivers/osystem/ubuntu.py 2016-04-07 07:49:45 +0000
@@ -1,4 +1,4 @@
1# Copyright 2014-2015 Canonical Ltd. This software is licensed under the1# Copyright 2014-2016 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4"""Ubuntu Operating System."""4"""Ubuntu Operating System."""
@@ -39,7 +39,15 @@
3939
40 def get_lts_release(self):40 def get_lts_release(self):
41 """Return the latest Ubuntu LTS release."""41 """Return the latest Ubuntu LTS release."""
42 return self.ubuntu_distro_info.lts()42 lts_release = self.ubuntu_distro_info.lts()
43 # XXX ltrager 2016-04-06 - python3-distro-info won't set the latest lts
44 # to Xenial until its been released. So we can start testing MAAS 2.0
45 # with Xenial by default override it here. Once Xenial is released this
46 # can be removed
47 if lts_release == "trusty":
48 return "xenial"
49 else:
50 return lts_release
4351
44 def get_default_release(self):52 def get_default_release(self):
45 """Gets the default release to use when a release is not53 """Gets the default release to use when a release is not
4654
=== modified file 'src/provisioningserver/import_images/tests/test_download_resources.py'
--- src/provisioningserver/import_images/tests/test_download_resources.py 2016-03-28 13:54:47 +0000
+++ src/provisioningserver/import_images/tests/test_download_resources.py 2016-04-07 07:49:45 +0000
@@ -73,7 +73,7 @@
73 snapshot_path = self.make_dir()73 snapshot_path = self.make_dir()
74 cache_path = os.path.join(storage_path, 'cache')74 cache_path = os.path.join(storage_path, 'cache')
75 file_store = FileStore(cache_path)75 file_store = FileStore(cache_path)
76 source_url = "http://maas.ubuntu.com/images/ephemeral-v2/releases/"76 source_url = "https://images.maas.io/ephemeral-v2/releases/"
7777
78 download_resources.download_boot_resources(78 download_resources.download_boot_resources(
79 source_url, file_store, snapshot_path, None, None)79 source_url, file_store, snapshot_path, None, None)