SO-ETSI-VNFM Adapter for Dublin Presentation slide deck at ONAP Paris 2019
...
- Vendor SVNFM must be "SOL003-compliant"
- Providing SOL003 APIs for VNFM LCM, based on ETSI VNFLifecycleManagement
- Use https://forge.etsi.org/gitlab/nfv/SOL002-SOL003/2.5.1/master/src/SOL003/VNFLifecycleManagement swagger for providing services
- Create
- Instantiate
- Query
- Grant request to SO VNFM Adapter, as a client
- Life cycle notification
- Registration itself to ONAP (thru A&AI ESR) - Name, Type, Vendor, Version, URL, VIM, Username and Password
- Providing Subscription Services for Life-cycle Management Notifications
- Support of the "Direct Mode" of Resource Management only
- After receiving a grant permission, the VNFM sends requests for resources directly to VIM
- Invoking MultiCloud from VNFM is under discussion, but not for Dublin
- The "Indirect Mode" of Resource Management is being discussed, but not for Dublin
...
SOL001/SOL004 Standards
VNF Package
- A VNF Package is a compressed file that contains the following:
- One VNF descriptor (VNFD)
- One or more Software Image files
- Zero or more manifest files
- Other files
Package structure is SOL004 2.5.1 compliant.
- A VNF Package is a compressed file that contains the following:
Cloud Service Archive (CSAR) format
It is a packaging construct defined in SOL004 2.5.1, identified by a .csar suffix on the package file. There are two package options. The second option is supported.
The CSAR file does not contain TOSCA-Metadata directory, the descriptor yaml file is in the root directory of the CSAR.
The CSAR file contains TOSCA-Metadata directory, the TOSCA meta file in this directory contains the location and name of the descriptor file denoted by Entry-Definitions
VNFD
It is specified by the SOL001 2.5.1.
- Note that the input and get_input function would be used by a TOSCA orchestrator at run time to access the selected input parameter. If the deployment is not done by a TOSCA orchestrator, the inputs and get_input function may not be needed.
VNFM Adapter conforms to the SOL001/SOL004 standards of specification and package management and SOL003 lifecycle operations.
...
- extVirtualLinks data population
- VNFD does not define external virtual links, but it lists the external virtual links as requirements for the VNF.
- If the connection point ip_address_assignment is false, no extVirtualLinks ip address assignment is necessary.
- In this case, VIM will assign IP addresses dynamically.
- This could be an option for the Dublin release for simplify the solution.
- extVirtualLinks data population
- If the connection point ip_address_assignment is true, set extVirtualLink ip address assignment with configuration data from the user input or a preload file.
- UI solution (need to build an UI; it would be an option for the post Dublin release)
- Parse VNFD and extract a list of external virtual links
- Map the external virtual links to the corresponding connection points, and read ip_address_assignment and number_of_ip_address value
- Render the external virtual links
- For each external virtual link, render the ip_address_assignment entry fields based on the number_of_ip_address value
- User configures the mapping and the UI stores the mapping in the database
- VNFM Adapter retrieves the mapping from database and fill up the extVirtualLink parameters based the mapping
- Preload configuration solution (it would be an option for the Dublin release)
- For the VNFD, pre-configure the mapping between the external virtual links and the ip addresses
- VNFM Adapter retrieves the mapping from preload data and fill up the extVirtualLink parameters based on the mapping
- UI solution (need to build an UI; it would be an option for the post Dublin release)
- If the connection point ip_address_assignment is true, set extVirtualLink ip address assignment with configuration data from the user input or a preload file.
Query VNF Instances
HTTP Method Type: GET
VNFM Endpoint: /vnf_instances (for multiple VNFs), /vnf_instances/{vnfInstanceId} (for single VNF)
Request Payload: not applicable
Response Header: 200 success
Response Body: VnfInstance[] (for multiple VNFs), VnfInstance (for single VNF)
- Design
- If the VNFM Adapter intends to query all VNF instances, it sends a GET request to the "VNF instances" resource
- The VNFM returns a "200 OK" response to the VNFM Adapter, and includes zero or more data structures of type "VnfInstance" in the payload body
- If the VNFM Adapter intends to read information about a particular VNF instance, it sends a GET request to the "Individual VNF instance" resource, addressed by the appropriate VNF instance identifier in its resource URI
- The VNFM returns a "200 OK" response to the VNFM Adapter, and includes one data structure of type "VnfInstance" in the payload body
- Design
SOL003 Interfaces between SVNFM (Client) and VNFM Adapter (Provider)
...