"""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 import random_mac_address from tests.integration_tests.instances import IntegrationInstance DESTINATION_IP = "172.16.0.10" GATEWAY_IP = "10.0.0.100" MAC_ADDRESS = random_mac_address() NETWORK_CONFIG = """\ version: 2 ethernets: eth0: addresses: [10.0.0.10/8] dhcp4: false routes: - to: {}/32 via: {} match: macaddress: {} """.format(DESTINATION_IP, GATEWAY_IP, MAC_ADDRESS) 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, "volatile.eth0.hwaddr": MAC_ADDRESS, }) @pytest.mark.lxd_use_exec def test_static_route_to_host(client: IntegrationInstance): route = client.execute("ip route | grep {}".format(DESTINATION_IP)) assert route.startswith(EXPECTED_ROUTE)