summaryrefslogtreecommitdiff
path: root/tests/integration_tests
diff options
context:
space:
mode:
authorJames Falcon <james.falcon@canonical.com>2022-01-10 16:56:29 -0600
committerGitHub <noreply@github.com>2022-01-10 15:56:29 -0700
commitdc1aabfca851e520693c05322f724bd102c76364 (patch)
tree05c7a0d293b9ddece5671fcdf6a38c59ce776ac8 /tests/integration_tests
parent57ccd89b6af7d3551915df56f548b7617dfcebf9 (diff)
downloadvyos-cloud-init-dc1aabfca851e520693c05322f724bd102c76364.tar.gz
vyos-cloud-init-dc1aabfca851e520693c05322f724bd102c76364.zip
Remove 3.5 and xenial support (SC-711) (#1167)
Includes: - Update tox.ini and .travis.yml accordingly - Cleanup tox.ini with new tox syntax and cloud-init dependencies - Update documentation accordingly - Replace/remove xenial references where additional testing isn't required - Remove xenial checks in integration tests - Replace yield_fixture with fixture in pytest tests Sections of code commented with lines like "Remove when Xenial is no longer supported" still exist as they're require additional testing.
Diffstat (limited to 'tests/integration_tests')
-rw-r--r--tests/integration_tests/bugs/test_gh626.py7
-rw-r--r--tests/integration_tests/bugs/test_lp1898997.py2
-rw-r--r--tests/integration_tests/conftest.py29
-rw-r--r--tests/integration_tests/datasources/test_lxd_discovery.py8
-rw-r--r--tests/integration_tests/modules/test_disk_setup.py5
-rw-r--r--tests/integration_tests/modules/test_lxd_bridge.py2
-rw-r--r--tests/integration_tests/modules/test_users_groups.py1
7 files changed, 8 insertions, 46 deletions
diff --git a/tests/integration_tests/bugs/test_gh626.py b/tests/integration_tests/bugs/test_gh626.py
index 7c720143..b80b677a 100644
--- a/tests/integration_tests/bugs/test_gh626.py
+++ b/tests/integration_tests/bugs/test_gh626.py
@@ -8,7 +8,6 @@ import pytest
import yaml
from tests.integration_tests import random_mac_address
-from tests.integration_tests.clouds import ImageSpecification
from tests.integration_tests.instances import IntegrationInstance
MAC_ADDRESS = random_mac_address()
@@ -29,7 +28,6 @@ iface eth0 inet dhcp
ethernet-wol g"""
-@pytest.mark.sru_2020_11
@pytest.mark.lxd_container
@pytest.mark.lxd_vm
@pytest.mark.lxd_config_dict(
@@ -39,11 +37,6 @@ iface eth0 inet dhcp
}
)
def test_wakeonlan(client: IntegrationInstance):
- if ImageSpecification.from_os_image().release == "xenial":
- eni = client.execute("cat /etc/network/interfaces.d/50-cloud-init.cfg")
- assert eni.endswith(EXPECTED_ENI_END)
- return
-
netplan_cfg = client.execute("cat /etc/netplan/50-cloud-init.yaml")
netplan_yaml = yaml.safe_load(netplan_cfg)
assert "wakeonlan" in netplan_yaml["network"]["ethernets"]["eth0"]
diff --git a/tests/integration_tests/bugs/test_lp1898997.py b/tests/integration_tests/bugs/test_lp1898997.py
index 115bd34f..d8ea54c3 100644
--- a/tests/integration_tests/bugs/test_lp1898997.py
+++ b/tests/integration_tests/bugs/test_lp1898997.py
@@ -47,8 +47,6 @@ version: 2
@pytest.mark.lxd_vm
@pytest.mark.lxd_use_exec
@pytest.mark.not_bionic
-@pytest.mark.not_xenial
-@pytest.mark.sru_2020_11
@pytest.mark.ubuntu
class TestInterfaceListingWithOpenvSwitch:
def test_ovs_member_interfaces_not_excluded(self, client):
diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py
index b14b6ad0..2e44ef29 100644
--- a/tests/integration_tests/conftest.py
+++ b/tests/integration_tests/conftest.py
@@ -45,17 +45,6 @@ os_list = ["ubuntu"]
session_start_time = datetime.datetime.now().strftime("%y%m%d%H%M%S")
-XENIAL_LXD_VM_EXEC_MSG = """\
-The default xenial images do not support `exec` for LXD VMs.
-
-Specify an image known to work using:
-
- OS_IMAGE=<image id>::ubuntu::xenial
-
-You can re-run specifically tests that require this by passing `-m
-lxd_use_exec` to pytest.
-"""
-
def pytest_runtest_setup(item):
"""Skip tests on unsupported clouds.
@@ -101,7 +90,7 @@ def disable_subp_usage(request):
pass
-@pytest.yield_fixture(scope="session")
+@pytest.fixture(scope="session")
def session_cloud():
if integration_settings.PLATFORM not in platforms.keys():
raise ValueError(
@@ -246,16 +235,6 @@ def _client(request, fixture_utils, session_cloud: IntegrationCloud):
if lxd_use_exec is not None:
if not isinstance(session_cloud, _LxdIntegrationCloud):
pytest.skip("lxd_use_exec requires LXD")
- if isinstance(session_cloud, LxdVmCloud):
- image_spec = ImageSpecification.from_os_image()
- if image_spec.release == image_spec.image_id == "xenial":
- # Why fail instead of skip? We expect that skipped tests will
- # be run in a different one of our usual battery of test runs
- # (e.g. LXD-only tests are skipped on EC2 but will run in our
- # normal LXD test runs). This is not true of this test: it
- # can't run in our usual xenial LXD VM test run, and it may not
- # run anywhere else. A failure flags up this discrepancy.
- pytest.fail(XENIAL_LXD_VM_EXEC_MSG)
launch_kwargs["execute_via_ssh"] = False
local_launch_kwargs = {}
if lxd_setup is not None:
@@ -276,21 +255,21 @@ def _client(request, fixture_utils, session_cloud: IntegrationCloud):
_collect_logs(instance, request.node.nodeid, test_failed)
-@pytest.yield_fixture
+@pytest.fixture
def client(request, fixture_utils, session_cloud, setup_image):
"""Provide a client that runs for every test."""
with _client(request, fixture_utils, session_cloud) as client:
yield client
-@pytest.yield_fixture(scope="module")
+@pytest.fixture(scope="module")
def module_client(request, fixture_utils, session_cloud, setup_image):
"""Provide a client that runs once per module."""
with _client(request, fixture_utils, session_cloud) as client:
yield client
-@pytest.yield_fixture(scope="class")
+@pytest.fixture(scope="class")
def class_client(request, fixture_utils, session_cloud, setup_image):
"""Provide a client that runs once per class."""
with _client(request, fixture_utils, session_cloud) as client:
diff --git a/tests/integration_tests/datasources/test_lxd_discovery.py b/tests/integration_tests/datasources/test_lxd_discovery.py
index da010813..eb2a4cf2 100644
--- a/tests/integration_tests/datasources/test_lxd_discovery.py
+++ b/tests/integration_tests/datasources/test_lxd_discovery.py
@@ -59,13 +59,9 @@ def test_lxd_datasource_discovery(client: IntegrationInstance):
)
if (
client.settings.PLATFORM == "lxd_vm"
- and ImageSpecification.from_os_image().release
- in (
- "xenial",
- "bionic",
- )
+ and ImageSpecification.from_os_image().release == "bionic"
):
- # pycloudlib injects user.vendor_data for lxd_vm on bionic and xenial
+ # pycloudlib injects user.vendor_data for lxd_vm on bionic
# to start the lxd-agent.
# https://github.com/canonical/pycloudlib/blob/main/pycloudlib/\
# lxd/defaults.py#L13-L27
diff --git a/tests/integration_tests/modules/test_disk_setup.py b/tests/integration_tests/modules/test_disk_setup.py
index 22277331..8f9d5f40 100644
--- a/tests/integration_tests/modules/test_disk_setup.py
+++ b/tests/integration_tests/modules/test_disk_setup.py
@@ -20,7 +20,7 @@ def setup_and_mount_lxd_disk(instance: LXDInstance):
)
-@pytest.yield_fixture
+@pytest.fixture
def create_disk():
# 640k should be enough for anybody
subp("dd if=/dev/zero of={} bs=1k count=640".format(DISK_PATH).split())
@@ -133,10 +133,9 @@ class TestPartProbeAvailability:
assert sdb["children"][1]["name"] == "sdb2"
assert sdb["children"][1]["mountpoint"] == "/mnt2"
- # Not bionic or xenial because the LXD agent gets in the way of us
+ # Not bionic because the LXD agent gets in the way of us
# changing the userdata
@pytest.mark.not_bionic
- @pytest.mark.not_xenial
def test_disk_setup_when_mounted(
self, create_disk, client: IntegrationInstance
):
diff --git a/tests/integration_tests/modules/test_lxd_bridge.py b/tests/integration_tests/modules/test_lxd_bridge.py
index 2cb3f4f3..3292a833 100644
--- a/tests/integration_tests/modules/test_lxd_bridge.py
+++ b/tests/integration_tests/modules/test_lxd_bridge.py
@@ -33,8 +33,6 @@ class TestLxdBridge:
"""Check that the expected LXD binaries are installed"""
assert class_client.execute(["which", binary_name]).ok
- @pytest.mark.not_xenial
- @pytest.mark.sru_2020_11
def test_bridge(self, class_client):
"""Check that the given bridge is configured"""
cloud_init_log = class_client.read_from_file("/var/log/cloud-init.log")
diff --git a/tests/integration_tests/modules/test_users_groups.py b/tests/integration_tests/modules/test_users_groups.py
index 3d1358ce..fddff681 100644
--- a/tests/integration_tests/modules/test_users_groups.py
+++ b/tests/integration_tests/modules/test_users_groups.py
@@ -106,7 +106,6 @@ def test_sudoers_includedir(client: IntegrationInstance):
https://github.com/canonical/cloud-init/pull/783
"""
if ImageSpecification.from_os_image().release in [
- "xenial",
"bionic",
"focal",
]: