summaryrefslogtreecommitdiff
path: root/tests/integration_tests/bugs/test_gh668.py
blob: a3a0c3743edc7ecafb1b78175cb30471d8532278 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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)