Note: work in progress
SDC Package Onboarding Process
SDC Epic
- SDC shall support Application Package onboarding and distribution, where the package conforms to ETSI SOL004 and the embedded model conforms to ASD.
SDC User Story
Priority | User Story | Description | JIRA Ticket |
---|---|---|---|
1 | US 1 | Actor: Create an SDC VSP package thru onboarding of an Application Service CSAR based on ASD
| |
1 | US 2 | Actor: Create AS internal CSAR (VF resource) by importing VSP CSAR to add CNF/Application based on ASD | |
1 | US 3 | Actor: Create an Service CSAR consists of one or more CNF/Application based on ASD | |
1 | US 4 | Actor: Distribute Service CSAR to ONAP runtime components thru DMaaP | |
1 | US 5 | Actor: Distribute associated Helm Charts to the target Helm Artifact Repository | |
1 | US 6 | Actor: Distribute associated Image files to the target Image Repository | |
Sequence
Vendor App Package
Application Service Package conforms to ETSI SOL004 (inspired) until SOL004 makes the SOL001 VNFD optional.
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.
Note: SOL001 VNFD requirement in the current SOL004 needs to be changed; i.e., make SOL001 VNFD in SOL004 optional.
e.g.,
!------TOSCA-Metadata
!------TOSCA.meta
!------TOSCA.meta.sig.cms
!------Definitions
!----- MRF.yaml. (main yaml)
!----- MRF.yaml.sig.cms (signature)
!----- OtherTemplates (e.g. type definitions). // e.g., ASD_1_0_types.yaml. once ASD types are standardized, we will have a formal name.
|----- OtherTemplates signatures. // signature for other templates
!------Files (note: it is allowed that its sub directories are placed under the root directory.
!----- ChangeLog.txt
!----- ChangeLog.txt.sig.cms
!----- global.cert (global certificate for the package)
!----- image(s)
!----- image(s) signature(s)
!----- other artifacts
!----- other artifacts signatures
!------Tests
!----- file(s)
!----- signature(s)
!------Licenses
!----- file(s)
!----- signature(s)
!------Scripts
!----- install.sh
!----- install.sh.sig.cms
!----- MRF.mf // main manifest file
Root directory
- MRF.mf : It is main manifest file for the Application package
- introduce metadata for ASD (metadata:): TBD
- asd_product_name
- asd_provider_id
- asd_package_version
- asd_release_date_time
- introduce metadata for ASD (metadata:): TBD
- e.g., f5_FW_cnf.mf
metadata:
asd_id: 2116fd24-83f2-416b-bf3c-ca1964793bcf
asd_product_name: vFW
asd_provider_id: <vendorA>
asd_software_version: 1.0.0
asd_package_version: 1.0
asd_release_date_time: 2021-10-18T10:00:00+03:00
cnfm_info: cnfm:v1.0.0
compatible_specification_versions: 1.0.0
- Define the Source for
- Source: ChangeLog
- Source: Definitions
- Source: Images
- Source: LcmScripts
- Source: License
- Source: TOSCA-Metadata
- Define the Source for
- TOSCA-Metadata directory
- TOSCA.meta
- introduce a new key name to metadata, asd_definitions
- TOSCA.meta
e.g.,
TOSCA-Meta-File-Version: 1.0
CSAR-Version: 1.1
Created-By: <vendor>
Entry-Definitions: Definitions/f5_FW_cnf.yaml
asd_definitions: Definitions/f5_FW_cnf.yaml // should we introduce ASD definition to distinguish the app package model?
ETSI-Entry-Manifest: f5_FW_cnf.mf
ETSI-Entry-Licenses: Licenses
ETSI-Entry-Change-Log: ChangeLog.txt
<ETSI keynames extension>
- Definitions
- ASD_1_0_types.yaml // node_types, artifact_types, data_types
- f5_FW_cnf.yaml. // descriptor leveraging ASD
e.g., Sample App
- Files. (optional; Images, Licenses and Artifacts directories can be located under the root directory)
- Images
- <image>
- <image>
- Licenses
- LICENSE.txt
- Artifacts
- Deployment
- HELM
- <Helm Chart file>
- <Helm Chart file>
- HELM
- Deployment
- Scripts
- Images
Create VSP CSAR file
- TOSCA-Metadata
- TOSCA.meta (generated by SDC)
e.g.,
TOSCA-Meta-File-Version: 1.0
CSAR-Version: 1.1
Created-By: ASDC Onboarding portal
Entry-Definitions: Definitions/f5_FW_cnf.yaml
- Definitions (generated by SDC)
- f5_FW_cnf.yaml
- GlobalSubstitutionTypesServiceTemplate.yaml. //include asd_types.yaml
- 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 // TBD_index.ymldata.ymlgroups.ymlnodes.yml
- tosca
- _index.yml
- artifacts.yml
- capabilities.yml
- data.yml
- groups.yml
- interfaces.yml
- nodes.yml
- policies.yml
- relationships.yml
- Artifacts (copy into this)
- F5_FW_cnf.mf
- Definitions
- f5_FW_cnf.yaml
- Deployment
- AS_PACKAGE. // copy of the original AS package
- Images
- <image>
- <image>
- Informational
- <Guide>
- VSP_f5_Information.txt
- <Guide>
- LcmScripts
- <scripts>
- Licenses
- LICENSE.txt
- 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 OLD way; not used for the ASD
- TOSCA-Metadata (generated by SDC)
- TOSCA.meta
- Definitions
- 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. (represent ASD)
- resource-<...>-template-interface.yml (represent ASD)
- Artifacts
- Deployment
- AS_PACKAGE (original)
- VENDOR_LICENSE
- VF_LICENSE
- Informational
- OTHER
- VSP_f5_Information.txt
- OTHER
- Deployment
- csar.meta
- Files. (missing from SDC****)
- Images
- <image>
- <image>
- Images
Create VF CSAR file thru the SDC Multi Model Way. // Propose to use for the AS Package Onboarding
- TOSCA-Metadata
- TOSCA.meta
- Definitions
artifacts.ymlcapabilities.ymldata.ymlgroups.ymlinterfaces.ymlnodes.ymlpolicies.ymlrelationships.yml- asd_types.yaml. // instead of using ONAP type definitions, support the ASD model specific definitions are included
- resource-<...>-template.yml. // SDC UI modifies
- resource-<...>-template-interface.yml. // SDC UI modifies
- Artifacts
- Deployment
- AS_PACKAGE
- AS_<...>DataTypes.csar
- VENDOR_LICENSE
- vendor-license-model.xml
- AS_PACKAGE
- Deployment
e.g.,
<vendor-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0">
<vendor-name>VendorA</vendor-name>
- VF_LICENSE
- vf-license-model.xml
- VF_LICENSE
e.g.,
<vf-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0">
<vendor-name>VendorA</vendor-name>
<vf-id>367db414413b4f3e96fcb92df023df27</vf-id>
<feature-group-list/>
</vf-license-model>
- Informational
- OTHER
- VSP_f5_Information.txt
- OTHER
- Informational
- csar.meta
Create Service CSAR file
- TOSCA-Metadata
- TOSCA.meta
- Definitions
- 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
- 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
- HELM
- <helm files>
- HELM
- Deployment
- <VF-name>
- Resources
- csar.meta
- NS.mf