You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

tosca.datatype.asd.extCpdData
extCpdData:
    version: 0.1
    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
      description:
        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.asd.networkInterfaceRequirements
      inputParamMappings:
        description: >
          Information on what helm chart input parameters that 
          are required to be configured for this extCpd
        required: false
        type: datatype.asd.paramMappings
      resourceMapping:
        description: >
          Kubernetes API resource name for the resource manifest for the service, ingress controller or pod
        required: false
        type: string
tosca.datatype.asd.networkInterfaceRequirements
networkInterfaceRequirements:
    derived_from: tosca.datatypes.Root  
    version: 0.1
    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: true
        type: boolean
        default: false
      ipam: 
        description: > 
              Identifies whether application expects IP address assignment to be managed by the cluster 
              infrastructure (CNI IPAM plugin), or configured by orchestrator via for example helm input parameter, 
              or if IP assignment is handled by the application itself.
        required: true
        type: string
        constraints:
          - valid_values: ["infraProvided", "orchestrated", "userManaged"]
        default: "infraProvided"
      interfaceType:
        description: > 
            Indicates what type of network interface the application expects.
            Kernel based virtual netdev based on CNIs such as “ovs | bridge | macvlan | ipvlan, or  
            PCIe dev directly visible in application namespace with kernel or userspace driver or
            or bonded with the Bond CNI, or userspace-CNI based network interface (requires DPDK-OVS/VPP vSwitch).
          required: false
        type: string
        constraints:
          - valid_values: ["kernel.netdev", "direct.userdriver", "direct.kerneldriver", "direct.bond", "userspace"]
        default: "kernel.netdev"
      interfaceOption:
        description: > 
            This attribute describes verified realization options for the network interface in question.
            Currently listed options (virtio and memif) are applicable for the interfaceType “userspace”.
        required: false
        type: list
        entry_schema:
              type: string
              constraints:
                  - valid_values: [“virtio", "memif“]
     interfaceRedundancy:
        description: > 
             Identifies switch-plane redundancy method the application uses, and that node infrastructure is required to comply with.
             "infraProvided", “left” and “right”: The container sees a single vNIC that a) the infrastructure bonds over both
             switchplanes or b) that is connected to the network via only left or right the switchplane.
             The other cases are for a mated pair of vnics connecting to same network, but where one vNIC connects
             via left switch plane and the other via right switch plane, and where the application manages the redundancy. 
             "activePassiveBond": the application bonds with move of MAC address. 
             "activeActiveBond“: bonded left/right links must be part of a multi-chassis LAG 
             "activePassiveL3": application will move application IP address between the vNICs.
             "activeActiveL3": the application uses anycast/ECMP.
        required: true
        type: string
        constraints:
          - valid_values: ["infraProvided", "actPassBond", "actActBond", "actPassL3", "actActL3", "Left", "Right"] 
        default: "infraProvided"
      nicOptions:
        description: > 
             Identifies for the direct.userdriver interface type, the physical nics the driver is verified to work with.
             Allowed values for nic types must be handled via a registry or be standardized.
        required: false
        type: list
        entry_schema:
              type: string 
tosca.datatype.asd.paramMappings
paramMappings:
    version: 0.1
    derived_from: tosca.datatypes.Root  
    description: "Describes the datatype for parameter mapping"
    properties:
      loadbalancerIP:
        description: >
              When present, this attribute specifies the name of the deployment artifact input parameter
              through which the orchestrator can configure the loadbalancerIP parameter of the K8s service 
              or ingress controller that the ExtCpd represents.
        required: false
        type: string
      externalIPs:
        description: >
              When present, this attribute specifies the name of the deployment artifact input parameter
              through which the orchestrator can configure the extermalIPs parameter of the K8s service 
              or ingress controller, or the pod network interface annotation, that the ExtCpd represents.
        required: false
        type: list
        entry_schema:
           type: string
      nadName: 
        description: >
              Specifies, for an ExtCpd respesenting a secondary network interface,
              the name(s) of the NetworkAttachmentDefinitions the orchestrator has created
              as base for the network interface the ExtCpd represents. 
        required: false
        type: list
        entry_schema:
           type: string
      nadNamespace: 
        description: >
              Specifies, for an asdExtCpd respesenting a secondary network interface,
              the namespace where the NetworkAttachmentDefinitions (NADs) are located.
              Attribute may be omitted if the namespace is same as the application namespace.
        required: false
        type: string 
tosca.datatype.asd.enhancedClusterCapabilities
enhancedClusterCapabilities:
    version: 0.1
    derived_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
      clusterLabels:
        description: > 
             This attribute allows to associate arbitrary labels to clusters.
             These can 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.  
        required: false
        type: list
        entry_schema:
              type: string  
      requiredPodAnnotations:
        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  
tosca.datatype.asd.customResourceRequirement
customResourceRequirement: 
       version: 0.1
       derived_from: tosca.datatypes.Root 
       description: > 
           kind: "Redis", apiVersion: "kubedb.com/v1alpha1" 
       properties: 
           kind: 
             type: string 
             required: true 
           apiVersion: 
             type: string 
             required: true 
  • No labels