...
Requirement | Description | Comments |
---|---|---|
R1 | In the TOSCA.meta, reuse the same metadata structure defined by TOSCA and ETSI
| |
R2 | In the TOSCA.meta, reuse the same ETSI defined Entry Keywords
| |
R3 | In the main manifest file, reuse the metadata structure defined by ETSI with new keywords Note: the following proposal is under discussion
Note: there could be additional optional keywords. | |
R4 | In the main manifest file, reuse the artifact security as defined by ETSI
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
|
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
SDC Package Onboarding Process
...
Priority | User Story | Description | JIRA Ticket | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | US 1 | SDC supports the App Onboarding Package, which is compliant to the ETSI NFV SOL004 CSAR structure with the TOSCA-Metadata directory
|
| ||||||||
1 | US 2 | SDC creates an SDC VSP package thru onboarding of an Application Service CSAR based on ASD
|
| ||||||||
1 | US 3 | SDC creates AS internal CSAR (VF resource) by importing VSP CSAR to add CNF/Application based on ASD
|
| ||||||||
1 | US 4 | Create an Service CSAR consists of one or more CNF/Application based on ASD
|
| ||||||||
1 | US 5 | SDC distributes Service CSAR to ONAP runtime components thru DMaaP
| No impact | ||||||||
1 | US 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
| |||||||||
...
- 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.
- oran_application_name
- oran_application_provider
- oran_release_date_time
- oran_entry_definition_type. [ "asd", "app", "app-asd", ... ]
- 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
- Define Source paths:
- 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.
Keyname | Required | Type | Description |
---|---|---|---|
ETSI-Entry-Manifest | Yes | string | Location of the Manifest file |
ETSI-Entry-Change-Log | No | string | Location of the Change history file |
ETSI-Entry-Tests | No | string | Location of the Testing files |
ETSI-Entry-Licenses | No | string | Location of the Licensing information |
ETSI-Entry-Certificate | No | string | Location 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
- 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
...
- 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
- <Guide>
- 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)
- Definitions
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 Instanceoran_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.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. // 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
- ORAN_PACKAGE
- Deployment
...