Merge ~adam-collard/maas-ci/+git/system-tests:remove-unnecessary-fixtures into ~maas-committers/maas-ci/+git/system-tests:master

Proposed by Adam Collard
Status: Merged
Approved by: Adam Collard
Approved revision: a26176fc782f99f330324dd41cfb375c9080f237
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~adam-collard/maas-ci/+git/system-tests:remove-unnecessary-fixtures
Merge into: ~maas-committers/maas-ci/+git/system-tests:master
Diff against target: 169 lines (+38/-10)
8 files modified
systemtests/collect_sos_report/test_collect.py (+5/-1)
systemtests/fixtures.py (+11/-5)
systemtests/general_tests/test_machine_config.py (+2/-0)
systemtests/o11y.py (+6/-2)
systemtests/tls.py (+6/-1)
systemtests/vault.py (+2/-0)
utils/filter_envs.py (+3/-0)
utils/gen_config.py (+3/-1)
Reviewer Review Type Date Requested Status
Jack Lloyd-Walters Approve
MAAS Lander Approve
Review via email: mp+436197@code.launchpad.net

Commit message

Don't launch a build_container for a snap run that doesn't use it

Fix annotations

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b remove-unnecessary-fixtures lp:~adam-collard/maas-ci/+git/system-tests into -b master lp:~maas-committers/maas-ci/+git/system-tests

STATUS: SUCCESS
COMMIT: a26176fc782f99f330324dd41cfb375c9080f237

review: Approve
Revision history for this message
Jack Lloyd-Walters (lloydwaltersj) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/systemtests/collect_sos_report/test_collect.py b/systemtests/collect_sos_report/test_collect.py
index d8b1e5e..8b275b2 100644
--- a/systemtests/collect_sos_report/test_collect.py
+++ b/systemtests/collect_sos_report/test_collect.py
@@ -1,9 +1,13 @@
1from __future__ import annotations
2
1import contextlib3import contextlib
2import subprocess4import subprocess
3import tempfile5import tempfile
4from pathlib import Path6from pathlib import Path
7from typing import TYPE_CHECKING
58
6from ..lxd import Instance9if TYPE_CHECKING:
10 from ..lxd import Instance
711
812
9def collect_sos_report(instance: Instance, output: Path) -> None:13def collect_sos_report(instance: Instance, output: Path) -> None:
diff --git a/systemtests/fixtures.py b/systemtests/fixtures.py
index ba9bbb9..df540c8 100644
--- a/systemtests/fixtures.py
+++ b/systemtests/fixtures.py
@@ -37,8 +37,10 @@ def _add_maas_ppa(
3737
3838
39@pytest.fixture(scope="session")39@pytest.fixture(scope="session")
40def build_container(config: dict[str, Any]) -> Iterator[Instance]:40def build_container(config: dict[str, Any]) -> Optional[Iterator[Instance]]:
41 """Create a container for building MAAS package in."""41 """Create a container for building MAAS package in."""
42 if "snap" in config:
43 yield None
42 log = getLogger(f"{LOG_NAME}.build_container")44 log = getLogger(f"{LOG_NAME}.build_container")
43 lxd = get_lxd(log)45 lxd = get_lxd(log)
44 container_name = os.environ.get(46 container_name = os.environ.get(
@@ -69,10 +71,10 @@ def build_container(config: dict[str, Any]) -> Iterator[Instance]:
6971
70@pytest.fixture(scope="session")72@pytest.fixture(scope="session")
71def maas_deb_repo(73def maas_deb_repo(
72 build_container: Instance, config: dict[str, Any]74 build_container: Optional[Instance], config: dict[str, Any]
73) -> Iterator[Optional[str]]:75) -> Iterator[Optional[str]]:
74 """Build maas deb, and setup APT repo."""76 """Build maas deb, and setup APT repo."""
75 if "snap" in config:77 if build_container is None:
76 yield None78 yield None
77 else:79 else:
78 build_container.logger = getLogger(f"{LOG_NAME}.maas_deb_repo")80 build_container.logger = getLogger(f"{LOG_NAME}.maas_deb_repo")
@@ -181,7 +183,9 @@ def get_user_data(
181183
182184
183@pytest.fixture(scope="session")185@pytest.fixture(scope="session")
184def maas_container(config: dict[str, Any], build_container: Instance) -> Instance:186def maas_container(
187 config: dict[str, Any], build_container: Optional[Instance]
188) -> Instance:
185 """Build a container for running MAAS in."""189 """Build a container for running MAAS in."""
186 lxd = get_lxd(getLogger(f"{LOG_NAME}.maas_container"))190 lxd = get_lxd(getLogger(f"{LOG_NAME}.maas_container"))
187 profile_name = container_name = os.environ.get(191 profile_name = container_name = os.environ.get(
@@ -189,7 +193,7 @@ def maas_container(config: dict[str, Any], build_container: Instance) -> Instanc
189 )193 )
190 instance = Instance(lxd, container_name)194 instance = Instance(lxd, container_name)
191 # FIXME: loggers could be a stack?195 # FIXME: loggers could be a stack?
192 build_container.logger = instance.logger = lxd.logger196 instance.logger = lxd.logger
193 if not instance.exists():197 if not instance.exists():
194 if not lxd.profile_exists(profile_name):198 if not lxd.profile_exists(profile_name):
195 lxd.copy_profile(LXD_PROFILE, profile_name)199 lxd.copy_profile(LXD_PROFILE, profile_name)
@@ -250,6 +254,8 @@ def maas_container(config: dict[str, Any], build_container: Instance) -> Instanc
250 )254 )
251255
252 if "snap" not in config:256 if "snap" not in config:
257 assert build_container is not None
258 build_container.logger = instance.logger
253 build_container_ip = build_container.get_ip_address()259 build_container_ip = build_container.get_ip_address()
254 contents = dedent(260 contents = dedent(
255 f"""\261 f"""\
diff --git a/systemtests/general_tests/test_machine_config.py b/systemtests/general_tests/test_machine_config.py
index 254f3dd..6e9152b 100644
--- a/systemtests/general_tests/test_machine_config.py
+++ b/systemtests/general_tests/test_machine_config.py
@@ -1,3 +1,5 @@
1from __future__ import annotations
2
1from ..machine_config import MachineConfig3from ..machine_config import MachineConfig
24
35
diff --git a/systemtests/o11y.py b/systemtests/o11y.py
index 4dd4342..e95ba6e 100644
--- a/systemtests/o11y.py
+++ b/systemtests/o11y.py
@@ -1,8 +1,11 @@
1from __future__ import annotations
2
1from pathlib import Path3from pathlib import Path
2from textwrap import dedent4from textwrap import dedent
3from typing import Any5from typing import TYPE_CHECKING, Any
46
5from .lxd import Instance7if TYPE_CHECKING:
8 from .lxd import Instance
69
7AGENT_PATH = "/opt/agent/agent-linux-amd64"10AGENT_PATH = "/opt/agent/agent-linux-amd64"
811
@@ -10,6 +13,7 @@ AGENT_PATH = "/opt/agent/agent-linux-amd64"
10def setup_o11y(13def setup_o11y(
11 o11y: dict[str, Any], maas_container: Instance, installed_from_snap: bool14 o11y: dict[str, Any], maas_container: Instance, installed_from_snap: bool
12) -> None:15) -> None:
16 """Runs telemetry in a systemd unit on the maas container."""
13 agent_on_container = maas_container.files[AGENT_PATH]17 agent_on_container = maas_container.files[AGENT_PATH]
14 if not agent_on_container.exists():18 if not agent_on_container.exists():
15 host_path_to_agent = Path(o11y["grafana_agent_file_path"].strip())19 host_path_to_agent = Path(o11y["grafana_agent_file_path"].strip())
diff --git a/systemtests/tls.py b/systemtests/tls.py
index 66cbdb4..53a739c 100644
--- a/systemtests/tls.py
+++ b/systemtests/tls.py
@@ -1,4 +1,9 @@
1from .lxd import Instance1from __future__ import annotations
2
3from typing import TYPE_CHECKING
4
5if TYPE_CHECKING:
6 from .lxd import Instance
27
3# Certs must be accessible for MAAS installed by snap, but8# Certs must be accessible for MAAS installed by snap, but
4# this location is useful also when installed via deb package.9# this location is useful also when installed via deb package.
diff --git a/systemtests/vault.py b/systemtests/vault.py
index 178ea46..01e3e77 100644
--- a/systemtests/vault.py
+++ b/systemtests/vault.py
@@ -1,3 +1,5 @@
1from __future__ import annotations
2
1import json3import json
2import subprocess4import subprocess
3import uuid5import uuid
diff --git a/utils/filter_envs.py b/utils/filter_envs.py
index a233216..17afe71 100644
--- a/utils/filter_envs.py
+++ b/utils/filter_envs.py
@@ -1,3 +1,6 @@
1"""Filter the available environments by the given list."""
2from __future__ import annotations
3
1import argparse4import argparse
2import subprocess5import subprocess
3import sys6import sys
diff --git a/utils/gen_config.py b/utils/gen_config.py
index 98ed2ad..cb000a2 100755
--- a/utils/gen_config.py
+++ b/utils/gen_config.py
@@ -1,4 +1,7 @@
1#!/usr/bin/env python31#!/usr/bin/env python3
2"""Generate specific system-test config from a base config and options."""
3
4from __future__ import annotations
25
3import argparse6import argparse
4import pathlib7import pathlib
@@ -11,7 +14,6 @@ yaml = YAML()
1114
1215
13def main(argv: list[str]) -> int:16def main(argv: list[str]) -> int:
14
15 parser = argparse.ArgumentParser()17 parser = argparse.ArgumentParser()
16 parser.add_argument(18 parser.add_argument(
17 "base_config",19 "base_config",

Subscribers

People subscribed via source and target branches

to all changes: