Versions Compared

Key

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

Note: work in progress

Table of Contents

...

Concepts

  • K8S CISM Cluster: Container Infrastructure Service Manager Cluster performs the same function as VIM Zone but operates on containerized application level.
  • CNF: Cloud Native Network Function. Containerized VNF is designed to be deployed in the cloud as a container. CNF is a better fit for microservice architecture due to the deployment size.
  • Kubernetes: Kubernetes (K8s) is an open-source system for automating deployment, scaling and management of containerized applications
  • POD: A Pod is a group of one or more containers (such as Docker containers), with shared storage/network, and a specification for how to run the containers.

App Onboarding Package Requirement 

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-1043


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:

  • ETSI-Entry-Manifest:                         // e.g., asd.mf
  • ETSI-Entry-Change-Log:                  // it Is optional for ASD
  • ETSI-Entry-Licenses:                        // it is optional for ASD
  • ETSI-Entry-
Change-Log
  • Tests:                              // it is optional for ASD
  • ETSI-Entry-
Licenses
  • Certificate:                    
   
  • // it is
optional 
  • 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

  • application_name
ETSI-Entry-Tests
  • :                             // e.g., vCU
  • application_provider:  
// it is optional ETSI-Entry-Certificate:
  •                      // e.g., Ericsson
  • release_date_time:                           //
it is optionalR3

In the main manifest file, reuse the metadata structure defined by ETSI with new keywords (the following proposal is under discussion)

  • oran_id: 2116fd24-83f2-416b-bf3c-ca1964793aca
  • oran_product_name: vCU
  • oran_provider_id: Ericsson
  • oran_package_version: 1.0
  • oran_release_date_time: 2021-10-21T11:30:00+05:00
    • e.g., 2021-10-21T11:30:00+05:00
    • entry_definition_type: [asd]
    NameValueNotesQualifier
    application_nameA sequence of UTF-8 charactersThe value shall be identical to those specified in the MainServiceDescriptor, e.g., asdApplicationName in ASDO
    application_providerA sequence of UTF-8 charactersThe value shall be identical to those specified in the MainServiceDescriptor, e.g., asdProvider in ASDO
    release_date_timeA string formatted according to IETF RFC 3339Timestamp of the package release timeM
    entry_definition_typeenum[asd]asd; only ASD is included in the packageM

    Note: there could be additional optional keywords.

    oran_entry_definition_type: [asd, app, app-asd, …]


    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:
      • _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

    Application Package Onboarding and Distribution to ONAP

    The following diagram depicts Application Package onboarding and distribution to ONAP and repositories.


    Gliffy Diagram
    macroIdbc311036-7906-4321-b5ac-f08422660eef
    displayNameASD App Onboarding Distribution - Jakarta
    nameASD App Onboarding Distribution - Jakarta
    pagePin20

    SDC Package Onboarding Process

    ...

    • SDC shall support Application Package onboarding and distribution, where the onboarding package conforms to 1) ETSI SOL004, 2) Application onboarding package requirements, and 3) its embedded model conforms to ASD.
    • Note: ASD-based vFW could be a candidate, but we are looking for additional NF use cases.
    EpicDescriptionJIRAPriority
    SDC Shall Support Application Package onboarding and distribution
    • SDC shall support Application Package onboarding and distribution, where the onboarding package conforms to 1) ETSI SOL004 with the TOSCA-Metadata directory, 2) Application onboarding package requirements, and 3) its embedded model conforms to ASD.

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

    1




    SDC User Story

    1
    PriorityUser StoryDescriptionJIRA TicketPriority
    US 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 ASDoran_id
      • oran_application_name
      • oran_application_provider
      • oran_release_date_time
      • oran_entry_definition_type: [asd, app, app-asd, …: [asd]

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

    1
    US 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

    1
    US 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
      • entry_defintion_type in the ASD package will be copied into TOSCA.meta
    • 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 Note: SO CNFM can read the properties from ASD.
    • 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

    1
    US 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

    1
    US 5

    SDC distributes Service CSAR to ONAP runtime components thru DMaaP

    • Assuming no SDC impact for this 
    No impact1
    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

    • 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

    1
    US 7Enhance TOSCA parser for ASD

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

    1

    SDC Onboarding and Distribution Sequence

    ...

    Gliffy Diagram
    macroId1b80b441-226f-4e8e-a5b1-680f204c9361
    displayNameSDC App Package Onboarding
    nameSDC App Package Onboarding
    pagePin1011

    Vendor App Onboarding Package

    ...

      • 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

    ...

    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.

    ...

    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.

    ...

      • artifacts.yml
      • capabilities.yml
      • data.yml                 // TASK #<19>: SDC extends data.yml for ASD types
      • groups.yml.            // TASK #<20>: SDC extends the VF-Module for additional properties
      • interfaces.yml
      • nodes.yml               // TASK #<21>: SDC extends nodes.yml for ASD-based CNF
      • policies.yml
      • relationships.yml
      • resource-<...>-template.yml. TASK #<22>: SDC generates this based on the onboarding ASD model
        • resource-<...>-template-interface.yml TASK #<23>: SDC generates this based on the onboarding ASD model
    • Artifacts
      • Deployment: TASK #<24>: SDC preserves the original onboarding App package and additional License files thru SDC UI
        • ORAN_PACKAGE (original)
          • <App>.csar           // original vendor CSAR
        • VENDOR_LICENSE
        • VF_LICENSE
        • HELM
          • <HELM Chart A file>
          • <HLEM Chart B file>
        • IMAGE
          • <image>
          • <image> 
        •  Informational
        • OTHER
          • VSP_<?>_Information.txt
    • csar.meta
    • Files. (missing from SDC****; Its handling is under discussion)
      • Images
        • <image>
        • <image>
    • e.g.,

    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>
        • IMAGE
          • <image>
          • <image>
        •  VENDOR_LICENSE
          • vendor-license-model.xml

    ...

    • Node type for ASD and data type for the deployment items added to Definitions/nodes.yaml and Definitions/data.yaml respectively
    • interface type (i.e. the substitution mapping type) created from org.openecomp.resource.abstract.nodes.VF, in standard ONAP way, with the standard ONAP properties
    • Main template generated as follows: 
      • node template added for the ASD type generated from the definition in the onboarded csar
      • vfModule group type added for each deployment item. see below for explanation of the properties and values used
      • extend the org.openecomp.groups.VfModule to hold the DeploymentItems properties, such as deployment_order and lifecycle parameters. //note: SO CNFM can read the DeploymentItems attributes including priorities for orchestration. 
      • sub. mapping added in standard ONAP way
    • Helm charts added to Artifacts/Deployment/HELM (similar to what is done today for onap zip cnf packages)
    • Original onboarded ASD csar is included in the same way as we do for ETSI.
    • Can we add anything specific to allow SO identify the package as ASD?; it could be done by SO deducing from the info already there (e.g. does it have a node template of the ASD type), but will be straightforward to add something explicitly if that is preferred, similar to what we have suggested in the TOSCA.meta
    • We need a way for SDC to recognise the onboarded csar as an ASD, for etsi we reply on presence of ETSI-... metdata. We can add something similar for ASD
      • we can use ASD-specific metadata the main manifest file
      • we can use the TOSCA.metadata model type flag

    ...

    filetypesComments
    data.yaml

    org.onap.asd.datatypes.deploymentItem:

        derivedFrom: tosca.datatypes.Root

        properties:

            deployment_item_id: 

                type: string         

                description: UUID of deployment item

                required: true 

            artifact_type:

                type: enum

                values: ["HELM", "HELMFILE", "CRD"]

                default: "HELM"

                required: true

            artifact_id:

                type: string

                description: UUID of artifact id

                required: true

            deployment_order:

                type: integer

                required: false

            lifecycle_parameters:

                type: list

                entry_schema:

                    type: string

                required: false


    org.onap.asd.datatypes.ext_cpd:

        derivedFrom: tosca.datatypes.Root

    TBD

    org.onap.datatypes.enhanced_cluster_capabilities:

        derivedFrom: tosca.datatypes.Root

    TBD
    nodes.yaml  

    org.onap.asd.CNF:
        derived_from: tosca.nodes.Root

        properties:

            asd_id:

                type: string

                description: UUID of ASD 

                required: true         

            asc_schema_version:

                type: string

                description: version of ASD schema

                required: true

            asd_provider:

                type: string

                description: provider of AS and ASD

                required: true       

            asd_application_name:

                type: string

                description: name of Application Service. Invariant for the AS lifetime

                required: true       

            asd_application_version:

                type: string

                description: version of Application Service

                required: true       

            asd_application_info_name:

                type: string

                description: Human readable name of Application Service. Can change during the AS lifetime

                required: false

            asd_info_description:

                type: string

                description: Human readable description of AS. Can change during the AS lifetime

                required: false

            asd_ext_cpd:

                entry_schema:

                    type: org.onap.asd.datatypes.ext_cpd

                description: describes the externally exposed connection points of the application

                type: list

                required: false

            enhanced_cluster_capabilities:

                entry_schema:

                    type: org.onap.datatypes.enhanced_cluster_capabilities

                description: expected capabilities of the target cluster to aid placement of AS

                type: list

                required: false

            deployment_items:

                entry_schema:

                    type: org.onap.asd.datatypes.deploymentItem

               description: deployment artifacts

               type: list

                 required: false


    resource-<asd>-template.yml

      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: ASD      // used be VFC
            subcategory: Abstract
            resourceVendor: d
            resourceVendorRelease: 2.6.1
            reourceVendorModelNumber: ''
          properties:
            asd_id: ASD Instance
            asd_schema_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

            deployment_order: 1

            lifecycle_parameters:

                          - "Values.db.fullBackupInterval"

                          - "Values.db.walConsolidationInterval" 
        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

            deployment_order: 2

            lifecycle_parameters:

                          - "Values.db.initialWebReplicas" 

      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

    • for the asd_instance, can we use the "type" for indicating "ASD"
    • can we extend the org.openecomp.groups.VfModule to add an optional property for the VfModule order to represent the DeploymentItems order?

          e.g., deployment_order

    • can we extend the org.openecomp.groups.VfModule to add the lifecycle_parameters from the lifecycleParameters from the DeploymentItems?

    ...