summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Watkins <oddbloke@ubuntu.com>2021-02-05 17:11:14 -0500
committerGitHub <noreply@github.com>2021-02-05 17:11:14 -0500
commit3a0a5894d112d667f313d7fb3ab0850a39bc3020 (patch)
treea5e30febbffbe7a11ef7e1be08ad167dcd7e4df0
parent3cebe0df1e002bd85c8aa78e89f0ca507c17195a (diff)
downloadcloud-init-git-3a0a5894d112d667f313d7fb3ab0850a39bc3020.tar.gz
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.py6
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))