summaryrefslogtreecommitdiff
path: root/tests/integration_tests/bugs/test_gh570.py
blob: 534cfb9ae76a8f50c89828c2a7614930cfcbdeb3 (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
38
39
"""Integration test for #570.

Test that we can add optional vendor-data to the seedfrom file in a
NoCloud environment
"""

from tests.integration_tests.instances import IntegrationInstance
import pytest

VENDOR_DATA = """\
#cloud-config
runcmd:
  - touch /var/tmp/seeded_vendordata_test_file
"""


# Only running on LXD because we need NoCloud for this test
@pytest.mark.sru_2020_11
@pytest.mark.lxd_container
@pytest.mark.lxd_vm
def test_nocloud_seedfrom_vendordata(client: IntegrationInstance):
    seed_dir = '/var/tmp/test_seed_dir'
    result = client.execute(
        "mkdir {seed_dir} && "
        "touch {seed_dir}/user-data && "
        "touch {seed_dir}/meta-data && "
        "echo 'seedfrom: {seed_dir}/' > "
        "/var/lib/cloud/seed/nocloud-net/meta-data".format(seed_dir=seed_dir)
    )
    assert result.return_code == 0

    client.write_to_file(
        '{}/vendor-data'.format(seed_dir),
        VENDOR_DATA,
    )
    client.execute('cloud-init clean --logs')
    client.restart()
    assert client.execute('cloud-init status').ok
    assert 'seeded_vendordata_test_file' in client.execute('ls /var/tmp')