Versions Compared

Key

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

...

Code Block
title tosca.datatype.asd.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
      description: 
        description: Describes the service exposed by the extCpd
        required: false
        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: 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: falsetrue
        type: boolean
        default: false
      ipam: 
        description: > 
                TheIdentifies defaultwhether value ("infraProvided") means that the CNI specifies how IPAM is done and assigns 
application expects IP address assignment to be managed by the cluster 
              infrastructure (CNI the IP address to the pod interface. IPAM plugin), or configured by orchestrator via for example helm input parameter, 
              or if IP assignment is handled by the application itself.
        required required: falsetrue
        type: string
        constraints:
          - valid_values: ["infraProvided", "orchestrated", "userManaged"]
           default: "infraProvided"
      interfaceType:
        description: > 
             ThisIndicates attributewhat istype applicableof fornetwork passthroughinterface andthe memifapplication interfacesexpects. 
            Kernel Thebased defaultvirtual valuenetdev is ”kernel.netdev”.​ 
        required: false
        type: stringbased on CNIs such as “ovs | bridge | macvlan | ipvlan, or  
        constraints:
    PCIe dev directly visible in application - valid_values: ["kernel.netdev", "direct.userdriver", "direct.kerneldriver", "direct.bond", "userspace"]
     interfaceOption:
namespace with kernel or userspace driver or
            description: > 
  or bonded with the Bond CNI, or userspace-CNI based network interface (requires DPDK-OVS/VPP vSwitch).
           required: Thisfalse
 attribute is applicable for passthrough and memif interfaces.type: string
        constraints:
      The default value is ”kernel.netdev”.​ 
  - valid_values: ["kernel.netdev", "direct.userdriver", "direct.kerneldriver", "direct.bond", "userspace"]
        default: "kernel.netdev"
      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: > 
         required: false
        type: list    Identifies switch-plane redundancy method the application uses, and that node infrastructure is required to comply with.
        entry_schema:
              type: string     "infraProvided", “left” and “right”: The container sees a single vNIC that a) the infrastructure bonds over both
             switchplanes constraints:
or b) that is connected to the network via only left or right the switchplane.
     - valid_values: [“virtio", "memif“]
     interfaceRedundancy:
  The other cases are for a description:mated >pair 
of  vnics  connecting  to  same  network,  but Defaultwhere valueone is "infra-provided”, which means that the infrastructure is expected to provide 
vNIC connects
             via left switch plane and the other via right switch networkplane, redundancyand forwhere the podapplication interface.manages Value "none" means that the application has no 
the redundancy. 
             "activePassiveBond": the application bonds with requirementmove onof networkMAC redundancyaddress. 
  Value ”matedPair” means that the Pod asks for a mated pair"activeActiveBond“: 
bonded left/right links must be part of a multi-chassis LAG 
   of non-redundant left/right network attachments (typically SRIOV) and handles redundancy on 
        "activePassiveL3": application will move application IP address between the vNICs.
     application level. The same set of networks shall be configured on both interfaces. 
 "activeActiveL3": the application uses anycast/ECMP.
         required: falsetrue
        type: string
        constraints:
          - valid_values: ["infraProvided", "actPassBond", "actActBond", "actPassL3", "actActL3", "Left", "Right"] 
     nicOptions"Left", "Right"] 
        default: "infraProvided"
      nicOptions:
        description: > 
             Identifies nicsfor athe direct user space driver.userdriver interface type, the physical nics the applicationdriver is verified to work with. Allowed values from ETSI registry.​ 
 
             Allowed values for nic types must be handled via a registry or be standardized.
       required required: false
        type: list
        entry_schema:
              type: string 

...

Code Block
title tosca.datatype.asd.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  "Describes the datatype for parameter mapping"
    properties:
      loadbalancerIP:
        description: >
     through which the orchestrator can configure the IP address(es), ipv4 and/or IPv6, for this 
       When present, this attribute specifies the name of the deployment artifact input parameter
       asdExtCpd. The param name and provided IP addressthrough valuewhich willthe beorchestrator passedcan toconfigure the loadbalancerIP deploymentparameter 
of the K8s service 
          tool when deploying the DeploymentArtifacts.or 
ingress  controller  that  the  required:ExtCpd falserepresents.
        type: string
      nadNamerequired: false
        descriptiontype: >string
          externalIPs:
     These attributes specifies, for an asdExtCpddescription: respesenting>
 a secondary network interface, 
         When present, this attribute specifies the name(s) of the deployment artifact input parameters through which the orchestrator parameter
              canthrough configurewhich the correspondingorchestrator network annotationcan inconfigure the podextermalIPs manifestparameter withof referencesthe 
K8s service 
            to the NAD(s) to be used for creating theor ingress controller, or the pod network interface.It is expected annotation, that the NADsExtCpd represents.
        required: false
     themselves have been createdtype: priorlist
 to the deployment of the deployment artifacts. entry_schema:
         required: false
        type: string
       nadNamespacenadName: 
        description: >
              These attributes specifiesSpecifies, for an asdExtCpdExtCpd respesenting a secondary network interface,
              the name(s) of the NetworkAttachmentDefinitions the orchestrator has created
              as base for the name(s) ofnetwork interface the deployment artifact input parameters through which the orchestrator 
         ExtCpd represents. 
        required: false
        type: string
      nadNamespace: 
     can configure the correspondingdescription: network>
 annotation in  the  pod  manifest  with  references  
Specifies, for an asdExtCpd respesenting a secondary network interface,
      to the NAD(s) to be used for creating the networknamespace interface.Itwhere isthe expectedNetworkAttachmentDefinitions that(NADs) theare NADs located.
              themselvesAttribute may havebe beenomitted createdif priorthe tonamespace theis deploymentsame ofas the deploymentapplication artifactsnamespace. 
        required: false
        type: string 

...