Versions Compared

Key

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

...

Application Service Package conforms to ETSI SOL004 (inspired) until SOL004

  • 1) makes the SOL001 VNFD optional and
  • 2) allow App package-specific metadata

...

SOL004 Package CSAR Structure

ONAP SDC supports SOL004-conformed CSAR onboarding with the TOSCA-Metadata directory, which includes the TOSCA.meta metadata file, providing and entry information for processing a CSAR file.

  • REQUIREMENT #<>#<1>: The App Package shall be compliant to the ETSI NFV SOL004 CSAR structure with the TOSCA-Metadata directory
    • ONAP SDC supports only the CSAR onboarding with the TOSCA-Metadata directory
  • SOL001 VNFD mandatory requirement in the current SOL004 needs to be changed; i.e., make SOL001 VNFD in SOL004 optional. 
    • Note: this PoC assume assumes the SOL001 VNFD is optional in the SOL004 package. Instead, ASD will be embedded in the App package
  • Locations of files in CSAR are defined by Tosca.meta, Manifest and main TOSCA definition files

...

Note: blue directory names and file type suffixes are requested by SOL004

REQUIREMENT #<>#<2>: ASD_1_0_types.yaml will represent Application Service Descriptor (ASD) in TOSCA

...

  • MRF.mf : It is the main manifest file for the Application package, which contains
    • metadata list
    • list of all files
    • non-MANO-artifacts list: contains locations of non-MANO-artifacts 
    • REQUIREMENT #<><3>:  introduce the following metadata for App package. By using the new metadata, SDC and orchestrator know this package is based on ASD 
      • asd_id
      • app_provider_id
      • app_product_name
      • app_release_date_time
      • app_software_version
      • app_package_version
      • compatible_specification_versions
      • cnfm_info

...

<ETSI keynames extension>

    • TOSCA.meta
      • REQUIREMENT #<>#<4>: introduce a new key name to metadata, "ASD-Entry-Definitions"
        • note: we are evaluating the above manifest metadata is enough to distinguish the app package model from other models.

...

  • Files (optional; Images, Licenses and Artifacts directories can be located under the root directory)
    • Images
      • <image>.          // or image reference
      • <image>           // or image reference
    • Licenses
      • LICENSE.txt
    • Artifacts
      • Deployment
        • HELM             //REQUIREMENT #<>#<5>: use the "HELM" directory to contain Helm Charts
          • <Helm Chart A file>                                  // Helm Charts can include values.schema.json along with values.yaml
          • <Helm Chart B file>                                  // It is for imposing a structure on the values.yaml file

                                                                                                                        // REQUIREMENT #<>#<6>: If values.schema.json files exist, SDC UI uses them to validate values.yaml files and populates customizable values

...

  • TOSCA-Metadata
    • TOSCA.meta:
      • It is generated by SDC, and SDC copies the following metadata and drops other custom metadata 
      • REQUIREMENT #<>#<7>: SDC copies the ASD-Entry-Definitions metadata from the onboarding App package.  note: it is under discussion

...

    • main_app_template.yaml
    • GlobalSubstitutionTypesServiceTemplate.yaml.            // REQUIREMENT #<>#<8>: SDC generates this by including the app_main_descripter.mf information
    •  onap (TBD)
      • _index.yml
      • artifacts.yml
      • capabilities.yml
      • data.yml
      • interfaces.yml
      • nodes.yml
      • relationships.yml
    • onapecomp                                // TBD
      • _index.yml
      • artifacts.yml
      • capabilities.yml
      • data.yml
      • interfaces.yml
      • nodes.yml
      • relationships.yml
    • openecomp-heat                       // REQUIREMENT #<>#<9>: SDC does not use this directory for the App Package
      • _index.yml
      • data.yml
      • groups.yml
      • nodes.yml
    •  tosca
      • _index.yml
      • artifacts.yml
      • capabilities.yml
      • data.yml
      • groups.yml
      • interfaces.yml
      • nodes.yml
      • policies.yml
      • relationships.yml
  • Artifacts: REQUIREMENT #<>#<10>: SDC generates this directory by copying artifacts from the onboarding App package
    • <?>_cnf.mf
    • Definitions
      • main_app_template.yaml
    • Deployment: REQUIREMENT #<>#<11>: SDC preserves the original onboarding App package 
      • APP_PACKAGE.              // copy of the original AS package
    • Images: REQUIREMENT #<>#<12>: 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>
    • Informational
      • <Guide>
        • VSP_<?>_Information.txt
    • LcmScripts
      • <scripts>
    • Licenses
      • LICENSE.txt
    • TOSCA-Metadata: REQUIREMENT #<>#<13>: 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)

...

  • TOSCA-Metadata: REQUIREMENT #<>#<14>: SDC generates TOSCA-Metadata directory and TOSCA.meta
    • TOSCA.meta
  • Definitions: REQUIREMENT #<>#<15>: SDC maps the onboarding ASD models into the ONAP internal. Note: mapping is under discussion.
    • artifacts.yml
    • capabilities.yml
    • data.yml (if mapping, extra date types will be here)
    • groups.yml
    • interfaces.yml
    • nodes.yml (add ASD nodes)
    • policies.yml
    • relationships.yml
    • resource-<...>-template.yml. REQUIREMENT #<>#<16>: SDC generates this based on the onboarding ASD model
    • resource-<...>-template-interface.yml REQUIREMENT #<>#<17>: SDC generates this based on the onboarding ASD model
  • Artifacts
    • Deployment: REQUIREMENT #<>#<18>: SDC preserves the original onboarding App package and additional License files thru SDC UI
      • AS_PACKAGE (original)
        • <App>.csar           // original vendor CSAR
      • VENDOR_LICENSE
      • VF_LICENSE
    • HELM
      • <HELM Chart A file>
      • <HLEM Chart B file>
    •  Informational
      • OTHER
        • VSP_<?>_Information.txt
  • csar.meta
  • Files. (missing from SDC****; Its handling is under discussion)
    • Images
      • <image>
      • <image>
  • e.g.,

...

  • TOSCA-Metadata
    • TOSCA.meta REQUIREMENT #<>#<19>: SDC generates TOSCA-Metadata directory and TOSCA.meta
  • Definitions: REQUIREMENT #<>#<20>: 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.       // REQUIREMENT #<>#<21>: SDC UI modifies onboarding ASD for changing the default values
    • resource-<...>-template-interface.yml.  // REQUIREMENT #<>#<22>: SDC UI modifies onboarding ASD for changing the default values.
  • Artifacts
    • Deployment
      • AS_PACKAGE
        • AS_<...>DataTypes.csar
      • HELM
        • <HELM Chart file>
        • <HLEM Chart file>
      •  VENDOR_LICENSE
        • vendor-license-model.xml

...

  • TOSCA-Metadata REQUIREMENT #<>#<23>: SDC generates TOSCA-Metadata directory and TOSCA.meta
    • TOSCA.meta
  • Definitions. REQUIREMENT #<>#<24>: SDC maps the onboarding ASD models into the ONAP internal. Note: mapping is under discussion
    • annotations.yml
    • 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; TBD
    • resource-<...>-template-inteface.yml (came from VF)
    • resource-<...>-template.yml
    • service-<...>-template-interface.yml
    • service-<...>-template.yml. (put input parameters, additional properties...)
  • Artifacts
    • Resources
      • <VF-name>
        • Deployment //REQUIREMENT #<>#<25>: use the "HELM" directory to contain Helm Charts
          • HELM
            • <helm files>
  • csar.meta
  • NS.mf