Example #1
0
def resize_server(auth_id, novaUrl, server, new_flavor):
    print 'Resize {0} to flavor {1}'.format(server['name'], new_flavor)
    actionProps = {
                   "resize": {"flavorRef": new_flavor}
                   }
    novaUtils.createServerAction(novaUrl, auth_id,
                                                 server['id'], actionProps)
Example #2
0
def live_migrate(auth_id, novaUrl, server, host):
    actionProps = {
        "os-migrateLive": {
            "host": host,
            "block_migration": False,
            "disk_over_commit": False
        }
    }
    novaUtils.createServerAction(novaUrl, auth_id, server['id'], actionProps)
def capture_servers_sub(authTokenId,
                        novaUrl,
                        glanceUrl,
                        curr_stopped_servers,
                        cap_name_prefix,
                        timeout=TIMEOUT,
                        sleep_interval=SLEEP_INTERVAL):
    print('Capturing VM...')
    image_list = []
    for server in curr_stopped_servers:
        if isinstance(server, svt_tester_base.VmTuple):
            server = {'id': server.id, 'name': server.name}
        cap_vsname = cap_name_prefix + server['name']
        print 'Cap VS Name=', cap_vsname
        actionProps = {'createImage': {'name': cap_vsname, 'metadata': {}}}
        try:
            print 'Capturing server=', server['name'], server['id']
            createServerActionResponse, \
            createServerActionResponseBodyJSON = \
            novaUtils.createServerAction(novaUrl, authTokenId,
                                         server['id'], actionProps)
        except HttpError, e:
            print 'HTTP Error: {0}'.format(e.body)
            continue
        image_id = ''
        for header, value in createServerActionResponse.getheaders():
            if header == 'location':
                image_id = value.split('/')
                image_id = image_id[-1]

        print 'Captured image id = %s for server %s' % \
            (image_id, server['name'])
        image_list.append({'image_id': image_id, 'server': server})
Example #4
0
def migrate_server_1(auth_id, novaUrl, server_dict, host):
    actionProp = {
                    'migrate': {"host": host }
                    }
    responseTuple = novaUtils.createServerAction(novaUrl, auth_id,
                                                 server_dict['id'],
                                                 actionProp)
Example #5
0
def resize_server_new(auth_id, novaUrl, name, id, vcpu, ram, proc_units, disk):

    actionProps = {
        "resize": {
            "flavor": {
                "vcpus": vcpu,
                "ram": ram,
                "extra_specs": {
                    "powervm:proc_units": proc_units
                },
                "disk": disk
            }
        }
    }
    print("printing action props")
    print(actionProps)
    novaUtils.createServerAction(novaUrl, auth_id, id, actionProps)
Example #6
0
def migrate_server(auth_id, novaUrl, server_dict):
    actionProp = {
                    'migrate': None
                    }
    responseTuple = novaUtils.createServerAction(novaUrl, auth_id,
                                                 server_dict['id'],
                                                 actionProp)
    print "response=", responseTuple[0]
    return responseTuple
Example #7
0
def finish_onboard(authid, novaUrl, serverid, os_distro, vm_boot_vol_ids_list,
                   endianness):

    print("\n Entering the Utils.finish_onboard method....")
    print(" ]n os_distro is : ", os_distro)
    print(" \n vm_boot_vol_ids_list is : ", vm_boot_vol_ids_list)
    print(" \n endianness is : ", endianness)

    actionProp = {
        "finishOnboard": {
            "os_distro": os_distro,
            "boot_volume_ids": vm_boot_vol_ids_list,
            "endianness": endianness
        }
    }

    responseTuple = novaUtils.createServerAction(novaUrl, authid, serverid,
                                                 actionProp)
    print("response=", responseTuple[0])
    return responseTuple
Example #8
0
def send_stop_server_request(authTokenId, novaUrl, server):
    actionProps = {'os-stop': None}
    response, body = novaUtils.createServerAction(novaUrl, authTokenId,
                                                  server['id'], actionProps)
Example #9
0
def force_delete_server(auth_id, novaUrl, server):
    actionProp = {"forceDelete": None}
    novaUtils.createServerAction(novaUrl, auth_id, server['id'], actionProp)
Example #10
0
def capture_servers_sub(authTokenId,
                        novaUrl,
                        glanceUrl,
                        curr_stopped_servers,
                        cap_name_prefix,
                        timeout=TIMEOUT,
                        sleep_interval=SLEEP_INTERVAL):
    print('Capturing VM...')
    image_list = []
    for server in curr_stopped_servers:
        if isinstance(server, svt_tester_base.VmTuple):
            server = {'id': server.id, 'name': server.name}
        cap_vsname = cap_name_prefix + server['name']
        print('Cap VS Name=', cap_vsname)
        actionProps = {'createImage': {'name': cap_vsname, 'metadata': {}}}
        try:
            print('Capturing server=', server['name'], server['id'])
            createServerActionResponse, \
            createServerActionResponseBodyJSON = \
            novaUtils.createServerAction(novaUrl, authTokenId,
                                         server['id'], actionProps)
        except HttpError as e:
            print('HTTP Error: {0}'.format(e.body))
            continue
        image_id = ''
        for header, value in createServerActionResponse.getheaders():
            if header == 'location':
                image_id = value.split('/')
                image_id = image_id[-1]

        print('Captured image id = %s for server %s' % \
            (image_id, server['name']))
        image_list.append({'image_id': image_id, 'server': server})

    print('Getting Image state...')
    runtime = 0
    capture_list = []
    capture_list.extend(image_list)
    completed_list = []
    sys.stdout.write('Checking for active state for %d images ' % \
                     len(image_list))
    sys.stdout.flush()
    while runtime <= timeout and capture_list:
        success_list = []
        failed_list = []
        sys.stdout.write('.')
        sys.stdout.flush()
        for image in capture_list:
            try:
                showImageResponse, showImageResponseBodyJSON = \
                    glanceUtils.showImage(glanceUrl, authTokenId,
                                          image['image_id'])
            except HttpError as e:
                print('HTTP Error: {0}'.format(e.body))
                os._exit(1)
            imageState = showImageResponseBodyJSON['status']
            if imageState == 'active':
                success_list.append(image)
            elif imageState == 'error':
                failed_list.append(image)
        for image in failed_list:
            capture_list.remove(image)
        for image in success_list:
            capture_list.remove(image)
            completed_list.append(image)
        if capture_list:
            time.sleep(SLEEP_INTERVAL)
            runtime = runtime + SLEEP_INTERVAL

    print('')

    if runtime > timeout:
        print('ERROR: All Image captures did not' + \
            ' complete within expected timeframe.')
        print('%d of %d Captures completed.' %
              (len(completed_list), len(image_list)))
    print('')
    return completed_list