Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • see NsInstance from ETSI GS NFV-SOL 005 v2.7.1

Design

VFC design 

  • get nsdId, nsName and nsDescription parameter
  • get a ns package by the given nsdId from ETSI Catalog Manager
  • check if ns instance exists from the NFVO_NSINST database table
    • if it exists, log it exists
  • create an ns instance id (uuid) and store it with other nsd info, status (NOT_INSTANTIATED) to NFVO_NSINST database table
  • create an ns instance record (service-instance-id, service-instance-name, service-type, service-role) in AAI
  • return 201 Created with the NsInstance
  • Send NsIdentifierCreationNotification

Proposal

TBD

Instantiate NS

Request

InstantiateRequest

...

NsLcmOperationOccurrenceNotification (Start/Processing/Completed)


Design

VFC Design

  • Get an ns instance id from the parameter
  • create a job for the ns instance id
  • create an occ id for the ns instance id
  • Update the ns instance id row of the NFVO_NSINST database table for status (= INSTANTIATING)
  • get a ns instance data from the NFVO_NSINST for the ns instance id
  • get and store additional Parameters for NS
  • get an VIM id from the cloud owner and cloud region parameters
  • get an VNF VIM from he location constraints
  • set the job status with 'Start Query NSD'
  • get and parse a nsd for the ns package id
  • modify nsd state
  • get VNF list from the nsd 
  • for each VNF,
    • get vnfd_id, vnfm_type, vimId, s_vimId (with "cloud_owner"_"cloud_regionid")
    • select VNFM by leveraging AAI ESR
    • store VNF pararms in collection, with vnf info including vnfmInstanceId
  • set vl vim id
    • for each VNF
      • if VNF has dependencies, for each dependency
        • add VNF properties and id into vl_vnf array
    • for each VLs
      • get vnfdId and vimId
      • add vimId into VL array
  • update NFVO_NSINST with the nsd model
  • get PNF parameters
  • get VNF parameters (from VNF params above)
  • set up Plan Input with job_id, ns_inst_id, tosca plan, additional NS params, VNF params, PNF params)
  • start workflows with the job_id, ns_inst, plan_input, occ_id)
    • get service template id from ETSI Catalog Manager
    • get process id from ETSI Catalog Manager
    • workflow run with data (process id, params = plan input)


      • createVL
      • createVNF
      • createSFC (Service Function Chain)

Proposal

TBD

Terminate / Delete NS

The following diagram depicts the Terminate / Delete NS.

...

NsLcmOperationOccurrenceNotification (Start/Processing/Completed)


Design

VFC Design

  • Get an ns_inst_d, job_id and request_data from the parameters
  • if there no matching ns_inst_id from the NFVO_NSINT database table, consider there is nothing to terminate, and return
  • set job status as "Starting terminate..."
  • update the ns_inst_id row from the NFVO_NSINST database table with the status = TERMINATING
  • cancel SFC list
    • get sfc inst array
    • for each sfc inst
      • DELETE /api/nslcm/v1/ns/sfcs/{instId}
  • cancel VNF list
    • get vnf inst list array from NFVO_NFINST
      • for each vnf inst
        • delete_vnf (nf_instid)
          • POST /api/nslcm/v1/ns/terminateVnf/{instId}
  • cancel VL list
    • get VL Inst array
    • for each VL inst
      • DELETE /api/nslcm/v1/ns/vls/{instId}
  • cancel PNF list
    • get pnf inst array
    • for each pnf inst 
      • DELETE /api/nslcm/v1/pnfs/{instId}
  • modify the ns_inst_id row state from the NFVO_NSINST database table
  • modify NFVO_NSINST status = NOT_INSTANTIATED
  • set job status = NS terminate ends
  • Update NsLcmOpOCC to COMPLETED
  • Send nsLcmOperationOccurrenceNotification

Proposal

TBD

Delete NS



Request

  • No; just parameter nsInstanceId

...

  • Send NsIdentifierDeletionNotification


Design

VFC_Design

  • get ns_inst_id
  • delete ns instance in AAI
    • get ns_instances from NFVO_NSINST database table
    • invoke delete_ns_aai with global_customer_id, service_type, ns_inst_id, resource_version
      • formulate the resource url with parameters
      • call_aaI (resource, "DELETE")
  • delete ns_inst_id row from the NFVO_NSINST database table
  • delete ns_inst_id row from the NFVO_INPutParamMapping database table
  • delete ns_inst_id row from the DefPkgMapping database table
  • delete ns_inst_id row from the ServiceBaseInfo database table
  • return 204 No Content
  • Send NsIdentifierDeletionNotification

Proposal

TBD