Merge lp:~rvb/maas-test/only-one-arch into lp:maas-test

Proposed by Raphaël Badin
Status: Merged
Approved by: Raphaël Badin
Approved revision: 153
Merged at revision: 153
Proposed branch: lp:~rvb/maas-test/only-one-arch
Merge into: lp:maas-test
Prerequisite: lp:~rvb/maas-test/support-utopic
Diff against target: 119 lines (+14/-48)
4 files modified
maastest/maasfixture.py (+1/-1)
maastest/tests/test_maasfixture.py (+0/-24)
maastest/tests/test_utils.py (+8/-6)
maastest/utils.py (+5/-17)
To merge this branch: bzr merge lp:~rvb/maas-test/only-one-arch
Reviewer Review Type Date Requested Status
Julian Edwards (community) Approve
Review via email: mp+217265@code.launchpad.net

Commit message

Remove workaround for bug 1181334: do not always download i386 images.

Description of the change

I decided to keep passing to maasfixture.compose_import_config a list of architectures: all the code to support that is in place so it would be a waste to change that to support only one architecture. Although one architecture is all we need right now, we might need to download images for more than one architecture in the future (maybe just in order to get a dry-run to cache images).

To post a comment you must log in.
Revision history for this message
Julian Edwards (julian-edwards) wrote :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

 review: approve
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlNdo2cACgkQWhGlTF8G/Hdu3wCfeZLK/ONYXCZb7LdY+9jMgxj0
f8wAnRDB9k//YfnnJopWjyZ8J64gHJxq
=JxRH
-----END PGP SIGNATURE-----

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'maastest/maasfixture.py'
--- maastest/maasfixture.py 2014-04-10 10:20:23 +0000
+++ maastest/maasfixture.py 2014-04-25 15:47:50 +0000
@@ -276,7 +276,7 @@
276 imported, e.g. 'amd64', 'arm/hightbank'. If the276 imported, e.g. 'amd64', 'arm/hightbank'. If the
277 subarchitecture isn't specified, 'generic' is assumed.277 subarchitecture isn't specified, 'generic' is assumed.
278 """278 """
279 arch_list = utils.mipf_arch_list(architecture)279 arch_list = [utils.mipf_arch(architecture)]
280 logging.info(280 logging.info(
281 "Importing boot images series=%s, architectures=%s..." % (281 "Importing boot images series=%s, architectures=%s..." % (
282 series, ', '.join(arch_list)))282 series, ', '.join(arch_list)))
283283
=== modified file 'maastest/tests/test_maasfixture.py'
--- maastest/tests/test_maasfixture.py 2014-04-10 10:39:09 +0000
+++ maastest/tests/test_maasfixture.py 2014-04-25 15:47:50 +0000
@@ -756,30 +756,6 @@
756 maas_fixture.configure_cluster.mock_calls,756 maas_fixture.configure_cluster.mock_calls,
757 ])757 ])
758758
759 def test_import_maas_images_imports_pxe_images(self):
760 kvm_fixture = self.make_kvm_fixture()
761 proxy_url = self.getUniqueString()
762 maas_fixture = self.make_maas_fixture(kvm_fixture, proxy_url)
763 series = self.getUniqueString()
764 arch = self.getUniqueString()
765 filter = self.getUniqueString()
766 returned_arches = ['amd64/generic', 'i386/generic']
767 mock_mipf_arch_list = mock.MagicMock(return_value=returned_arches)
768 self.patch(
769 utils, 'mipf_arch_list', mock_mipf_arch_list)
770
771 maas_fixture.import_maas_images(series, arch, filter)
772
773 self.assertEqual(
774 mock.call([
775 'sudo',
776 'http_proxy=%s' % proxy_url,
777 'https_proxy=%s' % proxy_url,
778 'maas-import-pxe-files',
779 ], check_call=True),
780 kvm_fixture.run_command.mock_calls[-1])
781 self.assertEqual([mock.call(arch)], mock_mipf_arch_list.mock_calls)
782
783 def test_dump_data_calls_dumpdata(self):759 def test_dump_data_calls_dumpdata(self):
784 maas_fixture = self.make_maas_fixture()760 maas_fixture = self.make_maas_fixture()
785 maas_fixture._maas_admin = 'maas-region-admin'761 maas_fixture._maas_admin = 'maas-region-admin'
786762
=== modified file 'maastest/tests/test_utils.py'
--- maastest/tests/test_utils.py 2014-04-25 15:47:50 +0000
+++ maastest/tests/test_utils.py 2014-04-25 15:47:50 +0000
@@ -334,15 +334,17 @@
334 self.assertEqual({}, utils.extract_mac_ip_mapping(NMAP_XML_OUTPUT))334 self.assertEqual({}, utils.extract_mac_ip_mapping(NMAP_XML_OUTPUT))
335335
336336
337class TestMipfArchList(testtools.TestCase):337class TestMipfArch(testtools.TestCase):
338338
339 def test_defaults_to_generic(self):339 def test_defaults_to_generic(self):
340 self.assertItemsEqual(['i386/generic'], utils.mipf_arch_list('i386'))340 arch = self.getUniqueString()
341 self.assertItemsEqual('%s/generic' % arch, utils.mipf_arch(arch))
341342
342 def test_adds_i386_if_missing(self):343 def test_keeps_subarch_if_provided(self):
343 self.assertEqual(344 arch = self.getUniqueString()
344 (['amd64/generic', 'i386/generic'], ['i386/generic']),345 subarch = self.getUniqueString()
345 (utils.mipf_arch_list('amd64'), utils.mipf_arch_list('i386')))346 full_arch = "%s/%s" % (arch, subarch)
347 self.assertEqual(full_arch, (utils.mipf_arch(full_arch)))
346348
347349
348class TestVirtualizationType(testtools.TestCase):350class TestVirtualizationType(testtools.TestCase):
349351
=== modified file 'maastest/utils.py'
--- maastest/utils.py 2014-04-09 10:41:45 +0000
+++ maastest/utils.py 2014-04-25 15:47:50 +0000
@@ -19,7 +19,7 @@
19 "determine_vm_architecture",19 "determine_vm_architecture",
20 "determine_vm_series",20 "determine_vm_series",
21 "get_uri",21 "get_uri",
22 "mipf_arch_list",22 "mipf_arch",
23 "read_file",23 "read_file",
24 "retries",24 "retries",
25 "run_command",25 "run_command",
@@ -238,26 +238,14 @@
238 return mapping238 return mapping
239239
240240
241def mipf_arch_list(architecture):241def mipf_arch(architecture):
242 """Return the architectures that must be downloaded by m-i-p-f.242 """Return the name of the architecture that must be downloaded by m-i-p-f.
243243
244 This converts an architecture name (e.g. 'amd64' or 'armhf/generic') into244 If subarch is not provided, default to 'generic'.
245 the list of architectures that m-i-p-f must download in a format that
246 this script understands.
247 More precisely, this means doing two things:
248 - default the subarchitecture 'generic' if not specified.
249 - work around bug 1181334 by including 'i386/generic' in the list of
250 architectures to be downloaded if it's not explicitely specified.
251 """245 """
252 # If subarchitecture is not provided, assume 'generic'.
253 if '/' not in architecture:246 if '/' not in architecture:
254 architecture = '%s/generic' % architecture247 architecture = '%s/generic' % architecture
255 arch_list = [architecture]248 return architecture
256 # Include i386, see
257 # https://bugs.launchpad.net/ubuntu/+source/maas/+bug/1181334
258 if architecture != "i386/generic":
259 arch_list.append("i386/generic")
260 return arch_list
261249
262250
263def check_kvm_ok():251def check_kvm_ok():

Subscribers

People subscribed via source and target branches