From 3a0a5894d112d667f313d7fb3ab0850a39bc3020 Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Fri, 5 Feb 2021 17:11:14 -0500 Subject: test_gh668: fix failure on LXD VMs (#801) In LXD containers, the default interface is named eth0. In VMs, it isn't; it's renamed by systemd (likely to enp5s0, but we can't rely on that). This means that, on VMs, the network configuration we specify for "eth0" doesn't match an interface in the system and so is not applied. This modifies the test to set a MAC address in a match clause in the network configuration and on the eth0 interface (which is the LXD name in both containers and VMs pre-rename): this ensures that the specified configuration applies in both cases. --- tests/integration_tests/bugs/test_gh668.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/integration_tests/bugs/test_gh668.py b/tests/integration_tests/bugs/test_gh668.py index a3a0c374..66ee302e 100644 --- a/tests/integration_tests/bugs/test_gh668.py +++ b/tests/integration_tests/bugs/test_gh668.py @@ -12,6 +12,7 @@ from tests.integration_tests.instances import IntegrationInstance DESTINATION_IP = "172.16.0.10" GATEWAY_IP = "10.0.0.100" +MAC_ADDRESS = "de:ad:be:ef:12:34" NETWORK_CONFIG = """\ version: 2 @@ -22,7 +23,9 @@ ethernets: routes: - to: {}/32 via: {} -""".format(DESTINATION_IP, GATEWAY_IP) + match: + macaddress: {} +""".format(DESTINATION_IP, GATEWAY_IP, MAC_ADDRESS) EXPECTED_ROUTE = "{} via {}".format(DESTINATION_IP, GATEWAY_IP) @@ -31,6 +34,7 @@ EXPECTED_ROUTE = "{} via {}".format(DESTINATION_IP, GATEWAY_IP) @pytest.mark.lxd_vm @pytest.mark.lxd_config_dict({ "user.network-config": NETWORK_CONFIG, + "volatile.eth0.hwaddr": MAC_ADDRESS, }) def test_static_route_to_host(client: IntegrationInstance): route = client.execute("ip route | grep {}".format(DESTINATION_IP)) -- cgit v1.2.3