Versions Compared

Key

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

...

RequirementDescriptionComments
R1

In the TOSCA.meta, reuse the same metadata structure defined by TOSCA and ETSI

  • TOSCA-Meta-File-Version:
  • CSAR-Version:
  • Created-By:
  • Entry-Definitions:                               // e.g., Definitions/asd.yml

R2

In the TOSCA.meta, reuse the same ETSI defined Entry Keywords

  • ETSI-Entry-Manifest:                         // e.g., asd.mf
  • ETSI-Entry-Change-Log:                  // it Is optional for ASD
  • ETSI-Entry-Licenses:                        // it is optional optional for ASD
  • ETSI-Entry-Tests:                              // it is optional optional for ASD
  • ETSI-Entry-Certificate:                     // it is optional for ASD

R3

In the main manifest file, reuse the metadata structure defined by ETSI with new keywords

Note: the following proposal is under discussion

  • oran_application_name:                             // e.g., vCU
  • oran_application_provider:                        // e.g., Ericsson
  • oran_release_date_time: 2021                          // e.g., 2021-10-21T11:30:00+05:00
  • oran_entry_definition_type: [asd, app, app-asd, …]]

Image Added

Note: there could be additional optional keywords.Image Removed


R4

In the main manifest file, reuse the artifact security as defined by ETSI

  • Source:
  • Signature:                // for security option #1
  • Certificate:               // for security option #1

For Jakarta PoC, ONAP shall support the security option #2. So, the App provider delivers one zip file consisting of the CSAR file, a signature file and a certificate file that includes the App provider public key.

-- AppPackage.zip

    –- AppPackage.csar

    –- AppPackage.csar signature

    –- Signing certificate


R5

In the main manifest file non_mano_artifact_sets, reuse the same structure with the existing keywords defined by ONAP

  • non_mano_artifact_sets:
    • onap_vest_events:
      • source:
    • onap_pm_directory:
      • source:
    • onap_yang_module:
      • source:
    • onap_others:
      • source:
      • source:

NF Onboarding Package Structure (with ASD only)

The following diagram depicts the NF Onboarding Package Structure with ASD only. 

Note: the package structure is in progress


Image Added

SDC Package Onboarding Process

...

PriorityUser StoryDescriptionJIRA Ticket
1US 1

SDC supports the App Onboarding Package, which is compliant to the ETSI NFV SOL004 CSAR structure with the TOSCA-Metadata directory

  • Supports the ETSI NFV SOL004 version ?? (3.3.1, 2.7.1, 2.6.1 and 2.5.1)
  • For SDC onboarding, Supports the App package has the TOSCA-Metadata directory and the following metadata
    • Reuse the same metadata structure defined by TOSCA and ETSI
    • Reuse the same ETSI defined Entry keywords; only requires ETSI-Entry-Manifest
  • Supports the ASD_types.yaml which defines Application Service Descriptor (ASD) in TOSCA
  • In the main manifest file, reuse the metadata structure defined by ETSI with new keywords. 
  • By using the new metadata, SDC supports the following new manifest metadata, which will be used by the orchestrators to distinguish the package is for App and based on ASD
    • oran_application_name
    • oran_application_provider
    • oran_release_date_time
    • oran_entry_definition_type: [asd, app, app-asd, …]

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDC-3778

1US 2

SDC creates an SDC VSP package thru onboarding of an Application Service CSAR based on ASD

  • SDC copies the contents of TOSCA.meta metadata from the onboarding App package TOSCA.meta
  • SDC maps ASD to ONAP internal model in SDC VSP
    • Design suggestion: ASD ↔ ONAP VF, DeploymentItems ↔ VF-Modules
    • If VSP model can be ignored, this mapping can be skipped
  • SDC generates the GlobalSubstitutionTypesServiceTemplate.yaml by including the app_main_descripter.mf information
  • SDC generates Artifacts directory by copying artifacts from the onboarding App package
    • SDC should copy all the onboarding artifacts to VSP
  • SDC preserves the original onboarding App package in the Deployment directory
  • SDC should be able to handle large-size image files. SDC stores the image files to the Kubernetes Object Storage temporarily and waits for the Runtime Catalog Manager picks up and stores the images files to the Image repository
  • SDC preserves the original onboarding TOSCA.meta (rename TOSCA.meta.original) in the TOSCA-Metadata
  • SDC uses the Artifacts > HELM directory to hold the onboarding Helm Charts

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDC-3779

1US 3

SDC creates AS internal CSAR (VF resource) by importing VSP CSAR to add CNF/Application based on ASD

  • SDC generates TOSCA-Metadata directory and TOSCA.meta for ASD package
  • SDC maps the onboarding ASD models into the ONAP internal model
    • Design suggestion: ASD ↔ ONAP VF, DeploymentItems ↔ VF-Modules
    • see the mapping, MappingbetweenASDandSDCInternalModel 
    • extend the org.openecomp.groups.VfModule to hold the DeploymentItems properties, such as deployment_order and lifecycl parameters
  • SDC generates resource-<...>-template and template-interface models based on the onboarding ASD model
  • SDC preserves the original onboarding App package and adds additional License files thru SDC UI
  • SDC uses the Artifacts > HELM directory to hold the onboarding Helm Charts
  • SDC UI should be able to modify some of ASD property values
    • SDC UI populates lifecycleManagement values as needed
    • If values.schema.json files exist, SDC UI validates values.yaml files and populate customizable values

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDC-3780

1US 4

Create an Service CSAR consists of one or more CNF/Application based on ASD

  • SDC generates TOSCA-Metadata directory and TOSCA.meta
  • SDC maps the onboarding ASD models into the ONAP internal models
  • SDC uses the "HELM" directory under the Artifacts to contain Helm Charts

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDC-3781

1US 5

SDC distributes Service CSAR to ONAP runtime components thru DMaaP

  • Assuming no SDC impact for this 
No impact
1US 6

For the App Package notification, ONAP Runtime Catalog Manager queries from SDC and stores associated Helm Charts and Images to the target Helm and Image Artifact Repositories

  • Get Helm Charts from the Helm directory and stores the target Helm Artifact Repository
  • Get Images from the Object Storage and stores the target Image Artifact Repository





...

    • TASK #<3>: The App package shall introduce the following metadata to define the package type/model.
    • TASK #<4>: SDC shall detect the oran_entry_defintion_type="asd" metadata and process the Application package onboarding path.
      • e.g., app_main_descripter.mf

...

    • Define Source paths: 
      • Source: ChangeLog
      • Source: Definitions/main_app_template.yaml
      • Source: Definitions/oran_asd_types.yaml
      • Source: Definitions/oran_asd_types.sig.cms
      • Source: Images
      • Source: Artifacts
      • Source: LcmScripts
      • Source: License
      • Source: TOSCA-Metadata
  • TOSCA-Metadata directory: It contains the entry points:

<ETSI keynames extension>

note: for ASD, we don't need to use all the following entries. SDC does not copy most of the keynames, except ETSI-Entry-Manifest for validation.

note: in ETSI NFV, making the ETSI-Entry-Lincense optional is under discussion.

...

      • -Metadata


  • TOSCA-Metadata directory: It contains the entry points:

<ETSI keynames extension>

note: for ASD, we don't need to use all the following entries. SDC does not copy most of the keynames, except ETSI-Entry-Manifest for validation.

note: in ETSI NFV, making the ETSI-Entry-Lincense optional is under discussion.

KeynameRequiredTypeDescription
ETSI-Entry-ManifestYesstringLocation of the Manifest file
ETSI-Entry-Change-LogNostringLocation of the Change history file
ETSI-Entry-TestsNostringLocation of the Testing files
ETSI-Entry-LicensesNostringLocation of the Licensing information
ETSI-Entry-CertificateNostringLocation of the Certificate file


    • TOSCA.meta
      • TASK #<5>: for ASD, SDC use the same metadata structure defined by TOSCA and SOL004, plus use only ETSI-Entry-Manifest from the above list
        • TOSCA-Meta-File-Version
        • CSAR-Version
        • Created-By
        • Entry-Definitions

...

    • Definitions
      • asd_types.yaml
      • <main_app_template>.yaml
    • Deployment: TASK #<14>: SDC preserves the original onboarding App package 
      • ORAN_PACKAGE              // a directory where the original package is stored
    • Images: TASK #<15>: SDC should be able to handle large-size image files. SDC stores the image files to the Kubernetes Object Storage temporarily and waits for the Runtime Catalog Manager picks up and stores the images files to the Image repository.  
      • <image>
      • <image>
    • HELM (TBD)
      • <helm file>
      • <helm file>
    •  Informational
      • <Guide>
        • VSP_<?>_Information.txt
    • LcmScripts
      • <scripts>
    • Licenses
      • LICENSE.txt
    • TOSCA-Metadata: TASK #<16>: SDC preserves the original onboarding TOSCA.metadata
      • TOSCA.meta.original
    • ChangeLog.txt
    • vendor-license-model.xml (not sure how SO uses)
    • vf-license-model.xml (not sure how SO uses)


Create VF CSAR file - an original way (most likely, this is the

...

option for PoC)

  • TOSCA-Metadata: TASK #<17>: SDC generates TOSCA-Metadata directory and TOSCA.meta based on the corresponding VSP
    • TOSCA.meta
  • Definitions: TASK #<18>: SDC maps the onboarding ASD models into the ONAP internal. See the mapping section below.

...

tosca_definitions_version: tosca_simple_yaml_1_3
metadata:
  invariantUUID: 92e593ad-cc7d-4a97-8b64-83bc301e2e4f
  UUID: 90c7b63b-001a-4398-abb9-951e1a842437
  name: asd1
  description: f
  category: Generic
  type: VF
  subcategory: Application Service Descriptor           // TASK #<25>: SDC extends the subcategory to have Application Service Descriptor;    was  Network Elements
  resourceVendor: d
  resourceVendorRelease: 2.6.1
  reourceVendorModelNumber: ''
imports:
- nodes:
    file: nodes.yml
- datatypes:
    file: data.yml
- capabilities:
    file: capabilities.yml
- relationships:
    file: relationships.yml
- groups:
    file: groups.yml
- policies:
    file: policies.yml
- annotations:
    file: annotations.yml
- resource-asd1-interface:
    file: resource-Asd1-template-interface.yml
topology_template:
  inputs:
    skip_post_instantiation_configuration:
      default: true
      type: boolean
      required: false
    nf_naming:
      default:
        ecomp_generated_naming: true
      type: org.openecomp.datatypes.Naming
      required: false
    multi_stage_design:
      default: false
      type: boolean
      required: false
    nf_naming_code:
      type: string
      required: false
    nf_function:
      type: string
      required: false
    controller_actor:
      default: SO-REF-DATA
      type: string
      required: false
    availability_zone_max_count:
      default: 1
      type: integer
      required: false
    sdnc_artifact_name:
      type: string
      required: false
    max_instances:
      type: integer
      required: false
    nf_type:
      type: string
      required: false
    sdnc_model_version:
      type: string
      required: false
    nf_role:
      type: string
      required: false
    min_instances:
      type: integer
      required: false
    sdnc_model_name:
      type: string
      required: false
  node_templates:
    asd_instance:
      type: org.onap.asd.CNF
      metadata:
        invariantUUID: 3948bd3d-f4e2-41a9-b3b4-edc6c6db927e
        UUID: 05329593-52f8-482d-a967-8dbb28bb117a
        name: Asd1.CNF
        description: Not reusable inner VFC
        category: Generic
        version: '1.0'
        customizationUUID: 59c10655-f68e-47d3-bf7b-d8f5698f6f75
        type: VFC. // ??
        subcategory: Abstract
        resourceVendor: d
        resourceVendorRelease: 2.6.1
        reourceVendorModelNumber: ''
      properties:
        oran_id: ASD Instance

        oran_product_name: vFW

        oran_provider_id: vendorA

        oran_package_version: 1.0.0
  group:
    Asd..helmA..module-0:
      type: org.openecomp.groups.VfModule
      metadata:
        vfModuleModelName: Asd..helmA..module-0
        vfModuleModelInvariantUUID: 766017db-5c11-47f9-a3c4-1fed0dbae9cb
        vfModuleModelUUID: 57a35aad-4290-4b55-a0b2-150aad6da058
        vfModuleModelVersion: '0.0'
      properties:
        min_vf_module_instances: 1
        vf_module_label: helmA
        max_vf_module_instances: 1
        vf_module_type: Base
        isBase: true
        initial_count: 1
        volume_group: false
    Asd..helmB..module-1:
      type: org.openecomp.groups.VfModule
      metadata:
        vfModuleModelName: Asd..helmB..module-0
        vfModuleModelInvariantUUID: 766017db-5c11-47f9-a3c4-1fed0dbae9cb
        vfModuleModelUUID: 57a35aad-4290-4b55-a0b2-150aad6da058
        vfModuleModelVersion: '0.0'
      properties:
        min_vf_module_instances: 0
        vf_module_label: helmB
        vf_module_type: Expansion
        isBase: false
        initial_count: 0
        volume_group: false
  substitution_mappings:
    node_type: org.openecomp.resource.vf.Asd1
    properties:
      nf_naming:
      - nf_naming
      skip_post_instantiation_configuration:
      - skip_post_instantiation_configuration
      multi_stage_design:
      - multi_stage_design
      nf_function:
      - nf_function
      nf_naming_code:
      - nf_naming_code
      controller_actor:
      - controller_actor
      availability_zone_max_count:
      - availability_zone_max_count
      sdnc_artifact_name:
      - sdnc_artifact_name
      max_instances:
      - max_instances
      nf_type:
      - nf_type
      sdnc_model_version:
      - sdnc_model_version
      nf_role:
      - nf_role
      min_instances:
      - min_instances
      sdnc_model_name:
      - sdnc_model_name



Create VF CSAR file thru the SDC Multi Model Way

...

(it is under evaluation for ASD)  

  • TOSCA-Metadata
    • TOSCA.meta TASK #<26>: SDC generates TOSCA-Metadata directory and TOSCA.meta
  • Definitions: TASK #<27>: for the Multi Model way, SDC does not use ONAP internal model. Note: impact to the existing ONAP components are under discussion.
  •  
    • artifacts.yml
    • capabilities.yml
    • data.yml
    • groups.yml
    • interfaces.yml
    • nodes.yml
    • policies.yml
    • relationships.yml
    • asd_types.yaml.                            // instead of using ONAP type definitions, support the ASD model specific definitions are included
    • resource-<...>-template.yml.       // TASK #<28>: SDC UI modifies onboarding ASD for changing the default values
    • resource-<...>-template-interface.yml.  // TASK #<29>: SDC UI modifies onboarding ASD for changing the default values.
  • Artifacts
    • Deployment
      • ORAN_PACKAGE
        • AS_<...>DataTypes.csar
      • HELM
        • <HELM Chart file>
        • <HLEM Chart file>
      •  VENDOR_LICENSE
        • vendor-license-model.xml

...