diff options
author | Daniel Watkins <oddbloke@ubuntu.com> | 2021-02-05 17:11:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-05 17:11:14 -0500 |
commit | 3a0a5894d112d667f313d7fb3ab0850a39bc3020 (patch) | |
tree | a5e30febbffbe7a11ef7e1be08ad167dcd7e4df0 | |
parent | 3cebe0df1e002bd85c8aa78e89f0ca507c17195a (diff) | |
download | vyos-cloud-init-3a0a5894d112d667f313d7fb3ab0850a39bc3020.tar.gz vyos-cloud-init-3a0a5894d112d667f313d7fb3ab0850a39bc3020.zip |
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.
-rw-r--r-- | tests/integration_tests/bugs/test_gh668.py | 6 |
1 files changed, 5 insertions, 1 deletions
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)) |