From f9f4145164acce2b27a899274d50323748eaf4f9 Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Fri, 5 Feb 2021 15:25:02 -0500 Subject: [PATCH] test_gh668: fix failure on LXD VMs 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 a3a0c3743ed..66ee302e735 100644 --- a/tests/integration_tests/bugs/test_gh668.py +++ b/tests/integration_tests/bugs/test_gh668.py @@ -12,6 +12,7 @@ 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 @@ 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 @@ @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))