def add_hosts(prefix):
    api = prefix.virt_env.engine_vm().get_api()

    def _add_host(vm):
        p = params.Host(
            name=vm.name(),
            address=vm.name(),
            cluster=params.Cluster(
                name=CLUSTER_NAME,
            ),
            root_password=vm.root_password(),
            override_iptables=True,
        )

        return api.hosts.add(p)

    hosts = prefix.virt_env.host_vms()
    vec = utils.func_vector(_add_host, [(h,) for h in hosts])
    vt = utils.VectorThread(vec)
    vt.start_all()
    nt.assert_true(all(vt.join_all()))

    for host in hosts:
        testlib.assert_true_within_long(
            lambda: api.hosts.get(host.name()).status.state == 'up',
        )
示例#2
0
def _add_storage_domain(api, p):
    dc = api.datacenters.get(DC_NAME)
    sd = api.storagedomains.add(p)
    nt.assert_true(sd)
    nt.assert_true(
        api.datacenters.get(DC_NAME, ).storagedomains.add(
            api.storagedomains.get(sd.name, ), ))

    if dc.storagedomains.get(sd.name).status.state == 'maintenance':
        sd.activate()
        testlib.assert_true_within_long(
            lambda: dc.starage_domains.get(sd.name).status.state == 'active')
def add_vm_template(api):
    vm_params = params.VM(
        name=VM1_NAME,
        memory=4 * GB,
        cluster=params.Cluster(name=TEST_CLUSTER, ),
        template=params.Template(name=TEMPLATE_CENTOS7, ),
        display=params.Display(type_='spice', ),
    )
    api.vms.add(vm_params)
    testlib.assert_true_within_long(
        lambda: api.vms.get(VM1_NAME).status.state == 'down', )
    disk_name = api.vms.get(VM1_NAME).disks.list()[0].name
    testlib.assert_true_within_long(lambda: api.vms.get(VM1_NAME).disks.get(
        disk_name).status.state == 'ok')
def _add_storage_domain(api, p):
    dc = api.datacenters.get(DC_NAME)
    sd = api.storagedomains.add(p)
    nt.assert_true(sd)
    nt.assert_true(
        api.datacenters.get(
            DC_NAME,
        ).storagedomains.add(
            api.storagedomains.get(
                sd.name,
            ),
        )
    )

    if dc.storagedomains.get(sd.name).status.state == 'maintenance':
        sd.activate()
        testlib.assert_true_within_long(
            lambda: dc.starage_domains.get(sd.name).status.state == 'active'
        )
示例#5
0
def add_hosts(prefix):
    api = prefix.virt_env.engine_vm().get_api()

    def _add_host(vm):
        p = params.Host(
            name=vm.name(),
            address=vm.name(),
            cluster=params.Cluster(name=CLUSTER_NAME, ),
            root_password=vm.root_password(),
            override_iptables=True,
        )

        return api.hosts.add(p)

    hosts = prefix.virt_env.host_vms()
    vec = utils.func_vector(_add_host, [(h, ) for h in hosts])
    vt = utils.VectorThread(vec)
    vt.start_all()
    nt.assert_true(all(vt.join_all()))

    for host in hosts:
        testlib.assert_true_within_long(
            lambda: api.hosts.get(host.name()).status.state == 'up', )
def add_vm_template(api):
    vm_params = params.VM(
        name=VM1_NAME,
        memory=4 * GB,
        cluster=params.Cluster(
            name=TEST_CLUSTER,
        ),
        template=params.Template(
            name=TEMPLATE_CENTOS7,
        ),
        display=params.Display(
            type_='spice',
        ),
    )
    api.vms.add(vm_params)
    testlib.assert_true_within_long(
        lambda: api.vms.get(VM1_NAME).status.state == 'down',
    )
    disk_name = api.vms.get(VM1_NAME).disks.list()[0].name
    testlib.assert_true_within_long(
        lambda:
        api.vms.get(VM1_NAME).disks.get(disk_name).status.state == 'ok'
    )
def snapshot_live_merge(api):
    disk = api.vms.get(VM1_NAME).disks.list()[0]
    disk_id = disk.id
    disk_name = disk.name

    live_snap1_params = params.Snapshot(
        description='live_snap1',
        persist_memorystate=True,
        disks=params.Disks(disk=[
            params.Disk(id=disk_id, ),
        ], ),
    )
    api.vms.get(VM1_NAME).snapshots.add(live_snap1_params)
    testlib.assert_true_within(
        func=(lambda: api.vms.get(VM1_NAME).snapshots.list()[-1].
              snapshot_status == 'ok'),
        timeout=SHORT_TIMEOUT,
    )

    live_snap2_params = params.Snapshot(
        description='live_snap2',
        persist_memorystate=True,
        disks=params.Disks(disk=[
            params.Disk(id=disk_id, ),
        ], ),
    )
    api.vms.get(VM1_NAME).snapshots.add(live_snap2_params)
    for i, _ in enumerate(api.vms.get(VM1_NAME).snapshots.list()):
        testlib.assert_true_within(
            func=(lambda: (api.vms.get(VM1_NAME).snapshots.list()[i].
                           snapshot_status == 'ok')),
            timeout=SHORT_TIMEOUT,
        )

    api.vms.get(VM1_NAME).snapshots.list()[-2].delete()

    testlib.assert_true_within_long(
        lambda: len(api.vms.get(VM1_NAME).snapshots.list()) == 2, )

    for i, _ in enumerate(api.vms.get(VM1_NAME).snapshots.list()):
        testlib.assert_true_within_long(
            lambda: (api.vms.get(VM1_NAME).snapshots.list()[i].snapshot_status
                     == 'ok'), )
    testlib.assert_true_within_short(
        lambda: api.vms.get(VM1_NAME).status.state == 'up', )

    testlib.assert_true_within_long(
        lambda: api.vms.get(VM1_NAME).disks.get(disk_name).status.state ==
        'ok', )
def snapshot_live_merge(api):
    disk = api.vms.get(VM1_NAME).disks.list()[0]
    disk_id = disk.id
    disk_name = disk.name

    live_snap1_params = params.Snapshot(
        description='live_snap1',
        persist_memorystate=True,
        disks=params.Disks(
            disk=[
                params.Disk(
                    id=disk_id,
                ),
            ],
        ),
    )
    api.vms.get(VM1_NAME).snapshots.add(live_snap1_params)
    testlib.assert_true_within(
        func=(
            lambda:
                api.vms.get(VM1_NAME).snapshots.list()[-1].snapshot_status
                == 'ok'
        ),
        timeout=SHORT_TIMEOUT,
    )

    live_snap2_params = params.Snapshot(
        description='live_snap2',
        persist_memorystate=True,
        disks=params.Disks(
            disk=[
                params.Disk(
                    id=disk_id,
                ),
            ],
        ),
    )
    api.vms.get(VM1_NAME).snapshots.add(live_snap2_params)
    for i, _ in enumerate(api.vms.get(VM1_NAME).snapshots.list()):
        testlib.assert_true_within(
            func=(
                lambda:
                    (api.vms.get(VM1_NAME).snapshots.list()[i].snapshot_status
                     == 'ok')
            ),
            timeout=SHORT_TIMEOUT,
        )

    api.vms.get(VM1_NAME).snapshots.list()[-2].delete()

    testlib.assert_true_within_long(
        lambda: len(api.vms.get(VM1_NAME).snapshots.list()) == 2,
    )

    for i, _ in enumerate(api.vms.get(VM1_NAME).snapshots.list()):
        testlib.assert_true_within_long(
            lambda:
                (api.vms.get(VM1_NAME).snapshots.list()[i].snapshot_status
                 == 'ok'),
        )
    testlib.assert_true_within_short(
        lambda: api.vms.get(VM1_NAME).status.state == 'up',
    )

    testlib.assert_true_within_long(
        lambda:
            api.vms.get(VM1_NAME).disks.get(disk_name).status.state == 'ok',
    )