Requirements & Use Cases

The following requirements are defined in the Honolulu release - functional requirements proposed list.

Onboard ETSI SOL004 compliant VNF packages

Design ETSI SOL007 compliant Network Service Descriptor packages


Design Nested/Hierarchical ETSI SOL001 v3.3.1 Network Service Descriptor package (for Istanbul release)


Onboard Prototype Package based on ETSI IFA011 v4.1.1 supporting containerized VNF (CNF) packages (for Istanbul release)


Feature Descriptions

Feature

Description







Epic and User Story

Epic

User Story

Task

Description

Honolulu Plan?

JIRA

Size

(S/M/L/XL)

Priority

Support Onboard ETSI 3.3.1 SOL004 compliant VNF / CNF packages



  • Executive Summary- Enable a vendor provided ETSI SOL004 v3.3.1 compliant VNF package including an ETSI SOL001 VNF / CNF Descriptor to  be onboarded into ONAP for composition into an ONAP Network Service
    • Support for onboarding ETSI v3.3.1SOL004 VNF CSAR Packages with minimum CNF enhancements from 4.1.1
    • Support for onboarding ETSI v3.3.1 SOL001 VNF Descriptor with minimum CNF enhancements from 4.1.1
    • Support for mapping of ETSI v3.3.1 SOL001 VNF Descriptor with CNF enhancements into SDC AID Data Model
  • Business Impact- Enables operators and service providers to use same ETSI compliant VNF packages with ONAP and existing NFVO. Industry compatibility.
  • Business Markets- All operators that are currently using ETSI packages to deploy VNFs
  • Funding/Financial Impacts- Reduction in operations expense from using industry standard VNF packaging.  Reduction in capital expense from vendors using a single packaging methodology.
  • Organization Mgmt, Sales Strategies-There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider.

Yes

4 weeks for one designerHigh

Support for onboarding ETSI v3.3.1 SOL004 VNF CSAR Packages with minimum CNF enhancements from 4.1.1


  • SDC users need to onboard ETSI v3.3.1 SOL004 VNF CSAR Packages with minimum CNF enhancements from 4.1.1
    • Manifest File (e.g., MainServiceTemplate.mf): a new non-MANO artifact set identifier "onap_cnf_helm" - This would identify the "top-level" helm chart that can be used to deploy the CNF directly, i.e., without utilizing the LCM info the VNF Descriptor
      • e.g., onap_cnf_helm:

                            source: Artifacts/helm/helm_charts.yaml

  • note: to support the direct path, the VNFD could be optional (under discussion with ETSI NFV and ONAP Direct Path team)
  • SDC users should be also able to onboard the existing ETSI v2.6.1 SOL004 CSAR packages - one level backward compatibility needs to be supported
  • For backward compatibility support, SDC needs to check the package manifest file and metadata such as "compatible_specifcation_versions".
    • If it is 3.3.1+, SDC needs to follow a new onboarding path for the ETSI 3.3.1 version package.
    • If the version is prior to 3.3.1, SDC follows the existing 2.x onboarding path. 
  • The package version and its descriptor version should match.
Yes


High


Determine the onboarding path based on manifest metadata
  • Determine the onboarding path based on the manifest file and metadata "compatible_specification_versions"
  • If the version is prior to 3.3.1, invoke the existing 2.x SOL004 VNF package onboarding path
  • Otherwise, invoke a new SOL004 VNF package onboarding path
  • SDC users should be able to choose the onboarding package version from SDC UI Category selection...to be discussed...



High


Create a new onboarding path for SOL004  3.3.1 VNF package
  • Create a new onboarding path for 3.3.1
    • Check the CSAR structure differences between 2.7.1 and 3.3.1
  • Handle additional artifacts for CNF, such as Helm Charts, Container Image file(s)
    • For the Non-ETSI CNF, handle an optional VNFD case
    • Handle container image files with the limited file size (up to 2MB); larger files will not be handled in this release; support of larger files requires huge effort (AMDOC's help is needed)



High

Support the SOL001 vnf_profile properties

SDC needs to support the SOL001 vnf_profile (toaca.databypes.nfv.VnfProfile) properties



High

















Support for onboarding ETSI v3.3.1 SOL001 VNF Descriptors 


  • SDC users need to onboard ETSI v3.3.1 SOL001 VNF Descriptors
  • SDC users should be also able to onboard the existing ETSI v2.6.1/v2.5.1 SOL001 VNF Descriptors - one level backward compatibility needs to be supported
  • For backward compatibility support, SDC needs to recognize the properties changes (e.g., use the VNF package version) for the Version indication. 
  • SDC uses a separate onboarding process depending on the version.
Yes



High


Determine the onboarding path based on metadata
  • Determine the onboarding path based on the VNFD package version "compatible_specifcation_versions"
  • If the version is v2.6.1/v2.5.1, invoke the existing SOL001 VNF onboarding
  • Otherwise, invoke a new SOL001 VNFD onboarding path






Create a new onboarding path for SOL001 VNFD 3.3.1
  • Create a new onboarding path for 3.3.1 VNFD
    • Check the VNFD differences between 2.5.1/2.7.1 and 3.3.1
    • Share the common/base SDC data type and node type to represent both 3.3.1 and 2.x; i.e., merge two structures for minimum impact
    • Note: This is the current SDC limitation without versioning, and it will be handled separately in the future.













Support for onboarding ETSI v3.3.1 SOL001 VNF Descriptors with minimum CNF enhancements from 4.1.1

SDC users need to onboard ETSI 3.3.1 with minimum CNF enhancements from 4.1.1

  1. Add tosca.nodes.nfv.VDU.OsContainer type to vnfd_types - aligned with the IFA011 v4.1.1 specification
  2. Add mciopProfile type vnfd_types - aligned with the IFA011 v4.1.1 specification
  3. Allow OsContainerDesc to be in the VDU section - only one of tosca.nodes.nfv.VDU.osContainer or  tosca.nodes.nfv.VDU.compute in a VNFD
  4. Allow mciopProfile in VNF Descriptor


  • SDC needs to support new CNF properties / classes / schema / data models based on defined Information Models
  • SDC may use a separate onboarding process for CNF
  • No backward compatibility for CNF support is necessary
Yes


High


Support minimum CNF enhancements from 4.1.1

Support the vnfd_type with CNF attributes from 4.1.1:

  1. Add tosca.nodes.nfv.VDU.OsContainer type to vnfd_types - aligned with the IFA011 v4.1.1 specification
  2. Add mciopProfile type vnfd_types - aligned with the IFA011 v4.1.1 specification
  3. Allow OsContainerDesc to be in the VDU section - only one of tosca.nodes.nfv.VDU.osContainer or  tosca.nodes.nfv.VDU.compute in a VNFD
  4. Allow mciopProfile in VNF Descriptor






Extend the 3.3.1 VNFD onboarding path for CNF attributes Extend the 3.3.1 VNFD onboarding logic for CNF attribute handling 



===========









Support for mapping of ETSI v3.3.1 SOL001 VNF Descriptor into SDC AID Data Model


Once SDC onboards an ETSI v3.3.1 SOL001 VNF Descriptor, SDC needs to map the ETSI v3.3.1 SOL001 VNF Descriptor into SDC AID Data Model

  • No backward compatibility ; SDC supports only ETSI 3.3.1 VNFD mapping to SDC AID DM

VNF Mapping:

  • Define a new data type based on the org.openecomp.resource.abstract.nodes.VF with ETSI SOL001 VNF data type attributes.

    • Make the org.openecomp.resource.abstract.nodes.ETSI.VNF a superset of both tosca.nodes.nfv.VNF and org.openecomp.resource.abstract.node.VF
    • During VNF onboarding, SDC copies SOL001 VNF attribute contents to the corresponding attributes in the org.openecomp.resource.abstract.nodes.ETSI.VNF
      • In Guilin, SO NFVO, VFC and SVNFM get those SOL001 VNF attributes from the descriptor, not from AAI. So, AAI schema changes are not expected in Guilin.
    • SOL001 VNF attributes in SDC AID DM VNF will be visible to SDC UI, so SDC UI can change the attributes.
      • But the onboarded vendor ETSI package will note be changed by the SDC UI users in Guilin.
      • Since SO NFVO, VFC and SVNFM use only the original ETSI package, those changes will not be used in Guilin;
      • For the Honolulu release, it is under consideration
        • to sync up between those modified SOL001 VNF attributes and the vendor ETSI Package attributes 
        • to reflect those modified SOL001 VNF attributes in the orchestration
    • ONAP specific attributes that are inherited from the org.openecomp.resource.abstract.nodes.VF will be filled up by SDC (design time)
      • Those attribute contents will not be mapped back into the SOL001 VNF (reverse mapping). For that case, only the SOL001 VNF corresponding attributes will be copied

VDU Mapping:

  • Make the org.openecomp.resource.abstract.nodes.ETSI.VFC a superset of both tosca.nodes.nfv.Vdu and org.openecomp.resource.abstract.nodes.VFC
  • Note: the org.openecomp.resource.abstract.nodes.VFC represents design-time VFC, not VFC instances
  • During VNF onboarding, SDC copies SOL001 VDU attribute contents to the corresponding attributes in the org.openecomp.resource.abstract.nodes.ETSI.VFC
    • In Guilin, SO NFVO, VFC and SVNFM get those SOL001 VDU attributes from the descriptor, not from AAI. So, AAI schema changes are not expected in Guilin.
  • SOL001 VDU attributes in SDC AID DM VNF will be visible to SDC UI, so SDC UI can change the attributes.
    • But the onboarded vendor ETSI package will note be changed by the SDC UI users in Guilin.
    • Since SO NFVO, VFC and SVNFM use only the original ETSI package, those changes will not be used in Guilin;
    • For the Honolulu release, it is under consideration
      • to sync up between those modified SOL001 VDU attributes and the vendor ETSI Package attributes 
      • to reflect those modified SOL001 VDU / VFC attributes in the orchestration

VF-Module Mapping (Stretch goal)

  • SDC deduces the VF-Module from the SOL001 VNFD Policies>scaling_aspects>properties>aspects
  • Additional VF-Module attributes are deduced as the following table
  • SOL003 Adapter may need to transform the VF-Module back to the SOL001 VNFD policies for the scaling and healing requests from VNFM(s)

SDC supports Interface mapping to SDC AID DM for creating Service and connect VNF to external networking, etc.

Capacity and requirement mapping won't be necessary in this release

Yes


Medium

(VF-Module mapping is a stretch goal)



Map VNF data type to SDC AID DM VFMap VNF data type to SDC AID DM VF





Map VDU data type to SDC AID DM VFCMap VDU data type to SDC AID DM VFC





Deduce VF-Module from VNFD PoliciesDeduce VF-Module from VNFD Policies





Map VNF Interfaces to SDC AID DM Map VNF Interfaces to SDC AID DM 




























Support for mapping of ETSI v3.3.1 SOL001 VNF Descriptor with minimum CNF enhancements from 4.1.1 into SDC AID Data Model

Once SDC onboards an ETSI v3.3.1 SOL001 VNF Descriptor with CNF enhancements, SDC needs to map the ETSI v3.3.1 SOL001 VNF Descriptor with minimum CNF enhancements from 4.1.1 into SDC AID Data Model

  • SDC supports VDU mapping for osContainer to SDC AID DM
    • create a new NF type for CNF
  • SDC supports virtualCPD, MCIOP ...
  • note: need to discuss with the non-ETSI team for compatibility
    • try to have unified modeling between non-ETSI and ETS-based CNF modeling... To discuss with SO team...
    • Thinking about optional VNFD. If there is no VNFD, no mapping is necessary
Yes


medium


Map VNF with CNF properties to SDC AID DM






Map VDU with CNF properties to SDC AID DM






Map virtualCPD to SDC AID DM






Map MCIOP to SDC AID DM













Support for editing ETSI v3.3.1 SOL001 VNF / CNF Descriptor

SDC users should be able to edit onboarded ETSI v3.3.1 SOL001 VNF Descriptors

  • no backward compatibility is necessary
  • SDC supports value changes and also adding properties

Note: should we reflect the changes to original vendor packages in ETSI_PACKAGE directory??? need to think about impact... SDC generates a new digital signature for the package and distributes it to ETSI Catalog Manager.

Yes


medium


Enhance SDC UI for editing SOL001 VNF / CNF descriptor propertiesEnhance SDC UI for editing SOL001 VNF / CNF descriptor properties



























Design ETSI SOL007 compliant Network Service Descriptor packages



  • Executive Summary- Design, catalog and distribute  an ETSI SOL007 v3.3.1 compliant Network Service Descriptor package including an ETSI v3.3.1 SOL001 Network Service Descriptor (NSD) for deployment using an ETSI compliant NFVO.
    • Support for designing an ETSI SOL001 v3.3.1 compliant Network Service that can be deployed with an ETSI compliant NFVO
    • Compose of one or more VNFs and the Virtual Links that connect them.
    • Support for using VNFs with CNF enhancements
  • Business Impact- Enables operators and service providers to use internally designed Network Service Descriptors with ONAP and existing NFVO. Industry compatibility.
  • Business Markets- All operators and service providers that are developing and deploying ETSI compatible Network Services
  • Funding/Financial Impacts- Reduction in operations expense from using industry standard NSD packaging.
  • Organization Mgmt, Sales Strategies-There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider.

Yes


1 week for one designerHigh

Support for designing an ETSI SOL001 v3.3.1 compliant Network Service that can be deployed with an ETSI compliant NFVO


SDC users need to design an ETSI SOL001 v3.3.1 compliant Network Service that can be deployed with an ETSI compliant NFVO

  • SDC needs to support backward compatibility for 2.5.1/2.6.1?
  • SDC users need to create NS 
  • SDC users need to generate SOL007 NS package
Yes


High


Enhance SDC design for creating v3.3.1 NSEnhance SDC design for creating v3.3.1 NS





Generate v3.3.1 SOL007 NS package

Generate v3.3.1 SOL007 NS package

  • No backward compatibility is necessary





















Compose of one or more VNFs and the Virtual Links that connect them


SDC users need to compose one or more VNFs and the Virtual Links that connect them in NS

  • The NSD and its referenced VNF / CNF versions should be matched. 
  • During SDC references VNFs, SDC needs to validate the version of VNFs / CNF, based on the VNF / CNF descriptor metadata (version indicator in the metadata)
    • After 2.6.1, there is a version indicator in the metadata

Note:  cover the VNF version validation... SAP descriptor has a version...


Yes


High


Enhance SDC to compose v3.3.1 VNFs and VLs for v3.3.1 NS

Enhance SDC to allow compose v3.3.1 VNFs and VLs for v3.3.1 NS







Validate NSD and VNFD version match

Validate NSD and VNFD version match

  • The versions of NS and sub models should be matched  













Support for compose VNFs with CNF enhancements


SDC users need to compose VNFs with CNF enhancements

note: virtual CPD ... version... TBD

Yes


High


Enhance SDC to compose v3.3.1 VNFs with CNF enhancementsEnhance SDC to compose v3.3.1 VNFs with CNF enhancements












Support for mapping of ETSI v3.3.1 SOL001 Network Service Descriptor in the SOL007 package into SDC AID Data Model

SDC needs to support for mapping of ETSI SOL001 Network Service Descriptor in the SOL007 package into SDC AID Data Model

  • map SOL001 NSD to SDC AID DM
  • support ETSI NS and NsVirtualLink only.. maybe more... TBD
  • support Interfaces

Yes


Medium


Map v3.3.1 NSD to SDC AID DMMap v3.3.1 NSD to SDC AID DM





Suport InterfacesSuport NS Interfaces to SDC AID DM












Support design of Service templates, leveraging NSDs

SDC users need to support design of Service templates, leveraging NSDs

ONAP service references NSDs...

Yes



Medium


Compose Service Templates referencing NSDsCompose Service Templates referencing NSDs



















Design Nested/Hierarchical ETSI SOL001 v3.3.1 Network Service Descriptor package



  • Executive Summary- Design an ETSI SOL007 v3.3.1 compliant Network Service Descriptor package including an ETSI v3.3.1 SOL001 Network Service Descriptor (NSD) that includes references to other Network Service Descriptors for deployment using an ETSI compliant NFVO.
    • Composed of zero or more VNFs and one or more nested Network Services and the Virtual Links that connect them.
    • Support for using VNFs with CNF enhancements
  • Business Impact- Enables operators and service providers to use vendor provided and internally designed Network Service Descriptors with ONAP and existing NFVO. Industry compatibility.
  • Business Markets- All operators and service providers that are developing ETSI compatible Network Services especially for 5G Slicing where each Slice Subnet is associated with a Network Service 
  • Funding/Financial Impacts- Reduction in operations expense from using industry standard NSD packaging.
  • Organization Mgmt, Sales Strategies-There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider.
No


N/A

Compose of zero or more VNFs and one or more nested Network Services and the Virtual Links that connect them
SDC users need to compose zero or more VNFs and one or more nested Network Services and the Virtual Links that connect themNo


N/A

Support for using VNFs with CNF enhancements


Support design of Service templates, leveraging NSDsNo


N/A








Onboard Prototype Package based on ETSI IFA011 v4.1.1 supporting containerized VNF (CNF) packages



  • Executive Summary- Enable a vendor provided ETSI SOL004 compliant containerized VNF package including an ETSI SOL001 VNF Descriptor with container enhancements to  be onboarded into ONAP for composition into an ETSI Network Service
    • Support for onboarding Prototype v4.1.1 CSAR Packages
    • Support for onboarding Prototype v4.1.1 VNF Descriptor
    • Support for mapping of Prototype v4.1.1 VNF Descriptor into SDC AID Data Model
    • Support for using a Prototype v4.1.1 VNF in an ETSI Network Service
  • Business Impact- Enables operators and service providers to use same ETSI aligned containerized VNF (CNF) packages with ONAP and existing NFVO. Industry compatibility.
  • Business Markets- All operators that are currently using ETSI packages to deploy containerized VNFs (CNFs)
  • Funding/Financial Impacts- Reduction in operations expense from using industry standard containerized VNF (CNF)  packaging.  Reduction in capital expense from vendors using a single packaging methodology.
  • Organization Mgmt, Sales Strategies-There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider.
No


N/A

Support for onboarding Prototype v4.1.1 CSAR Packages


SDC needs to support onboarding prototype v4.1.1 CSAR packages with CNF artifacts and metadataNo




Support for onboarding Prototype v4.1.1 VNF/CNF Descriptor


SDC needs to support onboarding prototype v4.1.1 VNF/CNF descriptorNo




Support for mapping of Prototype v4.1.1 VNF/CNF Descriptor into SDC AID Data Model


SDC needs to support mapping of prototype v4.1.1 VNF/CNF Descriptor into SDC AID Data ModelNo




Support for using a Prototype v4.1.1 VNF in an ETSI Network Service


SDC needs to support for a prototype v4.1.1 VNF/CNF in an ETSI network ServiceNo



Onboard ETSI 3.3.1 SOL004 compliant PNF packages

Executive Summary - Enable a vendor provided ETSI 3.3.1 SOL004 compliant PNF package including an ETSI SOL001 PNF Descriptor to  be onboarded into ONAP for composition into an ONAP Service

Business Impact - Enables operators and service providers to use same ETSI compliant PNF packages with ONAP and existing NFVO. Industry compatibility.

Business Markets - All operators that are currently using ETSI packages to deploy PNFs

Funding/Financial Impacts - Reduction in operations expense from using industry standard PNF packaging.  Reduction in capital expense from vendors using a single packaging methodology.

Organization Mgmt, Sales Strategies -There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider. 

No


N/A

SDC supports onboarding of the 3.3.1 SOL004 PNF package includes SOL001 PNFD


  • SDC user needs to onboard ETSI 3.3.1 SOL004 PNF packages 
  • SDC needs to update onboarding procedure for v3.3.1
No



N/A

Support for mapping of ETSI v3.3.1 SOL001 PNF Descriptor into SDC AID Data Model



SDC needs to support 3.3.1 SOL001 PNFD Mapping to SDC AID DMNo


N/A

Onboard ETSI SOL007 compliant Network Service Descriptor packages



Executive Summary - Onboard an ETSI SOL007 v3.3.1 compliant (Link to ETSI SOL007 v3.3.1)  Network Service Descriptor package including an ETSI version 3.3.1 SOL001 Network Service Descriptor (NSD) to  be onboarded into ONAP for composition into an ONAP Service or deployment using an ETSI compliant NFVO.

  • Support for Cataloging and Preserving the original SOL007 package

  • Support for mapping of ETSI v3.3.1 SOL001 Network Service Descriptor in the SOL007 package into SDC AID Data Model

  • Support for deploying a service that contains an ETSI SOL001 v3.3.1 compliant Network Service using VF-C as the NFVO

  • Support for deploying a service that contains an ETSI SOL001 v3.3.1 compliant Network Service using an external NFVO

Business Impact - Enables operators and service providers to use vendor provided and internally designed Network Service Descriptors with ONAP and existing NFVO. Industry compatibility.

Business Markets - All operators and service providers that are developing ETSI compatible Network Services

Funding/Financial Impacts - Reduction in operations expense from using industry standard NSD packaging.

Organization Mgmt, Sales Strategies -There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider. 

No


N/A

Support onboarding for Cataloging and Preserving the original SOL007 package

SDC users need to support onboarding for Cataloging and Preserving the original SOL007 package (Link to ETSI SOL001 v3.3.1)

No


N/A

Support for onboarding of the SOL007 v3.3.1 compliant NSD package including SOL001 NSD that includes references to other NSDs for composition into ONAP Service
SDC users need to support for onboarding of the SOL007 v3.3.1 compliant NSD package including SOL001 NSD that includes references to other NSDs for composition into ONAP ServiceNo


N/A








Support ETSI Package Security and validation

ONAP supports vendor ETSI 3.3.1Package Security and validation

  • If the vendor package includes signature and certificate, ONAP supports the package security
Yes

4 weeks for one designerHigh

  • SOL004 VNF/PNF Package security will be supported by SDC, based on the ETSI 3.3.1 package signature and certificate

ONAP SDC supports ETSI 3.3.1 SOL004 VNF/PNF Package security

Yes



  • SOL007 NS Package security will be supported by SDC, based on the ETSI 3.3.1 package signature and certificate

ONAP SDC supports ETSI 3.3.1 SOL007 NS Package security 

Yes


High
Support of ETSI Package Validation

VNF SDK will support ETSI package validation for VNF and NSTBD

N/A

VNF SDK will support ETSI VNF package pre-onboarding for validation
VNF SDK will support ETSI VNF package pre-onboarding for validationTBD

N/A

VNF SDK will support ETSI NS package pre-onboarding for validation
VNF SDK will support ETSI NS package pre-onboarding for validationTBD

N/A

ETSI Package Management Architecture

The diagram depicts the package management architecture. 

  1. SDC supports SOL004 VNF/PNF package onboarding, and stores the original vendor VNF/PNF package inside the SDC package
    1. SOL004 package includes SOL001 VNFD/PNFD
    2. PNF onboarding has been tested
  2. SDC will support SOL007 NS package onboarding and store the original vendor NS package inside the SDC package
    1. NS onboarding will be supported
    2. NS onboarding will be tested
  3. SDC supports VNF/PNF package management interfaces from OSS/BSS via SOL005 Package Management APIs (TBD)
  4. SO supports NS package management interfaces from OSS via SOL005 Package Management APIs (TBD)
  5. ETSI Catalog Manager stores SOL004/SOL007 Packages for other ONAP runtime components such as SO, SOL003/SOL005 Adapters, VFC and others
    1. ONAP-ETSI Catalog Manager will store SOL004 packages for VNF and PNF
    2. ONAP-ETSI Catalog Manager will store SOL007 packages for NS
  6. SOL003 VNFM Adapter provides VNFMs Query/Fetch VNF packages/contents/artifacts, Reading VNFD and subscription/notification services
  7. SOL005 Adapter provides NS/PNF/VNF package management to VF-C/External NFVO by leveraging SOL005 package management APIs


Onboarding

SDC NS/VNF/PNF/NS Onboarding and Distribution

This section describes SDC VNF/PNF onboarding and the End-to-End package distribution from SDC to SVNFM/external NFVOs.

SDC takes the vendor provided package and adds some files or changes files and meta data according to SDC procedure.


SDC NS/VNF/PNF Onboarding Procedure and Original Vendor VNF/PNF Package Handling

  1. At onboarding, SDC checks the file extension and performs the following procedures
    1. If the file is .zip, SDC unzips
      1. If it has .cert & .cms, it is a package with security and security validation will be performed.
      2. If it does not include .cert & .cms, it is an existing Heat template onboarding, and SDC follows the Heat template onboarding procedure
  2. If the file is .csar, it is a package without security.
  3. Next, SDC will check the TOSCA.meta file.
  4. If it contains SOL004v2.x.1 keywords, the package will be handled as SOL004v2.x.1. In the Guilin release, v3.3.1 will be supported.
  5. Otherwise, it will be handled as existing TOSCA (non-SOL004) package onboarding which will not have the ETSI_PACKAGE artifact.


NS Onboarding Design


VNF Onboarding Design


PNF Onboarding Design



The following diagram depicts the onboarding procedures for VNF/NS/PNF.




  1. SOL004 VNF/PNF and SOL007 NS Packages are onboarded to SDC.
  2. SDC creates its Resource CSAR by adding ONAP-specific files and metadata according to SDC procedure.
    1. For VNF onboarding, SOL001 VNFD is mapped to SDC Data Model.
    2. For NS onboarding, SOL001 NSD is mapped to SDC Data Model. Note: the SDC NS Data Model would be SOL001 NSD-based.
    3. For PNF onboarding, SOL001 PNFD is mapped to SDC Data Model.
    4. The original SOL004 VNF/PNF and SOL007 NS packages will be stored in the ETSI_PACKAGE directory.
    5. SDC shall have a capability to design SOL007 NSDs and generates SOL007 NS packages
      1. Since SDC does not have a proper NS Model, it will follow SOL001 NSD.
    6. SDC embeds the Resource CSAR into its Service CSAR for distribution.
      1. After SDC validates the onboarded packages, the Service CSAR is distributed.
      2. SDC sends the package notification to DMaaP for its package notification subscribers.
  3. ETSI Catalog Manager receives the package notification from SDC.
    1. ETSI Catalog Manager queries SDC for the SDC CSAR.
      1. ETSI Catalog Managers examines the SDC CSAR. If the SDC CSAR contains the ETSI_PACKAGE directory, it extracts the SOL004/SOL007 packages from the directory.
      2. ETSI Catalog Manager stores the SOL004/SOL007 packages to its Catalog Database.
    2. ETSI Catalog Manager provides APIs for the SOL003/SOL005 Adapters to distribute the packages to SVNFM/NFVO.


Design NS


NSD Structure


SDC supports NSD design that meets the following requirements.
NSD Information Element

Use Cases for Guilin

VCPE

The following is an example of VCPE model hierarchy. In VCPE, the E2E Service model includes one NS (vCPE). And the vCPE NS model includes vbng, vbrgemu, vgmux and vgw VNFs and a network VL.

<example>

Latest vCPE CSARs

The latest (Frankfurt) vCPE CSARs can be retrieved from the https://git.onap.org/demo/tree/tosca/vCPE_F. There are one NS CSAR and five VNF CSARs:


Other Use Case

To represent nested NS cases, we will choose another use case.


NSD Design Process in SDC

VNF Composition

The following diagram depicts how SDC

  1. creates a NSD, based on SOL001 NSD
    1. generates SDC AID DM for NS, based on SOL001 NSD
  2. drags and drops constituent VFs
  3. generates SOL007 NS package



VL Composition



VNFD Composition

The NSD references the VNFD of a constituent VNFs.

VNFD Data Model

tosca.nodes.nfv.VNF:

    derived_from: tosca.nodes.Root

    description: The generic abstract type from which all VNF specific abstract node types shall be derived to form, together with other node types, the TOSCA service template(s) representing the VNFD

 tosca.nodes.nfv.VNF:

    derived_from: tosca.nodes.Root

    description: The generic abstract type from which all VNF specific node types shall be derived to form, together with other node types, the TOSCA service template(s) representing the VNFD

IdTypeCardinalityDescription
descriptor_idstring #UUID1Identifier for the VNFD
descriptor_versionstring1

Identifies the version of the VNFD

providerstring1provider of the VNF and of the VNFD
product_namestring1name to identify the VNF product. Invariant for the VNF Product lifetime
software_versionstring1Software version of the VNF
product_info_namestring0..1Human readable name of the VNF Product
product_info_descriptionstring0..1Human readable name for the VNF product
vnfm_infolist of string1..nIdentifies VNFM(s) compatible with the VNF
localization_languageslist of string0..nInformation about localization languages of the VNF

lcm_operations_configuration

tosca.datatypes.nfv.VnfLcmOperationsConfiguration

0..n

Describes the configuration parameters for the VNF LCM operations

monitoring_parameters

list of 

tosca.datatypes.nfv.VnfMonitoringParameter

0..n

Describes monitoring parameters applicable to the VNF.

flavour_id

string1

Identifier of the Deployment Flavour within the VNFD

flavour_description

string1

Human readable description of the DF

vnf_profile

tosca.datatypes.nfv.VnfProfile

0..1

Describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF

mciop_profilelist of tosca.datatypes.nfv.MciopProfile0..n

Describes additional instantiation data for the MCIOPs used in this deployment









    attributes:

      scale_status:

        type: map # key: aspectId

        description: Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect.

        entry_schema:

          type: tosca.datatypes.nfv.ScaleInfo

    requirements:

      - virtual_link:

          capability: tosca.capabilities.nfv.VirtualLinkable

          relationship: tosca.relationships.nfv.VirtualLinksTo

          occurrences: [ 0, 1 ]

    # Additional requirements shall be defined in the VNF specific node type (deriving from tosca.nodes.nfv.VNF) corresponding to NS virtual links that need to connect to VnfExtCps




interfaces:

      Vnflcm:

        type: tosca.interfaces.nfv.Vnflcm

    # VnfIndicator:

    #   type: tosca.interfaces.nfv.VnfIndicator

    # derived types are expected to introduce Vnf Indicator interfaces 

    # with their type derived from tosca.interfaces.nfv.VnfIndicator






VDU OsContainer Data Model

tosca.nodes.nfv.Vdu.osContainer:

    derived_from: tosca.nodes.Root

    description: Describes the container compute part of a VDU which is a construct  supporting the description of the deployment and operational behavior of a VNFC 

IdTypeCardinalityDescription
namestring1Human readable name of the VDU
descriptionstring1Human readable description of the VDU
nfvi_constraintsmap of string0..n

Describes constraints on the NFVI for the VNFC instance(s) created from this VDU. This property is reserved for future use in the present document.

monitoring_parameters

list of 

tosca.datatypes.nfv.VnfcMonitoringParameter

0..n

Describes monitoring parameters applicable to a VNFC instantiated from this VDU

#configurable_properties

tosca.datatypes.nfv.VnfcConfigurableProperties

0..1

# derived types are expected to introduce configurable_properties with its type derived from tosca.datatypes.nfv.VnfcConfigurableProperties

vdu_profile

tosca.datatypes.nfv.VduProfile

1

Defines additional instantiation data for the Vdu.OsContainer node

sw_image_data

tosca.datatypes.nfv.SwImageData

1

Defines information related to a SwImage artifact used by this Vdu.OsContainer node

boot_data

tosca.datatypes.nfv.BootData

0..1

Contains the information used to customize a container compute resource at boot time. The bootData may contain variable parts that are replaced by deployment specific values before being sent





    capabilities:

      virtual_compute:

        type: tosca.capabilities.nfv.VirtualCompute

        occurrences: [ 1, 1 ]

      virtual_binding:

        type: tosca.capabilities.nfv.VirtualBindable

        occurrences: [ 1, UNBOUNDED ]

    requirements:

      - virtual_storage:

          capability: tosca.capabilities.nfv.VirtualStorage

          relationship: tosca.relationships.nfv.AttachesTo

          occurrences: [ 0, UNBOUNDED ]






MciopProfile Data Model

  tosca.datatypes.nfv.MciopProfile:

    derived_from: tosca.datatypes.Root

    description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.

IdTypeCardinalityConstraintsDescription

mciopId

string1

Identifies the MCIOP in the VNF package.

deploymentOrder

Integer0..1greater_or_equal: 0

Indicates the order in which this MCIOP shall be deployed in relation to other MCIOPs.  A lower value specifies an earlier deployment.

null is allowed

#     affinityOrAntiAffinityGroupId

list of string0..n

References the affinity or anti-affinity groups(s) the MCIOP belongs to.

associatedVdu

list of string0..n

List of VDUs which are associated to this MCIOP and which are deployed using this MCIOP







VnfInstantiateOperationConfiguration Data Model

  tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:

   derived_from: tosca.datatypes.Root

   description: represents information that affect the invocation of the InstantiateVnf operation.

IdTypeCardinalityConstraintsDescription
descriptionstring0..1
Description of VnfInstantiateOperationConfiguration











VnfMonitoringParameter Data Model

tosca.datatypes.nfv.VnfMonitoringParameter:
    derived_from: tosca.datatypes.Root
    description: Represents information on virtualised resource related performance metrics applicable to the VNF.

IdTypeCardinalityConstraintsDescription

name

string

1


Human readable name of the monitoring parameter

performance_metric

string

1

- valid_values: [ v_cpu_usage_mean_vnf, v_cpu_usage_peak_vnf,
v_memory_usage_mean_vnf, v_memory_usage_peak_vnf,
v_disk_usage_mean_vnf, v_disk_usage_peak_vnf,
byte_incoming_vnf_ext_cp, byte_outgoing_vnf_ext_cp,
packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp

Identifies the performance metric, according to ETSI GS NFV-IFA 027.

collection_period

scalar-unit.time

0..1

- greater_than: 0 s

Describes the recommended periodicity at which to collect the performance information.






VnfProfile Data Model

tosca.datatypes.nfv.VnfProfile:
derived_from: tosca.datatypes.Root
description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.

IdTypeCardinalityConstraintsDescription

instantiation_level

string

0..1


Identifier of the instantiation level of the VNF DF to be used for instantiation. If not present, the default instantiation level as declared in the VNFD shall be used

min_number_of_instances

integer

1

- greater_or_equal: 0

Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.

max_number_of_instances

integer

1

- greater_or_equal: 0

Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.






VNFD Information element

The following depicts the VNFD information element.



SapD Composition

SapD fulfills the following information element.



Distribution

ETSI packages will be distributed from SDC to the ETSI Catalog Manager for other ONAP runtime components such as SO (SOL003/SOL005 Adapter) and VF-C.

ETSI Catalog Manager Enhancements

ETSI Catalog Manager will interface with the SDC directly, without a help from ONAP SO.

Package Distribution Components Interactions

The following diagram depicts the ETSI package distribution. 



 

ETSI Package Distribution Flows


@startuml
participant OSS_BSS
participant SDC
participant ONAP_ETSI_Catalog_Mgr
participant SO_NFVO
participant SOL003_Adapter
participant SOL005_Adapter
participant VNFM
participant VFC
participant Ext_NFVO
autonumber 

OSS_BSS -> SDC : Vendor SOL004/SOL007 package onboarding,\nincluding SOL001
SDC --> SDC : onboard SOL004/SOL007 package and put the vendor package\ninto the ONBOARD_PACKAGE directory
ONAP_ETSI_Catalog_Mgr -> SDC : register for SDC notification 
SDC -> ONAP_ETSI_Catalog_Mgr : send a notification for SDC CSAR with the original vendor CSAR/Zip
ONAP_ETSI_Catalog_Mgr -> SDC : query the SDC CSAR with the SDC CSAR id
ONAP_ETSI_Catalog_Mgr --> ONAP_ETSI_Catalog_Mgr : extract SOL004/Sol007 package CSAR/Zip from the SDC CSAR \nand store it

group NS PACKAGE TO SO_NFVO
	ONAP_ETSI_Catalog_Mgr -> SO_NFVO : send a notification to SO_NFVO
	SO_NFVO -> ONAP_ETSI_Catalog_Mgr : query for a NS package
end

group VNF PACKAGE TO SVNFM
	ONAP_ETSI_Catalog_Mgr -> SOL003_Adapter : send a notification to SOL003_Adapter
	SOL003_Adapter -> VNFM : send a notification
	VNFM -> SOL003_Adapter : query for a VNF package
	SOL003_Adapter -> ONAP_ETSI_Catalog_Mgr : query for a VNF package
	ONAP_ETSI_Catalog_Mgr -> SOL003_Adapter : send a VNF package 
	SOL003_Adapter -> VNFM : sends a VNF package
end

group NS/VNF/PNF PACKAGE TO Ext NFVO
	ONAP_ETSI_Catalog_Mgr -> SOL005_Adapter : send a notification to SOL005_Adapter
	SOL005_Adapter -> Ext_NFVO : send a notification
	Ext_NFVO -> SOL005_Adapter : query for a VNF/PNF/NS package
	SOL005_Adapter -> ONAP_ETSI_Catalog_Mgr : query for a VNF/PNF/NS package
	ONAP_ETSI_Catalog_Mgr -> SOL005_Adapter : send a VNF/PNF/NS package 
	SOL005_Adapter -> Ext_NFVO : sends a VNF/PNF/NS package
end

group NS/VNF/PNF PACKAGE TO VFC 
	ONAP_ETSI_Catalog_Mgr -> SOL005_Adapter : send a notification to SOL005_Adapter
	SOL005_Adapter -> VFC : send a notification
	VFC -> SOL005_Adapter : query for a VNF/PNF/NS package
	SOL005_Adapter -> ONAP_ETSI_Catalog_Mgr : query for a VNF/PNF/NS package
	ONAP_ETSI_Catalog_Mgr -> SOL005_Adapter : send a VNF/PNF/NS package 
	SOL005_Adapter -> VFC : sends a VNF/PNF/NS package
end	
	
@enduml


SDC SOL004/SOL007 VNF Package Security

Among the SOL004/SOL007 VNF package security options, the SDC supports the option2 as depicted below. In the option 2, there are two ways to zip the VNF packages, and SDC supports both.

SDC validates the VNF packages based on the embedded signature and certificate by leveraging CA.


Package Security

A VNF package uses the signature and certificate to ensure package integrity and validity. A CSAR file is digitally signed with the VNF provider private key. During the VNF package onboarding to SDC, SDC validates the package and then does the following:


SOL001 Mapping to SDC AID DM

The following diagram depicts SOL001 Mapping to SDC AID DM.


Current Mapping Support (as of Frankfurt)


Note: AAI impacts are under discussion.

Presentation Slide (as a summary)

The following is a presentation slide that summarizes the Mapping.


Note:

The following is being implemented for the Guilin release:


The following mapping will be implemented in the Honolulu release:



SOL007 Design and SOL004 Onboarding


SDC CSAR for NS structure

ONAP Service CSAR
  |-- Artifacts
        |-- ETSI_PACKAGE
              |-- etsi nsd csar
        |-- <VF 1>
              |-- Deployment
                    |-- ETSI_PACKAGE
                          |-- etsi vnf package
            ...
        |-- <VF n>
              |-- Deployment
                    |-- ETSI_PACKAGE
                          |-- etsi vnf package

Mapping of ETSI Information NS-related Elements with TOSCA types

ONAP ETSI-Alignment Modeling Hierarchy




Mapping between SOL001 Data Model and SDC AID DM

The following summarizes the mapping between two models:

SOL001 Data ModelSDC AID DMCommentsRelease
N/Aorg.openecomp.resource.abstracts.nodes.servicerepresents OSS Service models
tosca.nodes.nfv.NStosca.nodes.nfv.NSNS; use of SOL001 as SDC AID DM NSGuilin
tosca.nodes.nfv.NsVirtualLinktosca.nodes.nfv.NsVirtualLinkNS VirtualLink; use of SOL001 as SDC AID DM VLGuilin
tosca.nodes.nfv.Vnforg.openecomp.resource.abstract.nodes.ETSI.VNFVNFPlan for Honolulu
tosca.nodes.nfv.vduorg.openecomp.resource.abstract.nodes.ETSI.VFCVDU and SDC VFCPlan for Honolulu
tosca.nodes.nfv.VirtualLinkorg.openecomp.resources.vlVNF VLPlan for Honolulu
tosca.nodes.nfv.VduCporg.openecomp.resources.cpVDU CPPlan for Honolulu
N/Aorg.openecomp.resource.allottedResourceallotted resource; could not find any from SOL001
tosca.nodes.nfv.Pnforg.openecomp.resource.abstract.nodes.ETSI.PNFPNFPlan for Honolulu (PNF support is under discussion for Honolulu


Current SDC Resource Models

SDC: nfv-types
SDC: heat-types
ETSI NFV IESDC Descriptor / SOL001TOSCA TypeDerived fromSDC DescriptorTOSCA TypeDerived from
NSDnodes.yml / SOL001tosca.nodes.nfv.NStosca.nodes.RootGeneric_Service.yml(question)

org.openecomp.resource.abstract.nodes.service

(use it for both E2E (OSS Service) and NS)

tosca.nodes.Root
NSD.ymlorg.openecomp.resource.vfc.NSDtosca.nodes.RootN/A

SapDSOL001tosca.nodes.nfv.Saptosca.nodes.Root


NsVirtualLinkDescSOL001

tosca.nodes.nfv.NsVirtualLink

(there is tosca.nodes.nfv.VnfVirtualLink)

tosca.nodes.Rootvl.ymlorg.openecomp.resource.vl.VLtosca.nodes.network.Network



extVl.ymlorg.openecomp.resource.vl.extVLtosca.nodes.Root



internalVl.ymlorg.openecomp.resource.vl.internalVLtosca.nodes.network.Network
extZteVL.ymltosca.nodes.nfv.ext.zte.VLtosca.nodes.Root


Pnfd
tosca.nodes.nfv.PNFtosca.nodes.RootGeneric_PNF.ymlorg.openecomp.resource.abstract.nodes.PNFtosca.nodes.Root
VnfdVNF.ymltosca.nodes.nfv.VNFtosca.nodes.RootGeneric_VF.ymlorg.openecomp.resource.abstract.nodes.VFtosca.nodes.Root
Vnffgd
tosca.groups.nfv.VNFFGtosca.groups.RootforwardingPath.yml(?)org.openecomp.nodes.ForwardingPathtosca.nodes.Root







NSD Mapping to SDC AID DM

Initial Input

NSD Mapping to SDC AID DM

A benefit of mapping an onboarded ETSI NS to the internal representation of an ONAP Service is that the ETSI NS can access the standard ONAP runtime functionality implemented or planned for support of ONAP Services.

SOL001 NSD mapping to/from NS SDC AID DM

SOL001 NS


SOL001 NS (tosca.nodes.nfv.NS) - Chosen


SDC NSD

org.openecomp.resource.vfc.NSD

namerequiredtype
namerequiredtype
descriptor_idyesstring
nsd_idtruestring
designeryesstring
nsd_designertruestring
versionyesstring
nsd_versiontruestring
nameyesstring
nsd_nametruestring
invariant_idyesstring
providing_service_uuidtruestring
flavor_idyesstring
providing_service_invariant_uuidtruestring
ns_profilenotosca.datatypes.nfv.NsProfile
providing_service_nametruestring

<tosca.datatypes.nfv.NsProfile>

SDC TOSCA Repository

https://gerrit.onap.org/r/gitweb?p=sdc.git;a=tree;f=catalog-be/src/main/resources/import/tosca;h=70fecc1c6de587cd003c38f3e43547a10785e723;hb=refs/heads/master


SDC nfv-types


SDC nfv-types/NSD

SDC TOSCA repository: /catalog-be/src/main/resources/import/tosca/nfv-types/NSD/

<nodes.yml: org.openecomp.resource.vfc.NSD>

  org.openecomp.resource.vfc.NSD:

    derived_from: tosca.nodes.Root

    description: ECOMP Allotted Resource base type all other allotted resources node types derive from

    properties:

      nsd_id:

        type: string

        required: true

        description: ID of the NSD

      nsd_designer:

        type: string

        required: true

        description: Designer of the NSD

      nsd_version:

        type: string

        required: true

        description: Version of the NSD

      nsd_name:

        type: string

        required: true

        description: Name of the NSD

      providing_service_uuid:

        type: string

        required: true

        description: The depending service uuid in order to map the allotted resource to the specific service version

      providing_service_invariant_uuid:

        type: string

        required: true

        description: The depending service invariant uuid in order to map the allotted resource to the specific service version

      providing_service_name:

        type: string

        required: true

        description: The depending service name in order to map the allotted resource to the specific service version

    requirements:

    - virtualLink:

        capability: tosca.capabilities.network.Linkable

        relationship: tosca.relationships.network.LinksTo

    capabilities:

      virtual_linkable:

        type: tosca.capabilities.network.Linkable

VNFD Mapping to SDC AID DM

SOL001 VNF mapping to/from VNF SDC AID DM

Current VNF Modeling in ETSI and SDC

SOL001 VNF (tosca.nodes.nfv.VNF)
  • from SOL001 v3.3.1

SDC AID DM VNF (org.openecomp.resource.abstract.nodes.VF)
  • from SDC Generic_VF.yml

org.openecomp.resource.vf.vcpeInfrastructureGwDemoApp (derived from org.openecomp.resource.abstract.nodes.VF)
namerequiredtype
namerequiredtype
namerequiredtype
descriptor_idyesstring
nf_function
string
nf_function
string
descriptor_versionyesstring
nf_role
string
nf_role
string
provideryesstring
nf_type
string
nf_type
string
product_nameyesstring
nf_naming_code
string
nf_name_code
string
software_versionyesstring
nf_naming
org.openecomp.datatyhpes.Naming
nf_naming
org.openecomp.datatyhpes.Naming
product_info_nameno string
availability_zone_max_count
integer
availablity_zone_max_count
integer
vnfm_infoyeslist of string
min_instances
integer
min_instances
integer
localization_languagesnolist of string
max_instances
integer
max_instances
integer
default_localization_languageno string
multi_stage_design
boolean
multi_stage_design
boolean
configurable_propertiesnotosca.datatypes.nfv.VnfconfigurableProperties
sdnc_model_name
string
vf_module_idno
modifiable_attributesnotosca.datatypes.nfv.VnfInfoModifiableAttributes
sdnc_artifact_name
string
vcpe_image_nameno
lcm_operations_configuraionnotosca.datatypes.nfv.VnfLcmOperationsConfiguration
skip_post_instantiation_configuration

boolean (default true)

  • constraints : true, false

public_net_idno
monitoring_parametersnolist of tosca.dataypes.nfv.VnfMonitoringParameter
controller_actor

string (default: SO-REF-DATA)

  • constraints: SO-REF-DATA, CDS, SDNC, APPC

vgw_name_0no
flavour_idyesstring




nexus_artifact_repono
flavour_descriptionyesstring




mux_ip_addrno
vnf_profilenotosca.datatyhpes.nfv.VnfProfile




vnf_idno








cpe_public_net_cidrno








vg_vgmux_tunnel_vnino








nf_namingno








multi_stage_designno
<tosca.datatypes.nfv.VnfProfile>






nf_naming_codeno
instantiation_levelnostring




vgw_private_ip_0no
min_number_of_instancesyesinteger




vgw_private_ip_1no
max_number_of_instancesyesinteger




vgw_private_ip_2no








pub_keyno








install_script_versionno








onap_private_net_cidrno








cpe_public_net_idno








mux_gw_private_net_idno








dcae_collector_ipno








dcae_collector_portno








onap_private_net_idno








cloud_envno

Solutions:

There are two options. For now, we chose the option A. The option B is under discussion.

Option A (chosen):

Define a new data type based on the org.openecomp.resource.abstract.nodes.VF with ETSI SOL001 VNF data type attributes.


SOL001 VNF (tosca.nodes.nfv.VNF)

Mapping

New SDC AID DM VNF (org.openecomp.resource.abstract.nodes.ETSI.VNF)

derived from org.openecomp.resource.abstract.nodes.VF

namerequiredtype
namerequiredtype
<SOL001 tosca.nodes.nfv.VNF attributes >


<SOL001 tosca.nodes.nfv.VNF attributes >

descriptor_idyesstring<-->descriptor_idyesstring
descriptor_versionyesstring<-->descriptor_versionyesstring
provideryesstring<-->provideryesstring
product_nameyesstring<-->product_nameyesstring
software_versionyesstring<-->software_versionyesstring
product_info_nameno string<-->product_info_nameno string
vnfm_infoyeslist of string<-->vnfm_infoyeslist of string
localization_languagesnolist of string<-->localization_languagesnolist of string
default_localization_languageno string<-->default_localization_languageno string
configurable_propertiesnotosca.datatypes.nfv.VnfconfigurableProperties<-->configurable_propertiesnotosca.datatypes.nfv.VnfconfigurableProperties
modifiable_attributesnotosca.datatypes.nfv.VnfInfoModifiableAttributes<-->modifiable_attributesnotosca.datatypes.nfv.VnfInfoModifiableAttributes
lcm_operations_configurationnotosca.datatypes.nfv.VnfLcmOperationsConfiguration<-->lcm_operations_configurationnotosca.datatypes.nfv.VnfLcmOperationsConfiguration
monitoring_parametersnolist of tosca.datatypes.nfv.VnfMonitoringParameter<-->monitoring_parametersnolist of tosca.datatypes.nfv.VnfMonitoringParameter
flavour_idyesstring<-->flavour_idyesstring
flavour_descriptionyesstring<-->flavour_descriptionyesstring
vnf_profilenotosca.datatypes.nfv.VnfProfile<-->vnf_profilenotosca.datatypes.nfv.VnfProfile




<SDC AID DM VF attributes that are inherited from org.openecomp.resource.abstract.nodes.VF>

<the followings are being considered>


nf_functionnostring
requirementsYes

nf_rolenostring
interfacesyestosca.interfaces.nfv.VnfLcm
nf_typenostring




nf_naming_codenostring




nf_namingnoorg.openecomp.datatypes.Naming




availability_zone_max_countnointeger




min_instancesnointeger




max_instancesnointeger




multi_stage_designnoboolean




sdnc_model_namenostring




sdnc_artifact_namenostring




skip_post_instantiation_configurationno

boolean (default true)

  • constraints: true, false




controller_actorno

string (default: SO-REF-DATA)

  • constraints: SO-REF-DATA, CDS, SDNC, APPC








Option B:

Define a new data type based on the tosca.nodes.nfv.VNF with SDC AID DM VNF data type attributes.

a new data type org.openecomp.resource.abstract.nodes.ETSI.VNF that is inherited from SOL001 VNF (tosca.nodes.nfv.VNF)

namerequiredtype
<SOL001 tosca.nodes.nfv.VNF attributes >

descriptor_idyesstring
descriptor_versionyesstring
provideryesstring
product_nameyesstring
software_versionyesstring
product_info_nameno string
vnfm_infoyeslist of string
localization_languagesnolist of string
default_localization_languageno string
configurable_propertiesnotosca.datatypes.nfv.VnfconfigurableProperties
modifiable_attributesnotosca.datatypes.nfv.VnfInfoModifiableAttributes
lcm_operations_configuraionnotosca.datatypes.nfv.VnfLcmOperationsConfiguration
monitoring_parametersnolist of tosca.dataypes.nfv.VnfMonitoringParameter
flavour_idyesstring
flavour_descriptionyesstring
vnf_profilenotosca.datatyhpes.nfv.VnfProfile
additionalAttriubtes (or nonManoAttributes)nomap of key, value pair


SOL001 VDU mapping to/from VNF SDC AID DM VFC

Current SOL001 VDU vs. SDC AID DM VFC

SOL001 VDU

SDC AID DM VFC (org.openecomp.resource.abstract.nodes.VFC)

NameRequiredTypeNameRequiredType
nameyesstringnfc_function
string
descriptionyesstringhigh_availabilitynostring
boot_ordernobooleanvm_image_name
string
nfvi_constraintsnomap of stringvm_flavor_nameyesstring
monitoring_parametersnolist of tosca.datatypes.nfv.VnfcMonitoringParameternfc_naming_codenostring
configurable_propertiesnomap of tosca.datatypes.nfv.VnfcConfigurablePropertiesvm_type_tagnostring
boot_datanotosca.datatypes.nfv.BootDatanfc_naming

org.openecomp.datatypes.Naming

  • ONAP_generated_naming: yes: boolean
  • naming_policy: no: string
  • instance_name: no: string
vdu_profileyestosca.datatypes.nfv.VduProfilemin_instancesnointeger
sw_image_datanotosca.datatypes.nfv.SwImageData








Solutions for VDU and VFC mapping

New SDC AID DM VFC type (org.openecomp.resource.abstract.nodes.ETSI.VFC)

SOL001 VDU

Mapping

org.openecomp.resource.abstract.nodes.ETSI.VFC

(derived from org.openecomp.resource.abstract.nodes.VFC)



NameRequiredType<-->NameRequiredType
nameyesstring<-->nameyesstring
descriptionyesstring<-->descriptionyesstring
boot_ordernoboolean<-->boot_ordernoboolean
nfvi_constraintsnomap of string<-->nfvi_constraintsnomap of string
monitoring_parametersnolist of tosca.datatypes.nfv.VnfcMonitoringParameter<-->monitoring_parametersnolist of tosca.datatypes.nfv.VnfcMonitoringParameter
configurable_propertiesnomap of tosca.datatypes.nfv.VnfcConfigurableProperties<-->configurable_propertiesnomap of tosca.datatypes.nfv.VnfcConfigurableProperties
boot_datanotosca.datatypes.nfv.BootData<-->boot_datanotosca.datatypes.nfv.BootData
vdu_profileyestosca.datatypes.nfv.VduProfile<-->vdu_profileyestosca.datatypes.nfv.VduProfile
sw_image_datanotosca.datatypes.nfv.SwImageData<-->sw_image_datanotosca.datatypes.nfv.SwImageData




<SDC AID DM VFC attributes that are inherited from the org.openecomp.resource.abstract.nodes.VFC>





nfc_functionnostring




high_availabilitynostring




vm_image_namenostring




vm_flavor_namenostring




nfc_naming_codenostring




vm_type_tagnostring




nfc_namingno

org.openecomp.datatypes.Naming

  • ONAP_generated_naming: yes: boolean
  • naming_policy: no: string
  • instance_name: no: string




min_instancesnointeger

SOL001 3.3.1 VNFD Mapping from/to SDC AID DM VNFD

SOL001 3.3.1 VNFD Template

tosca_definitions_version: tosca_simple_yaml_1_3

description:

imports:

data_types:

node_types:

topology_template:

    inputs: 

    node_templates: 

        VNF

substitution_mappings:

    capabilities:

    requirements:

SDC VFD Template

tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0

descriptions:

imports:

data_types:

node_types:

topology_template:

    inputs:

    node_templates:

         vfc:

            type: org.openecomp.resource.vfc

        extCP:

            type: org.openecomp.resources.cp

    groups:

        VFModule_Base:

            type: org.openecomp.groups.VfModule

        VFModule_Expansion:

            type: org.openecomp.groups.VfModule

    workflows:

    policies:

        anti_collated_az_policy:

substitution_mappings:

    node_type: org.openecomp.resources.vf.<vf_name>

    capabilities:

    requirements:


SOL001 VNFD mapping to/from SDC AID DM VFD


SOL001 VNFD
SDC AID DM VFD
NameGrammar
NameGrammar
tosca_definitions_version

string

(tosca_simple_yaml_1_3)


tosca_definitions_version

string

(tosca_simple_yaml_1_3)

descriptionstring
descriptionstring
metadatamap of <string>
metadatamap of <string>
imports

Single-line grammar

  • <URI_1>
  • <URI_2>

Multi-line grammar

  • file: <file_URI>
  • repository: <repository name>
  • namespace_uri: <definition_namespace_uri> # deprecated
  • namespace_prefix: <definition_namespace_prefix>

importsIdentifies the lower level models (VFC, CP, VL, heat)
data_types

<data_type_name>:

derived_from: <existing_type_name>

version: <version_number>

metadata:

<map of string>

description: <datatype_description>

constraints:

- <type_constraints>

properties:

<property_definitions>


data_types

<data_type_name>:

derived_from: <existing_type_name>

version: <version_number>

metadata:

<map of string>

description: <datatype_description>

constraints:

- <type_constraints>

properties:

<property_definitions>

node_types

<node_type_name>:

derived_from: <parent_node_type_name>

version: <version_number>

metadata:

<map of string>

description: <node_type_description>

attributes:

<attribute_definitions>

properties:

<property_definitions>

requirements:

- <requirement_definitions>

capabilities:

<capability_definitions>

interfaces:

<interface_definitions>

artifacts:

<artifact_definitions>


node_types

<node_type_name>:

derived_from: <parent_node_type_name>

version: <version_number>

metadata:

<map of string>

description: <node_type_description>

attributes:

<attribute_definitions>

properties:

<property_definitions>

requirements:

- <requirement_definitions>

capabilities:

<capability_definitions>

interfaces:

<interface_definitions>

artifacts:

<artifact_definitions>

topology_template

topology_template:

description: <template_description>

inputs: <input_parameter_list>

outputs: <output_parameter_list>

node_templates: <node_template_list>

relationship_templates: <relationship_template_list>

groups: <group_definition_list>

policies:

- <policy_definition_list>

workflows: <workflow_list>

# Optional declaration that exports the Topology Template

# as an implementation of a Node Type.

substitution_mappings:

<substitution_mappings>


topology_template

similar, but the following are different

  • node_templates contents
  • groups
  • workflows
  • description
string
  • description
string
  • inputs


  • inputs

<parameter name>:

type: <parameter_type>

description: <parameter_description>

required: <parameter_required>

default: <parameter_default_value>

constraints:

- <parameter_constraints>

  • node_templates

vnf: tosca.nodes.nfv.Vnf

vdu: tosca.nodes.nfv.Vdu

vl: tosca.nodes.nfv.VnfVirtualLink

vduCp: tosca.nodes.nfv.VduCp

vduCompute: tosca.nodes.nfv.Vdu.Compute


  • node_templates

vfc:

    type: org.openecomp.resources.vfc.<>

vl:

    type: org.openecomp.resources.vl.<>

cp: 

    type: org.openecomp.resources.cp.<>

allotted_resource:

    type: org.openecomp.resource.allottedResource.<>





  • workflows
<workflow name>

policies

  • scaling aspect

tosca.datatypes.nfv.ScalingAspect

  • description
  • properties
    • name:
    • description
    • max_scale_level:
    • step_deltas:

  • groups

list of VF Modules

VFModule_Base:

    type: org.openecomp.groups.VfModule

VFModule_Expansion:

    type: org.openecomp.groups.VfModule




  • policies
optional list of policies
substitution_mappings

substitution_mappings
  • node_type


  • node_type

  • capabilities

<capability_type_name>:

derived_from: <parent_capability_type_name>

version: <version_number>

description: <capability_description>

properties:

<property_definitions>

attributes:

<attribute_definitions>

valid_source_types: [ <node type_names> ]


capabilities

<capability_type_name>:

derived_from: <parent_capability_type_name>

version: <version_number>

description: <capability_description>

properties:

<property_definitions>

attributes:

<attribute_definitions>

valid_source_types: [ <node type_names> ]

  • requirements


  • requirements

groupnot defined
group

<group_type_name>:

derived_from: <parent_group_type_name>

version: <version_number>

metadata:

<map of string>

description: <group_description>

properties:

<property_definitions>

members: [ <list_of_valid_member_types> ]

requirements:

- <requirement_definitions>

capabilities:

policy

only the Abstract.SecurityGroupRule policy type is defined

  • not sure if we can map this into SDC AID DM

policy

<policy_type_name>:

derived_from: <parent_policy_type_name>

version: <version_number>

metadata:

<map of string>

description: <policy_description>

properties:

<property_definitions>

targets: [ <list_of_valid_target_types> ]

triggers:

<list_of_trigger_definitions>

relationship

tosca.relationships.nfv.VirtualBindsTo

tosca.relationships.nfv.AttachesTo


relationship

<relationship_type_name>:

derived_from: <parent_relationship_type_name>

version: <version_number>

metadata:

<map of string>

description: <relationship_description>

properties:

<property_definitions>

attributes:

<attribute_definitions>

interfaces:

<interface_definitions>

valid_target_types: [ <capability_type_names> ]




annotation_type

<annotation_type_name>:

version: <version_number>

description: <annotation_type_description>

properties:

<property_definitions>




annotation

<annotation_name>:

type: <annotation_type>

properties:

<property_assignments>






VF-Module Initial Input 

The following is a summary of initial input from Gil Bullard (AT&T).

Solution:


org.openecomp.group.VfModule Attribute and SOL001 VNF Policies deduction

NameRequiredTypeSOL001 VNFD Policies
vf_module_typeyes

string

valid values: Base, Expansion

Base

default: Base

vf_module_labelyesstringaspects: <A>
min_vf_module_instancesyesinteger

initial_delta: 0

max_vf_module_instancesnointegermax_scale_level
initial_countyesinteger

initial_data:

  number_of_instances

vf_module_descriptionnostring

aspects: 

  description

volume_groupyesBooleandefault to false
group_namingnoorg.openecomp.datatypes.Namingoptional field, leave it empty

VirtualLink Mapping to SDC AID DM

SOL001 VL mapping to/from VL SDC AID DM

SOL001 VL

<tosca.nodes.nfv.NsVirtualLink>

<tosca.datatypes.nfv.NsVlProfile>

<tosca.datatypes.nfv.ConnectivityType>

<tosca.datatypes.nfv.LinkBitrateRequirements>

<tosca.datatypes.nfv.NsVirtualLinkQos>

<tosca.datatypes.nfv.ServiceAvailability>


Current SDC VL

<tosca.nodes.nfv.ext.zte.VL>

tosca.nodes.nfv.ext.zte.VL

namerequiredtype
segmentation_idfalsestring
network_namefalsestring
is_predefinedfalseboolean
mtufalseinteger
dns_nameserversfalselist
physical_networkfalsestring
dhcp_enabledfalseboolean
network_idfalsestring
host_routesfalselist
ip_versionfalseinteger
vendorfalsestring
namefalsestring
start_ipfalsestring
vlan_transparentfalseboolean
cidrfalsestring
gateway_ipfalsestring
network_typefalsestring
end_ipfalsestring
location_infofalsetosca.datatypes.nfv.ext.LocationInfo


  tosca.nodes.nfv.ext.zte.VL:

    derived_from: tosca.nodes.Root

    description: Ext ZTE VL

    properties:

      segmentation_id:

        type: string

        required: false

      network_name:

        type: string

        required: false

      is_predefined:

        type: boolean

        required: false

      mtu:

        type: integer

        required: false

      dns_nameservers:

        type: list

        required: false

        entry_schema:

          type: string

      physical_network:

        type: string

        required: false

      dhcp_enabled:

        type: boolean

        required: false

      network_id:

        type: string

        required: false

      host_routes:

        type: list

        required: false

        entry_schema:

          type: tosca.datatypes.nfv.ext.HostRouteInfo

      ip_version:

        type: integer

        required: false

      vendor:

        type: string

        required: false

      name:

        type: string

        required: false

      start_ip:

        type: string

        required: false

      vlan_transparent:

        type: boolean

        required: false

      cidr:

        type: string

        required: false

      gateway_ip:

        type: string

        required: false

      network_type:

        type: string

        required: false

      end_ip:

        type: string

        required: false

      location_info:

        type: tosca.datatypes.nfv.ext.LocationInfo

        required: false

    capabilities:

      virtual_linkable:

        type: tosca.capabilities.nfv.VirtualLinkable

        occurrences:

        - 1

        - UNBOUNDED

        valid_source_types: [

          ]


PNF Mapping to SDC AID DM

SOL001 PNF mapping to/from VL SDC AID DM