Merge ~ltrager/maas:lp1836293_2.6 into maas:2.6

Proposed by Lee Trager
Status: Merged
Approved by: Lee Trager
Approved revision: e0ae5d89a6fb839565dc94346bcad4da2a493ffa
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ltrager/maas:lp1836293_2.6
Merge into: maas:2.6
Diff against target: 86 lines (+18/-10)
2 files modified
src/metadataserver/user_data/templates/snippets/maas_run_remote_scripts.py (+5/-5)
src/metadataserver/user_data/templates/snippets/tests/test_maas_run_remote_scripts.py (+13/-5)
Reviewer Review Type Date Requested Status
Lee Trager (community) Approve
Review via email: mp+371062@code.launchpad.net

Commit message

LP: #1836293 - Install Debian packages with --no-install-recommends

Backport of edb6603

To post a comment you must log in.
Revision history for this message
Lee Trager (ltrager) wrote :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/metadataserver/user_data/templates/snippets/maas_run_remote_scripts.py b/src/metadataserver/user_data/templates/snippets/maas_run_remote_scripts.py
2index fd2ec91..c4e4238 100644
3--- a/src/metadataserver/user_data/templates/snippets/maas_run_remote_scripts.py
4+++ b/src/metadataserver/user_data/templates/snippets/maas_run_remote_scripts.py
5@@ -150,10 +150,10 @@ def _install_apt_dependencies(packages, scripts, send_result=True):
6 if not run_and_check(
7 ['apt-get', '-qy', 'update'], scripts, send_result, True):
8 return False
9-
10 if not run_and_check(
11- ['apt-get', '-qy', 'install'] + packages, scripts, send_result,
12- True):
13+ [
14+ 'apt-get', '-qy', '--no-install-recommends',
15+ 'install'] + packages, scripts, send_result, True):
16 return False
17
18 return True
19@@ -226,8 +226,8 @@ def _install_url_dependencies(packages, scripts, send_result=True):
20 # installed.
21 run_and_check(['dpkg', '-i', filename], scripts, False, True)
22 if not run_and_check(
23- ['apt-get', 'install', '-qyf'], scripts, send_result,
24- True):
25+ ['apt-get', 'install', '-qyf', '--no-install-recommends'],
26+ scripts, send_result, True):
27 return False
28 elif filename.endswith('.snap'):
29 if not run_and_check(
30diff --git a/src/metadataserver/user_data/templates/snippets/tests/test_maas_run_remote_scripts.py b/src/metadataserver/user_data/templates/snippets/tests/test_maas_run_remote_scripts.py
31index 4e36d59..ddce667 100644
32--- a/src/metadataserver/user_data/templates/snippets/tests/test_maas_run_remote_scripts.py
33+++ b/src/metadataserver/user_data/templates/snippets/tests/test_maas_run_remote_scripts.py
34@@ -264,7 +264,9 @@ class TestInstallDependencies(MAASTestCase):
35 'Installing apt packages for %s' % script['msg_name'],
36 True, status='INSTALLING'))
37 self.assertThat(mock_run_and_check, MockCalledOnceWith(
38- ['apt-get', '-qy', 'install'] + packages, scripts, True, True))
39+ [
40+ 'apt-get', '-qy', '--no-install-recommends',
41+ 'install'] + packages, scripts, True, True))
42 # Verify cleanup
43 self.assertFalse(os.path.exists(script['combined_path']))
44 self.assertFalse(os.path.exists(script['stdout_path']))
45@@ -288,7 +290,9 @@ class TestInstallDependencies(MAASTestCase):
46 'Installing apt packages for %s' % script['msg_name'],
47 True, status='INSTALLING'))
48 self.assertThat(mock_run_and_check, MockAnyCall(
49- ['apt-get', '-qy', 'install'] + packages, scripts, True, True))
50+ [
51+ 'apt-get', '-qy', '--no-install-recommends',
52+ 'install'] + packages, scripts, True, True))
53 # Verify cleanup
54 self.assertFalse(os.path.exists(script['combined_path']))
55 self.assertFalse(os.path.exists(script['stdout_path']))
56@@ -311,7 +315,9 @@ class TestInstallDependencies(MAASTestCase):
57 'Installing apt packages for %s' % script['msg_name'],
58 True, status='INSTALLING'))
59 self.assertThat(mock_run_and_check, MockCalledOnceWith(
60- ['apt-get', '-qy', 'install'] + packages, scripts, True, True))
61+ [
62+ 'apt-get', '-qy', '--no-install-recommends',
63+ 'install'] + packages, scripts, True, True))
64
65 def test_install_dependencies_snap_str_list(self):
66 mock_run_and_check = self.patch(
67@@ -511,7 +517,8 @@ class TestInstallDependencies(MAASTestCase):
68 self.assertThat(mock_run_and_check, MockAnyCall(
69 ['dpkg', '-i', deb_file], scripts, False, True))
70 self.assertThat(mock_run_and_check, MockAnyCall(
71- ['apt-get', 'install', '-qyf'], scripts, True, True))
72+ ['apt-get', 'install', '-qyf', '--no-install-recommends'], scripts,
73+ True, True))
74
75 def test_install_dependencies_url_deb_errors(self):
76 mock_run_and_check = self.patch(
77@@ -530,7 +537,8 @@ class TestInstallDependencies(MAASTestCase):
78 self.assertThat(mock_run_and_check, MockAnyCall(
79 ['dpkg', '-i', deb_file], scripts, False, True))
80 self.assertThat(mock_run_and_check, MockAnyCall(
81- ['apt-get', 'install', '-qyf'], scripts, True, True))
82+ ['apt-get', 'install', '-qyf', '--no-install-recommends'], scripts,
83+ True, True))
84
85 def test_install_dependencies_url_snap(self):
86 mock_run_and_check = self.patch(

Subscribers

People subscribed via source and target branches