Пример #1
0
def add_virtual_router(deployConfig, session_uuid, l3_name = None, \
        zone_name = None):

    if not xmlobject.has_element(deployConfig, 'instanceOfferings.virtualRouterOffering'):
        return

    for i in xmlobject.safe_list(deployConfig.instanceOfferings.virtualRouterOffering):
        if l3_name and l3_name != i.managementL3NetworkRef.text_:
            continue 

        if zone_name and zone_name != i.zoneRef.text_:
            continue 

        print "continue l3_name: %s; zone_name: %s" % (l3_name, zone_name)
        action = api_actions.CreateVirtualRouterOfferingAction()
        action.sessionUuid = session_uuid
        action.name = i.name_
        action.description = i.description__
        action.cpuNum = i.cpuNum_
        action.cpuSpeed = i.cpuSpeed_
        if i.memorySize__:
            action.memorySize = sizeunit.get_size(i.memorySize_)
        elif i.memoryCapacity_:
            action.memorySize = sizeunit.get_size(i.memoryCapacity_)

        action.isDefault = i.isDefault__
        action.type = 'VirtualRouter'

        zinvs = res_ops.get_resource(res_ops.ZONE, session_uuid, name=i.zoneRef.text_)
        zinv = get_first_item_from_list(zinvs, 'zone', i.zoneRef.text_, 'virtual router offering')
        action.zoneUuid = zinv.uuid
        cond = res_ops.gen_query_conditions('zoneUuid', '=', zinv.uuid)
        cond1 = res_ops.gen_query_conditions('name', '=', \
                i.managementL3NetworkRef.text_, cond)
        minvs = res_ops.query_resource(res_ops.L3_NETWORK, cond1, \
                session_uuid)

        minv = get_first_item_from_list(minvs, 'Management L3 Network', i.managementL3NetworkRef.text_, 'virtualRouterOffering')

        action.managementNetworkUuid = minv.uuid
        if xmlobject.has_element(i, 'publicL3NetworkRef'):
            cond1 = res_ops.gen_query_conditions('name', '=', \
                    i.publicL3NetworkRef.text_, cond)
            pinvs = res_ops.query_resource(res_ops.L3_NETWORK, cond1, \
                    session_uuid)
            pinv = get_first_item_from_list(pinvs, 'Public L3 Network', i.publicL3NetworkRef.text_, 'virtualRouterOffering')

            action.publicNetworkUuid = pinv.uuid

        iinvs = res_ops.get_resource(res_ops.IMAGE, session_uuid, \
                name=i.imageRef.text_)
        iinv = get_first_item_from_list(iinvs, 'Image', i.imageRef.text_, 'virtualRouterOffering')

        action.imageUuid = iinv.uuid

        thread = threading.Thread(target = _thread_for_action, args = (action, ))
        wait_for_thread_queue()
        thread.start()

    wait_for_thread_done()
Пример #2
0
def create_virtual_router_offering(name,
                                   cpuNum,
                                   memorySize,
                                   imageUuid,
                                   zoneUuid,
                                   managementNetworkUuid,
                                   publicNetworkUuid=None,
                                   description=None,
                                   allocatorStrategy=None,
                                   offeringType=None,
                                   session_uuid=None):
    action = api_actions.CreateVirtualRouterOfferingAction()
    action.name = name
    action.cpuNum = cpuNum
    action.memorySize = memorySize
    action.imageUuid = imageUuid
    action.zoneUuid = zoneUuid
    action.managementNetworkUuid = managementNetworkUuid
    if publicNetworkUuid != None:
        action.publicNetworkUuid = publicNetworkUuid
    else:
        action.publicNetworkUuid = managementNetworkUuid
    if description != None:
        action.description = description
    if allocatorStrategy != None:
        action.allocatorStrategy = allocatorStrategy
    if offeringType != None:
        action.type = offeringType
    action.timeout = 12000
    test_util.action_logger('create virtual router offering: name: %s cpuNum: %s, memorySize: %s,\
             publicNetworkUuid: %s, managementNetworkUuid: %s, imageUuid: %s '\
            % (action.name, action.cpuNum, action.memorySize,\
             action.publicNetworkUuid, action.managementNetworkUuid, action.imageUuid))
    evt = acc_ops.execute_action_with_session(action, session_uuid)
    test_util.test_logger('Virtual Router Offering: %s is created' %
                          evt.inventory.uuid)
    return evt.inventory