diff options
author | Pavel Abalikhin <anpavl@gmail.com> | 2021-01-14 01:19:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-13 16:19:17 -0600 |
commit | 9a258eebd96aa5ad4486dba1fe86bea5bcf00c2f (patch) | |
tree | 1fa550ce104f5b3b9ad26956a99d14b24a9d9974 /tests/integration_tests | |
parent | 162fb8393555cb14238a352918654a0bbc1030e7 (diff) | |
download | vyos-cloud-init-9a258eebd96aa5ad4486dba1fe86bea5bcf00c2f.tar.gz vyos-cloud-init-9a258eebd96aa5ad4486dba1fe86bea5bcf00c2f.zip |
net: Fix static routes to host in eni renderer (#668)
Route '-net' parameter is incompatible with /32 IPv4 addresses so we
have to use '-host' in that case.
Diffstat (limited to 'tests/integration_tests')
-rw-r--r-- | tests/integration_tests/bugs/test_gh668.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/integration_tests/bugs/test_gh668.py b/tests/integration_tests/bugs/test_gh668.py new file mode 100644 index 00000000..a3a0c374 --- /dev/null +++ b/tests/integration_tests/bugs/test_gh668.py @@ -0,0 +1,37 @@ +"""Integration test for gh-668. + +Ensure that static route to host is working correctly. +The original problem is specific to the ENI renderer but that test is suitable +for all network configuration outputs. +""" + +import pytest + +from tests.integration_tests.instances import IntegrationInstance + + +DESTINATION_IP = "172.16.0.10" +GATEWAY_IP = "10.0.0.100" + +NETWORK_CONFIG = """\ +version: 2 +ethernets: + eth0: + addresses: [10.0.0.10/8] + dhcp4: false + routes: + - to: {}/32 + via: {} +""".format(DESTINATION_IP, GATEWAY_IP) + +EXPECTED_ROUTE = "{} via {}".format(DESTINATION_IP, GATEWAY_IP) + + +@pytest.mark.lxd_container +@pytest.mark.lxd_vm +@pytest.mark.lxd_config_dict({ + "user.network-config": NETWORK_CONFIG, +}) +def test_static_route_to_host(client: IntegrationInstance): + route = client.execute("ip route | grep {}".format(DESTINATION_IP)) + assert route.startswith(EXPECTED_ROUTE) |