Versions Compared

Key

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

...

   // note: it will be finalized after the ASD data model 

Code Block
themeConfluence
tosca_definitions_version: tosca_simple_yaml_1_3


data_types:
  ExtCpdData:
    version: 1.0
    description: "Describes the datatype for exposed service"
    properties:
      id:
        description: "A symbolic name for this exposed service (extCpd)"
        required: true
        type: string
      virtualLinkRequirement: 
        description: >
          Refers in an abstract way to the network or multiple networks that 
          the ExtCpd shall be exposed on (ex: OAM, EndUser, backhaul, LI, etc)
        required: false
        type: string
      interfaceOrder:
        description: >
          Mandatory attribute for a secondary network interface. 
          Defines the order (0-N) in which an the additional/secondary 
          network interface declaration appears in the pod manifest
        required: false        
      networkInterfaceRequirements:
        description: >
          Details container implementation specific requirements on 
          the NetworkAttachmentDefinition
        required: false
        type: ExtCpdData.NetworkInterfaceRequirementsIE
      switchPlane:
        description: >
          Used to indicate resource pool (left or right) to allocate 
          connection resources for sepcific secondary interfaces
        required: false
        type: string
        constraints:
          - valid_values: [left, right]
      inputParamMappings:
        description: >
          Information on what helm chart input parameters that 
          are required to be configured for this extCpd
        required: false
        type: ExtCpdData.ParamMappings
      resourceMapping:
        description: >
          Kubernetes API resource name for the resource manifest for the service
        required: false
        type: ExtCpdData.ParamMappings
    

artifact_types:
  AsdDeploymentItem:
    version: 1.0
    description: "The default type of the ASD artifacts"
    properties:
      artifactType:
        type: string
        constraints:
          - valid_values: ["helm_chart", "helmfile", "crd", "terraform" ]
      itemId:
        type: integer
      deploymentOrder:
        type: integer
      lifecycleParameters:
        type: list
        entry_schema: string

    
node_types:
  ApplicationServiceDescriptor:
    description: "The ASD node type"
    properties:
      id: 
        type: string
      provider:
        type: string
      applicationName:
        type: string
      applicationVersion:
        type: string
      extCpds: 
        type: list
        entry_schema: ExtCpdData
      enhancedClusterCapabilities:
        type: list
        entry_schema: string       
    requirements:
      - virtual_link_1: 
          capability: tosca.capabilities.nfv.VirtualLinkable 
          relationship: tosca.relationships.nfv.VirtualLinksTo 
          occurrences: [ 0, 1 ] 
      - virtual_link_2: 
          capability: tosca.capabilities.nfv.VirtualLinkable 
          relationship: tosca.relationships.nfv.VirtualLinksTo 
          occurrences: [ 0, 1 ]
      - ...
      - virtual_link_8: 
          capability: tosca.capabilities.nfv.VirtualLinkable 
          relationship: tosca.relationships.nfv.VirtualLinksTo 
          occurrences: [ 0, 1 ]    
        

...

e.g., Sample main_app_template.yaml

Code Block
themeConfluence
tosca_definitions_version: tosca_simple_yaml_1_3
imports:
  - asd_types.yaml
  - nsd_types.yaml

topology_template:
  substitution_mappings: 
    node_type: tosca.nodes.nfv.ASD_in_NS
    substitution_filter:
      properties:
        - descriptor_id: { equal: 'b1bb0ce7-2222-4fa7-95ed-4840d70a1179' }
    requirements: 
      virtual_link_1: [ applicationServiceDescriptor, virtual_link_1 ]
      virtual_link_2: [ applicationServiceDescriptor, virtual_link_2 ]
      ...
      virtual_link_8: [ applicationServiceDescriptor, virtual_link_8 ]    

  
  node_templates: 
    applicationServiceDescriptor:
      type: ApplicationServiceDescriptor
      version: 1.0
      description: "Sample Application to Illustrate ASD Usage"
      properties: 
        id: fdsa-xdsfg-sdfsd-wqeuy
        provider: MyCompany
        applicationName: SampleApp
        applicationVersion: “2.3”
        applicationInfoName: “Sample Application”
        extCpds:
          - id: webpage-service
            virtualLinkRequirement: endUser  
          - id: transactionAPI
            virtualLinkRequirement: backhaul
            interfaceOrder: 0
            switchPlane: left
        enhancedClusterCapabilities: [ o-ran.o-cloud.hw.gpgpu ]
      artifacts: #these are the deployment items:
        sampleapp-db:
          type: AsdDeploymentItem
          file: "sampleapp-db-operator-helm.tgz" # this can be also a uri
          properties:
            artifactType: "helm_chart" 
            itemId: 1 
            deploymentOrder: 1 
            lifecycleParameters: 
              - ".Values.db.fullBackupInterval"
              - ".Values.db.walConsolidationInterval"
        sampleapp-services:
          type: AsdDeploymentItem
          file: "sampleapp-services-helm.tgz"  # this can be also a uri
          properties:
            artifactType: "helm_chart"
            itemId: 2 
            deploymentOrder: 2 
            lifecycleParameters:
              - ".Values.app.initialWebReplicas"

...

note: The following definitions files are there for all VSPs, but not really used outside of SDC; i.g., The VSP itself is an internal SDC structure, and I believe it is not supposed to be read/used outside of SDC.

For ASD, there would be no impact.


    •  onap (TBD)
      • _index.yml
      • artifacts.yml
      • capabilities.yml
      • data.yml
      • interfaces.yml
      • nodes.yml
      • relationships.yml
    • onapecomp                                
      • _index.yml
      • artifacts.yml
      • capabilities.yml
      • data.yml
      • interfaces.yml
      • nodes.yml
      • relationships.yml
    • openecomp-heat                      
      • _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: TASK #<12>: SDC generates this directory by copying artifacts from the onboarding App package
    • <cnf>.mf                   // TASK #<13>: based on the app/asd metadata in the onboarding manifest file, SDC creates app/asd-specific metadata (e.g., subcategory: ASD)

...

// The category associated will be defined in the main TOSCA descriptor metadata. So, runtime components solutions could know what type of resource they are dealing with.

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

...