X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=csar-generator%2Fresources%2FDefinitions%2Fasd_types.yaml;fp=csar-generator%2Fresources%2FDefinitions%2Fasd_types.yaml;h=0000000000000000000000000000000000000000;hb=f801ec5b09a2b50e518771316d955d7c965e7d8a;hp=b004aa26f700534f02a5217c1d24f13c547e6668;hpb=f0a651675e31612ec4da499cb88ea288047ded27;p=nonrtric%2Fplt%2Frappmanager.git diff --git a/csar-generator/resources/Definitions/asd_types.yaml b/csar-generator/resources/Definitions/asd_types.yaml deleted file mode 100755 index b004aa2..0000000 --- a/csar-generator/resources/Definitions/asd_types.yaml +++ /dev/null @@ -1,448 +0,0 @@ -tosca_definitions_version: tosca_simple_yaml_1_2 -description: ASD types definitions version 0.1 -data_types: -tosca.datatypes.asd.networkInterfaceRequirements: - derived_from: tosca.datatypes.Root - version: 0.1 - description: "Describes the datatype for network interface requirements" - properties: - trunk_mode: - 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" - interface_type: - 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 bonded with the Bond - CNI, or userspace-CNI based network interface - (requires DPDK-OVS/VPP vSwitch). - required: true - type: string - constraints: - - valid_values: ["kernel.netdev", "direct.userdriver", "direct.kerneldriver", "direct.bond", "userspace"] - default: "kernel.netdev" - interface_option: - 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"] - interface_redundancy: - 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" - nic_options: - 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.datatypes.asd.paramMappings: - version: 0.1 - derived_from: tosca.datatypes.Root - description: "Describes the datatype for parameter mapping" - properties: - loadbalancer_IP: - 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 extCpdData represents. - Note: The format of the Content strings is specific for each different - orchestration templating technology used (Helm, Teraform, etc.). - Currently only a format for use with Helm charts is suggested: - ":[.]^(0..N)[.]^(0..N)". - Whether the optional parts of the format are present depends on how the - parameter is declared in the helm chart. An example is: - "chartName:subChart1.subChart2.subChart3.Parent1.Parent2.Parent3.LBIP". - required: false - type: string - external_IPs: - 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 - extCpdData represents. - Note: The format of the Content strings is specific for each different - orchestration templating technology used (Helm, Teraform, etc.). - Currently only a format for use with Helm charts is suggested: - ":[.]^(0..N)[.]^(0..N)". - Whether the optional parts of the format are present depends on how the - parameter is declared in the helm chart. An example is: - "chartName:subChart1.subChart2.subChart3.Parent1.Parent2.Parent3.extIP". - required: false - type: list - entry_schema: - type: string - nad_names: - description: > - Specifies, for an extCpdData respesenting a secondary network interface, - the name(s) of the deployment artifact input parameter(s) through which - the orchestrator can provide the names of the network attachment - definitions (NADs) the orchestrator has created as base for the network - interface the extCpdData represents. - Note 1: When the extCpdData represent a networkRedundant/mated-pair of - sriov interfaces, there are references to 2 or 3 related NADs needed - to be passed, while for other interface types only one NAD reference - is needed to be passed. - Note 2: The format of the Content strings is specific for each different - orchestration templating technology used (Helm, Teraform, etc.). - Currently only a format for use with Helm charts is suggested: - ":[.]^(0..N)[.]^(0..N)". - Whether the optional parts of the format are present depends on how the - parameter is declared in the helm chart. An example is: - chartName:"subChart1.subChart2.subChart3.Parent1.Parent2.Parent3.nadName". - Note 3: A direct attached (passthrough) network interface, such as an sriov - interface, attaches to a network via only one of the two switch planes - in the infrastructure. - When using a direct attached network interface one therefore commonly in a - pod uses a mated pair of sriov network attachments, where each interface - attaches same network but via different switchplane. - The application uses the mated pair of network interfaces as a single - logical “swith-path-redundant” network interface – and this is represented - by a single extCpdData. - Also there is a case where a third “bond” attachment interface is used in - the pod, bonding the two direct interfaces so that the application do not - need to handle the redundancy issues – application just uses the bond interface. - In this case, all three attachments are together making up a logical - “switch-path-redundant” network interface represented by a single extCpdData. - When three NADs are used in the extCpdData the NAD implementing the bond attachment - interface is provided through the parameter indicated in the third place in - the nadNames attribute. - required: false - type: list - entry_schema: - type: string - nad_namespace: - description: > - Specifies, for an extCpdData respesenting a secondary network interface, - the name of the deployment artifact input parameter through which the orchestrator - can provide the namespace where the NetworkAttachmentDefinitions (NADs) are located. - Attribute may be omitted if the namespace is same as the application - namespace. - Note: The format of the Content strings is specific for each different - orchestration templating technology used (Helm, Teraform, etc.). - Currently only a format for use with Helm charts is suggested: - ":[.]^(0..N)[.]^(0..N)". - Whether the optional parts of the format are present depends on how the - parameter is declared in the helm chart. An example is: - "chartName:subChart1.subChart2.subChart3.Parent1.Parent2.Parent3.NameSpace". - required: false - type: string - -tosca.datatypes.asd.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: > - This property describes for a particular ExtCpd instance - what service it exposes. - required: true - type: string - virtual_link_requirement: - 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 - network_interface_realization_requirements: - description: > - Details container implementation specific requirements on - the NetworkAttachmentDefinition - required: false - type: tosca.datatypes.asd.networkInterfaceRequirements - input_param_mappings: - description: > - Information on what helm chart input parameters that - are required to be configured for this extCpd - required: false - type: tosca.datatypes.asd.paramMappings - resource_mapping: - description: > - Kubernetes API resource name for the resource manifest for the service, - ingress controller or pod - required: false - type: string - -tosca.datatypes.asd.enhancedClusterCapabilities: - version: 0.1 - derived_from: tosca.datatypes.Root - description: "Describes the datatype for parameter mapping" - properties: - min_kernel_version: - description: > - Describes the minimal required Kernel version, e.g. 4.15.0. - Coded as displayed by linux command uname –r - required: true - type: string - required_kernel_modules: - 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 - conflicting_kernel_modules: - 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 - required_custom_resources: - 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 - cluster_labels: - description: > - This attribute allows to associate arbitrary labels to clusters. - These can indicate special infrastructure capabilities (e.g., NW acceleration, - GPU compute, etc.). The intent of these labels is to serve as a set of - values that can help in application placement decisions. - clusterLabels follow the Kubernetes label key-value-nomenclature - (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). - It is recommended that labels follow a standardized meaning e.g. for node - features (https://kubernetes-sigs.github.io/node-feature-discovery/v0.9/get-started/features.html#table-of-contents). - Example: - ClusterLabels - - feature.node.kubernetes.io/cpu-cpuid.AESNI: true - required: false - type: list - entry_schema: - type: string - required_plugin: - description: a list of the name of the required K8s plugin - required: false - type: list - entry_schema: - type: tosca.datatypes.asd.requiredPlugin - -tosca.datatypes.asd.customResourceRequirement: - version: 0.1 - derived_from: tosca.datatypes.Root - description: > - kind: "Redis", apiVersion: "kubedb.com/v1alpha1" - properties: - kind: - description: "the name of the custom resource requirement" - type: string - required: true - api_version: - description: "the api version of the custom resource requirement" - type: string - required: true - -tosca.datatypes.asd.requiredPlugin: - version: 0.1 - derived_from: tosca.datatypes.Root - description: "the required K8s plugin" - properties: - name: - description: "the name of the required K8s plugin" - type: string - required: true - version: - description: "the version of the required K8s plugin" - type: string - required: true - -node_types: - tosca.nodes.asd: - derived_from: tosca.nodes.Root - description: "The ASD node type" - version: 0.1 - properties: - descriptor_id: - type: string # UUID - required: true - description: Identifier of this ASD. It is in UUID format as specified in RFC 4122 - descriptor_invariant_id: - type: string # UUID - required: true - description: > - Identifier of this descriptor in a version independent manner. This attribute - is invariant across versions of ASD. It is in UUID format as specified in RFC 4122 - descriptor_version: - type: string - required: true - description: Identifies the version of the ASD. - schema_version: - type: string - required: true - description: Identifies the Identifies the version of this ASD’s schema. - function_description: - type: string - required: false - description: Description of the application service described by this ASD. - provider: - type: string - required: true - description: Identifies the provider of the ASD. - application_name: - type: string - required: true - description: Name to identify the application service described by this ASD - application_version: - type: string - required: true - description: Identifies the version of the application service described by this ASD. - ext_cpds: - type: list - required: false - entry_schema: - type: tosca.datatypes.asd.extCpdData - description: > - Describes the externally exposed connection points of the application - service described by this ASD - enhanced_cluster_capabilities: - type: tosca.datatypes.asd.enhancedClusterCapabilities - required: false - description: > - A list of expected capabilities of the target Kubernetes cluster to aid - placement of the application service on a suitable cluster. - tosca.nodes.asdInNsd: - derived_from: tosca.nodes.nfv.VNF - description: "The generic ASD node types for NS requirements. Optional properties are not list here." - version: 0.1 - properties: - descriptor_id: - type: string # UUID - description: Identifier of an ASD. It is in UUID format as specified in RFC 4122 - required: true - descriptor_version: - type: string - description: Identifies the version of the ASD. - required: true - default: "" - provider: - type: string - description: Identifies the provider of the ASD - required: true - default: "" - product_name: - type: string - description: Please use the application_name property - required: true - default: "" - software_version: - type: string - description: Please use the application_version property - required: true - default: "" - flavour_id: - type: string - required: true - constraints: [ equal: "simple" ] - default: "simple" - flavour_description: - type: string - required: true - default: "" - vnfm_info: - type: list - required: true - entry_schema: - type: list - requirements: - - virtual_link: - capability: tosca.capabilities.nfv.VirtualLinkable - relationship: tosca.relationships.nfv.VirtualLinkableTo - occurrences: [ 0,0 ] - - virtual_links: - capability: tosca.capabilities.nfv.VirtualLinkable - relationship: tosca.relationships.nfv.VirtualLinkableTo - occurrences: [ 0,UNBOUNDED ] -artifact_types: -tosca.artifacts.asd.deploymentItem: - version: 0.1 - derived_from: tosca.artifacts.Root - description: "Describes the artifact type of asd deployment item" - file: "URI or path of the artifact" - properties: - item_id: - description: "The identifier of this asd deployment item" - required: true - type: string - artifact_type: - description: > - Specify artifact type. - required: true - type: string - constraints: - - valid_values: ["helm_chart", "helmfile", "crd", "terraform" ] - deployment_order: - description: > - Specifies the deployment stage that the DeploymentArtifact belongs to. - A lower value specifies that the DeploymentArtifact belongs to an earlier - deployment stage. When this value is omitted, the deployment order - will be decided by the orchestrator. - required: false - type: integer - lifecycle_parameters: - description: "list of parameters that can be overridden at deployment time " - required: false - type: list - entry_schema: - type: string