Versions Compared

Key

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

...

Code Block
title tosca.datatype.onapasd.extCpdData
collapsetrue
extCpdData:
    version: 1.0
    derived_from: tosca.datatypes.Root  
    description: "Describes the datatype for external connection point definition data"
    properties:
      id:
        description: "The identifier of this extCpdData"
        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: true
        type: string       
      networkInterfaceRequirements:
        description: >
          Details container implementation specific requirements on 
          the NetworkAttachmentDefinition
        required: false
        type: datatype.networkInterfaceRequirements
      inputParamMappings:
        description: >
          Information on what helm chart input parameters that 
          are required to be configured for this extCpd
        required: false
        type: datatype.paramMappings
      resourceMapping:
        description: >
          Kubernetes API resource name for the resource manifest for the service
        required: false
        type: string

...

Code Block
title tosca.datatype.onapasd.networkInterfaceRequirements
collapsetrue
networkInterfaceRequirements:
    derived_from: tosca.datatypes.Root  
    version: 1.0
    description: "Describes the datatype for network interface requirements"
    properties:
      trunkMode:
        description: >
               Information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other). 
               When operating in "trunk mode", the Cp is capable of carrying traffic for several VLANs. 
               Absence of this property implies that trunkMode is not configured for the Cp i.e. 
               It is equivalent to boolean value "false".
        required: false
        type: boolean
      ipam: 
        description: >
              The default value ("infraProvided") means that the CNI specifies how IPAM is done and assigns 
              the IP address to the pod interface. 
        required: false
        type: string
        constraints:
          - valid_values: ["infraProvided", "orchestrated", "userManaged"]
     interfaceType:
        description: > 
             This attribute is applicable for passthrough and memif interfaces. 
             The default value is ”kernel.netdev”.​ 
        required: false
        type: string
        constraints:
          - valid_values: ["kernel.netdev", "direct.userdriver", "direct.kerneldriver", "direct.bond", "userspace"]
     interfaceOption:
        description: > 
             This attribute is applicable for passthrough and memif interfaces. 
             The default value is ”kernel.netdev”.​ 
        required: false
        type: list
        entry_schema:
              type: string
              constraints:
                  - valid_values: [“virtio", "memif“]
     interfaceRedundancy:
        description: > 
             Default value is "infra-provided”, which means that the infrastructure is expected to provide 
             network redundancy for the pod interface. Value "none" means that the application has no 
             requirement on network redundancy. Value ”matedPair” means that the Pod asks for a mated pair 
             of non-redundant left/right network attachments (typically SRIOV) and handles redundancy on 
             application level. The same set of networks shall be configured on both interfaces. 
        required: false
        type: string
        constraints:
          - valid_values: ["infraProvided", "actPassBond", "actActBond", "actPassL3", "actActL3", "Left", "Right"] 
     nicOptions:
        description: > 
             nics a direct user space driver the application is verified to work with. Allowed values from ETSI registry.​ 
        required: false
        type: list
        entry_schema:
              type: string 

...

Code Block
title tosca.datatype.onapasd.paramMappings
collapsetrue
paramMappings:
    version: 1.0
    derived_from: tosca.datatypes.Root  
    description: "Describes the datatype for parameter mapping"
    properties:
      ipAddressParameter:
        description: >
              When present, this attribute specifies the name of the deployment artifact input parameter 
              through which the orchestrator can configure the IP address(es), ipv4 and/or IPv6, for this 
              asdExtCpd. The param name and provided IP address value will be passed to the deployment 
              tool when deploying the DeploymentArtifacts. 
        required: false
        type: string
      nadName: 
        description: >
              These attributes specifies, for an asdExtCpd respesenting a secondary network interface, 
              the name(s) of the deployment artifact input parameters through which the orchestrator 
              can configure the corresponding network annotation in the pod manifest with references 
              to the NAD(s) to be used for creating the network interface.It is expected that the NADs 
              themselves have been created prior to the deployment of the deployment artifacts. 
        required: false
        type: string
      nadNamespace: 
        description: >
              These attributes specifies, for an asdExtCpd respesenting a secondary network interface, 
              the name(s) of the deployment artifact input parameters through which the orchestrator 
              can configure the corresponding network annotation in the pod manifest with references 
              to the NAD(s) to be used for creating the network interface.It is expected that the NADs 
              themselves have been created prior to the deployment of the deployment artifacts. 
        required: false
        type: string 

...

Code Block
title tosca.datatype.onapasd.enhancedClusterCapabilities
collapsetrue
enhancedClusterCapabilities:
    version: 1.0
    descriptionderived_from: tosca.datatypes.Root 
    description: "Describes the datatype for parameter mapping"
    properties:
      minKernelVersion:
        description: "Describes the minimal required Kernel version, e.g. 4.15.0. Coded as displayed by linux command uname –r"
        required: true
        type: string  
      requiredKernelModules:
        description: > 
             Required kernel modules are coded as listed by linux lsmod command, e.g. ip6_tables, cryptd, nf_nat etc.​ 
        required: false
        type: list
        entry_schema:
              type: string 
      conflictingKernelModules:
        description: > 
             Kernel modules, which must not be present in the target environment. 
             The kernel modules are coded as listed by linux lsmod command, e.g. ip6_tables, cryptd, nf_nat etc. 
             Example: Linux kernel SCTP module, which would conflict with use of proprietary user space 
             SCTP stack provided by the application.​ 
        required: false
        type: list
        entry_schema:
              type: string   
      requiredCustomResources:
        description: >               
            List the custom resource kinds required to be supported in the target environment. 
            The list shall include those custom resource kinds which are not delivered with the application.			 
        required: false
        type: list
        entry_schema:
              type: tosca.datatypes.asd.CustomResourceRequirement
         tosca.datatypes.asd.CustomResourceRequirement   clusterLabels:
        description: > 
   derived_from: tosca.datatypes.Root
            description: >          This attribute allows to associate arbitrary labels to clusters.
             These can indicate special infrastructure capabilities  kind: "Redis", apiVersion: "kubedb.com/v1alpha1"(e.g., NW acceleration, GPGPU compute, etc.). 
            properties:
 The intent of these labels is to serve as a set of values that can help in application kind:
placement decisions. 
             This can be specified with the    type:attribute string
              -m: Mandatory, means deployment is not attempted if such support required:is true
not available in the target system
              apiVersion-p:
 As preference - it means orchestrator will try to select a system with specific requirements, 
        type: string
         but if not found it will attempt deployment in a system not having such HW. required: true
         clusterLabelsrequired: false
        descriptiontype: > list
             This attributeentry_schema:
 allows to associate arbitrary labels to clusters.
       type: string  
    These  canrequiredPodAnnotations:
 indicate special infrastructure capabilities (e.g., NW acceleration, GPGPU compute, etc.). 
             The intent of these labels is to serve as a set of values that can help in application placement decisions. 
             This can be specified with the attribute 
              -m: Mandatory, means deployment is not attempted if such support is not available in the target system
              -p: As preference - it means orchestrator will try to select a system with specific requirements, 
                  but if not found it will attempt deployment in a system not having such HW.    description: > 
             Annotations required to be supported.
             Example that list requirement for Kubernetes cluster infrastructure support for the Multus network attachment annotations:
             requiredPodAnnotations: {"k8s.v1.cncf.io/networks", ... } 
        required: false
        type: list
        entry_schema:
:
              type: string  


Code Block
title tosca.datatype.asd.customResourceRequirement
collapsetrue
customResourceRequirement: 
       version: 1.0
       derived_from: tosca.datatypes.Root 
       typedescription: string> 
 
      requiredPodAnnotations:
      kind: "Redis", descriptionapiVersion: >"kubedb.com/v1alpha1" 
             Annotations required to be supported. properties: 
             Example that list requirement for Kubernetes cluster infrastructure support for the Multus network attachment annotations:kind: 
             type: string 
             requiredPodAnnotationsrequired: {"k8s.v1.cncf.io/networks", ... } 
        required: false
    true 
           apiVersion: 
    type: list
        entry_schema:type: string 
              typerequired: string true