Exemple #1
0
def perform_exec_delete(machine_result:MachineResult) -> None:
    "delete machine runtime environment: folders and mounts"
    for command in machine_result.resource_delete_list():
        SUDO.execute_unit_sert(command)
Exemple #2
0
def test_machine_result():
    print()

    machine_name = f"a-nspawn-tester-{build_stamp}"
    machine_template = CONFIG['machine']['template']
    machine_meta = MachineMeta(machine_name, machine_template)
    machine_result = machine_result_from_url(booter_url, machine_meta)
    print(machine_result)

    machine_directory = machine_result.machine_directory()

    resource_create_list = machine_result.resource_create_list()
    resource_delete_list = machine_result.resource_delete_list()

    cmd_report = f"ls -las  {machine_directory}".split()
    cmd_ensure = f"mkdir -p {machine_directory}".split()
    cmd_desure = f"rm -rf   {machine_directory}".split()

    systemd_nspawn = system_command('systemd-nspawn')

    machine_command = [
        systemd_nspawn,
        f'--quiet',
        f'--machine={machine_name}',
        f'--directory={machine_directory}',
        f'/usr/bin/env',
    ]

    try:
        print(f"invoke: {cmd_ensure}")
        SUDO.execute_unit_sert(cmd_ensure)
        result = SUDO.execute_unit_sert(cmd_report)
        print(result.stdout)
        for command in resource_create_list:
            print(f"invoke: {command}")
            SUDO.execute_unit_sert(command)
        print(f"invoke: {cmd_report}")
        result = SUDO.execute_unit_sert(cmd_report)
        print(result.stdout)
        print(f"invoke: {machine_command}")
        result = SUDO.execute_unit_sert(machine_command)
        print(result.stdout)
    finally:
        for command in resource_delete_list:
            print(f"invoke: {command}")
            print(command)
            SUDO.execute_unit_sert(command)
        SUDO.execute_unit_sert(cmd_desure)