コード例 #1
0
ファイル: vnfm.py プロジェクト: DevOpsTCS/DevOps
def delete_vnf():
    """Deletes the NFV Instances
       :param stack_name: String representing the name of VNF Package
       :param stack_id: String representing the id of heat-stack
           created with VNF Package
       :returns: The status of
    """
    stack_name = request.form.get('stack_name')
    stack_id = request.form.get('stack_id')
    # sending request to heat service to show heat stack details
    #     for given stack id
    stack_status = stack_name, stack_id
    url1 = get_catalogue_update_url()
    params = {'stack_id': stack_id,
              'status': stack_status}
    datagen, headers1 = poster.encode.multipart_encode(params)
    request1 = urllib2.Request(url1, datagen, headers1)
    urllib2.urlopen(request1).read()
    stack_status1 = stack_status
    while (stack_status1 == 'DELETE_IN_PROGRESS'):
        time.sleep(2)
        stack_status1 = stack_name, stack_id
    # Sending request to catatlogue to Update NFV instance status
    url2 = get_catalogue_update_url()
    params = {'stack_id': stack_id,
              'status': stack_status1}
    datagen, headers3 = poster.encode.multipart_encode(params)
    request3 = urllib2.Request(url2, datagen, headers3)
    response3 = urllib2.urlopen(request3).read()
    return response3
コード例 #2
0
ファイル: vnfm.py プロジェクト: DevOpsTCS/DevOps
def launch_vnf():
    """Launches the NFV Instances
       :param vnfd: file representing VNF Package
       :param image: String representing the Glance image-id
       :param count: Integer value given to set of NFV Instances launched with
                     a particular NSD
       :returns: The status of NSD
    """
    vnfd = request.files["vnfd"]
    image = request.form.get('image_id')
    count = request.form.get('count')
    vnf_name_version = request.form.get('vnf_name_version')
    heat_template = vnfd.read()
    stack_name1 = vnf_name_version + '_' + count
    # Sending request to Heat service for creating the  heat stack
    stack_id1 = stack_create(stack_name1, heat_template, image)
    # Sending request to catalogue to update the NFV instance
    # details in database
    url = get_catalogue_insert_url()
    register_openers()
    params = {'stack_id': stack_id1,
              'vnf_name_version': vnf_name_version,
              'stack_name': stack_name1}
    datagen, headers1 = poster.encode.multipart_encode(params)
    request2 = urllib2.Request(url, datagen, headers1)
    urllib2.urlopen(request2).read()
    # sending request to heat service to show heat stack details for
    #     given stack id
    stack_status = stack_show(stack_name1, stack_id1)
    # Sending request to catalogue to Update NFV instance status
    # stack_update = catalogue_db_update(stack_id1, stack_status)
    url3 = get_catalogue_update_url()
    params = {'stack_id': stack_id1,
              'status': stack_status}
    datagen, headers = poster.encode.multipart_encode(params)
    request3 = urllib2.Request(url3, datagen, headers)
    response3 = urllib2.urlopen(request3).read()
    return response3