sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #04762
[Merge] ~adam-collard/maas-ci/+git/system-tests:remove-unnecessary-fixtures into ~maas-committers/maas-ci/+git/system-tests:master
Adam Collard has proposed merging ~adam-collard/maas-ci/+git/system-tests:remove-unnecessary-fixtures into ~maas-committers/maas-ci/+git/system-tests:master.
Commit message:
Don't launch a build_container for a snap run that doesn't use it
Fix annotations
Requested reviews:
MAAS Committers (maas-committers)
For more details, see:
https://code.launchpad.net/~adam-collard/maas-ci/+git/system-tests/+merge/436197
--
Your team MAAS Committers is requested to review the proposed merge of ~adam-collard/maas-ci/+git/system-tests:remove-unnecessary-fixtures into ~maas-committers/maas-ci/+git/system-tests:master.
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 @@
+from __future__ import annotations
+
import contextlib
import subprocess
import tempfile
from pathlib import Path
+from typing import TYPE_CHECKING
-from ..lxd import Instance
+if TYPE_CHECKING:
+ from ..lxd import Instance
def 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(
@pytest.fixture(scope="session")
-def build_container(config: dict[str, Any]) -> Iterator[Instance]:
+def build_container(config: dict[str, Any]) -> Optional[Iterator[Instance]]:
"""Create a container for building MAAS package in."""
+ if "snap" in config:
+ yield None
log = getLogger(f"{LOG_NAME}.build_container")
lxd = get_lxd(log)
container_name = os.environ.get(
@@ -69,10 +71,10 @@ def build_container(config: dict[str, Any]) -> Iterator[Instance]:
@pytest.fixture(scope="session")
def maas_deb_repo(
- build_container: Instance, config: dict[str, Any]
+ build_container: Optional[Instance], config: dict[str, Any]
) -> Iterator[Optional[str]]:
"""Build maas deb, and setup APT repo."""
- if "snap" in config:
+ if build_container is None:
yield None
else:
build_container.logger = getLogger(f"{LOG_NAME}.maas_deb_repo")
@@ -181,7 +183,9 @@ def get_user_data(
@pytest.fixture(scope="session")
-def maas_container(config: dict[str, Any], build_container: Instance) -> Instance:
+def maas_container(
+ config: dict[str, Any], build_container: Optional[Instance]
+) -> Instance:
"""Build a container for running MAAS in."""
lxd = get_lxd(getLogger(f"{LOG_NAME}.maas_container"))
profile_name = container_name = os.environ.get(
@@ -189,7 +193,7 @@ def maas_container(config: dict[str, Any], build_container: Instance) -> Instanc
)
instance = Instance(lxd, container_name)
# FIXME: loggers could be a stack?
- build_container.logger = instance.logger = lxd.logger
+ instance.logger = lxd.logger
if not instance.exists():
if not lxd.profile_exists(profile_name):
lxd.copy_profile(LXD_PROFILE, profile_name)
@@ -250,6 +254,8 @@ def maas_container(config: dict[str, Any], build_container: Instance) -> Instanc
)
if "snap" not in config:
+ assert build_container is not None
+ build_container.logger = instance.logger
build_container_ip = build_container.get_ip_address()
contents = dedent(
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 @@
+from __future__ import annotations
+
from ..machine_config import MachineConfig
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 @@
+from __future__ import annotations
+
from pathlib import Path
from textwrap import dedent
-from typing import Any
+from typing import TYPE_CHECKING, Any
-from .lxd import Instance
+if TYPE_CHECKING:
+ from .lxd import Instance
AGENT_PATH = "/opt/agent/agent-linux-amd64"
@@ -10,6 +13,7 @@ AGENT_PATH = "/opt/agent/agent-linux-amd64"
def setup_o11y(
o11y: dict[str, Any], maas_container: Instance, installed_from_snap: bool
) -> None:
+ """Runs telemetry in a systemd unit on the maas container."""
agent_on_container = maas_container.files[AGENT_PATH]
if not agent_on_container.exists():
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 @@
-from .lxd import Instance
+from __future__ import annotations
+
+from typing import TYPE_CHECKING
+
+if TYPE_CHECKING:
+ from .lxd import Instance
# Certs must be accessible for MAAS installed by snap, but
# 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 @@
+from __future__ import annotations
+
import json
import subprocess
import 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 @@
+"""Filter the available environments by the given list."""
+from __future__ import annotations
+
import argparse
import subprocess
import 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 @@
#!/usr/bin/env python3
+"""Generate specific system-test config from a base config and options."""
+
+from __future__ import annotations
import argparse
import pathlib
@@ -11,7 +14,6 @@ yaml = YAML()
def main(argv: list[str]) -> int:
-
parser = argparse.ArgumentParser()
parser.add_argument(
"base_config",
References