Versions Compared

Key

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

...

Code Block
title tosca.datatype.asd.extCpdData
collapsetrue
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

...

Code Block
title tosca.datatype.asd.networkInterfaceRequirements
collapsetrue
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 isrealization applicableoptions for passthroughthe network andinterface memifin interfacesquestion.
     
       Currently listed options (virtio and memif) are Theapplicable defaultfor valuethe isinterfaceType ”kernel.netdev”“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 

...