Versions Compared

Key

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

...

!----- install.sh.sig.cms


App Package Directory and File Details
  • 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 

...

    • 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)


Create VF CSAR file - an original way

  • 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_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: 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:
        asd_id: ASD Instance
        asc_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
    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.       // Propose to use for the AS Package Onboarding

  • 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

...

    • Informational
      • OTHER
        • VSP_<?>_Information.txt
  • csar.meta


Mapping between ASD and SDC Internal Model

  • 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
    • 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?





Create Service CSAR file

  • 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