Fixed WD04, Rev02 (2016-9-6) and WD04, Rev03 (2016-11-7)
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/caa535e5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/caa535e5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/caa535e5 Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04 Commit: caa535e515c7e1e27c32be6e3341f0e3c0163284 Parents: 5660d51 Author: Avia Efrat <a...@gigaspaces.com> Authored: Mon Jun 5 16:21:19 2017 +0300 Committer: Avia Efrat <a...@gigaspaces.com> Committed: Mon Jun 5 16:21:19 2017 +0300 ---------------------------------------------------------------------- .../profiles/tosca-simple-nfv-1.0/data.yaml | 289 +++++++++++++++++++ .../profiles/tosca-simple-nfv-1.0/nodes.yaml | 240 +++++++++++---- 2 files changed, 473 insertions(+), 56 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/caa535e5/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml index 89e3565..f6a07ef 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml @@ -15,6 +15,295 @@ data_types: + tosca.datatypes.nfv.L2AddressData: + _extensions: + shorthand_name: L2AddressData + type_qualified_name: tosca:L2AddressData + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896055' + # ARIA NOTE: This type is empty in csd04, and is only specified here since the + # tosca.datatypes.nfv.AddressData references it (and states 'empty in "GS NFV IFA011 V0.7.3"') + + tosca.datatypes.nfv.L3AddressData: + _extensions: + shorthand_name: L3AddressData + type_qualified_name: tosca:L3AddressData + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896056' + description: >- + The L3AddressData type is a complex TOSCA data type used to describe L3AddressData information + element as defined in [ETSI GS NFV-IFA 011], it provides the information on the IP addresses + to be assigned to the connection point instantiated from the parent Connection Point + Descriptor. + derived_from: tosca.datatypes.Root + properties: + ip_address_assignment: + description: >- + Specify if the address assignment is the responsibility of management and orchestration + function or not. If it is set to True, it is the management and orchestration function + responsibility. + type: boolean + required: true + floating_ip_activated: + description: Specify if the floating IP scheme is activated on the Connection Point or not. + type: boolean + required: true + ip_address_type: + description: >- + Define address type. The address type should be aligned with the address type supported by + the layer_protocol properties of the parent VnfExtCpd + type: string + required: false + constraints: + - valid_values: [ ipv4, ipv6 ] + number_of_ip_address: + description: Minimum number of IP addresses to be assigned. + type: integer + required: false + + tosca.datatypes.nfv.AddressData: + _extensions: + shorthand_name: AddressData + type_qualified_name: tosca:AddressData + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.3 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896057' + description: >- + The AddressData type is a complex TOSCA data type used to describe AddressData information + element as defined in [ETSI GS NFV-IFA 011], it provides information on the addresses to be + assigned to the connection point(s) instantiated from a Connection Point Descriptor. + derived_from: tosca.datatypes.Root + properties: + address_type: + description: >- + Describes the type of the address to be assigned to the connection point instantiated from + the parent Connection Point Descriptor. The content type shall be aligned with the address + type supported by the layerProtocol property of the parent Connection Point Descriptor. + type: string + required: true + constraints: + - valid_values: [ mac_address, ip_address ] + l2_address_data: + description: >- + Provides the information on the MAC addresses to be assigned to the connection point(s) + instantiated from the parent Connection Point Descriptor. + type: tosca.datatypes.nfv.L2AddressData # empty in "GS NFV IFA011 V0.7.3" + required: false + # ARIA NOTE: states under the "constraints" column in the properties table: + # "Shall be present when the addressType is mac_address." + l3_address_data: + description: >- + Provides the information on the IP addresses to be assigned to the connection point + instantiated from the parent Connection Point Descriptor. + type: tosca.datatypes.nfv.L3AddressData + required: false + # ARIA NOTE: states under the "constraints" column in the properties table: + # "Shall be present when the addressType is ip_address." + + tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements: + _extensions: + shorthand_name: VirtualNetworkInterfaceRequirements + type_qualified_name: tosca:VirtualNetworkInterfaceRequirements + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.4 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896058' + description: >- + The VirtualNetworkInterfaceRequirements type is a complex TOSCA data type used to describe + VirtualNetworkInterfaceRequirements information element as defined in [ETSI GS NFV-IFA 011], + it provides the information to specify requirements on a virtual network interface realising the + CPs instantiated from this CPD. + derived_from: tosca.datatypes.Root + properties: + name: + description: Provides a human readable name for the requirement. + type: string + required: false + description: + description: Provides a human readable description for the requirement. + type: string + required: false + support_mandatory: + description: >- + Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation + or desirable (FALSE). + type: boolean + required: false + requirement: + description: >- + Specifies a requirement such as the support of SR-IOV, a particular data plane + acceleration library, an API to be exposed by a NIC, etc. + type: string # ARIA NOTE: I arbitrarily wrote "string" here, as csd04 specifies only this + # after requirement's type: "# not specified" + required: true + + tosca.datatypes.nfv.ConnectivityType: + _extensions: + shorthand_name: ConnectivityType + type_qualified_name: tosca:ConnectivityType + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.5 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896059' + description: >- + The TOSCA ConnectivityType type is a complex TOSCA data type used to describe ConnectivityType + information element as defined in [ETSI GS NFV-IFA 011]. + derived_from: tosca.datatypes.Root + properties: + layer_protocol: + description: >- + Identifies the protocol this VL gives access to (ethernet, mpls, odu2, ipv4, ipv6, + pseudo_wire). + type: string + required: true + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ] + flow_pattern: + description: Identifies the flow pattern of the connectivity (Line, Tree, Mesh). + type: string + required: false + + tosca.datatypes.nfv.RequestedAdditionalCapability: + _extensions: + shorthand_name: RequestedAdditionalCapability + type_qualified_name: tosca:RequestedAdditionalCapability + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.6 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896060' + description: RequestAdditionalCapability describes additional capability for a particular VDU. + derived_from: tosca.datatype.Root + properties: + request_additional_capability_name: + description: Identifies a requested additional capability for the VDU. + type: string + required: true + support_mandatory: + description: >- + Indicates whether the requested additional capability is mandatory for successful + operation. + type: string + required: true + min_requested_additional_capability_version: + description: Identifies the minimum version of the requested additional capability. + type: string + required: false + preferred_requested_additional_capability_version: + description: Identifies the preferred version of the requested additional capability. + type: string + required: false + target_performance_parameters: + description: >- + Identifies specific attributes, dependent on the requested additional capability type. + type: map + entry_schema: + type: string + required: true + + tosca.datatypes.nfv.VirtualMemory: + _extensions: + shorthand_name: VirtualMemory + type_qualified_name: tosca:VirtualMemory + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.7 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896061' + description: VirtualMemory describes virtual memory for a particular VDU. + derived_from: tosca.datatypes.Root + properties: + virtual_mem_size: + description: Amount of virtual memory. + type: scalar-unit.size # Number + required: true + virtual_mem_oversubscription_policy: + description: >- + The memory core oversubscription policy in terms of virtual memory to physical memory on + the platform. The cardinality can be 0 during the allocation request, if no particular + value is requested. + type: string + required: false + numa_enabled: + description: >- + It specifies the memory allocation to be cognisant of the relevant process/core + allocation. The cardinality can be 0 during the allocation request, if no particular value + is requested. + type: boolean + required: false + + tosca.datatypes.nfv.VirtualCpu: + _extensions: + shorthand_name: VirtualCpu + type_qualified_name: tosca:VirtualCpu + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.8 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896062' + description: VirtualMemory describes virtual memory for a particular VDU + derived_from: tosca.datatypes.Root + properties: + cpu_architecture: + description: CPU architecture type. Examples are x86, ARM. + type: string + required: false + num_virtual_cpu: + description: Number of virtual CPUâs + type: integer + required: true + virtual_cpu_clock: + description: Minimum virtual CPU clock rate + type: scalar-unit.frequency + required: false + virtual_cpu_oversubscription_policy: + description: CPU core oversubscription policy + type: string + required: false + virtual_cpu_pinning: + description: The virtual CPU pinning configuration for the virtualized compute resource. + type: tosca.datatypes.nfv.VirtualCpuPinning + required: false + + tosca.datatypes.nfv.VirtualCpuPinning: + _extensions: + shorthand_name: VirtualCpuPinning + type_qualified_name: tosca:VirtualCpuPinning + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.9 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896064' + description: VirtualCpuPinning describes CPU pinning configuration for a particular CPU. + derived_from: tosca.datatypes.Root + properties: + cpu_pinning_policy: + description: Indicates the policy for CPU pinning. + type: string # CpuPinningPolicy + constraints: + - valid_values: [ static, dynamic ] + required: false + cpu_pinning_map: + description: >- + If cpuPinningPolicy is defined as "static", the cpuPinningMap provides the map of pinning + virtual CPU cores to physical CPU cores/threads + type: map + entry_schema: + type: string + required: false + + tosca.datatypes.nfv.VnfcConfigurableProperties: + _extensions: + shorthand_name: VnfcconfigurableProperties + type_qualified_name: tosca:VnfcconfigurableProperties + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.10 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896065' + description: VnfcConfigurableProperties describes additional configurable properties of a VNFC + # ARIA NOTE: the spec documentation states: "VnfcconfigurableProperties describes + # VirtualCpuPinning describes additional configurable properties of a VNFC". + # I took the liberty of changing this to a more comprehensible sentence. + derived_from: tosca.datatypes.Root + properties: + additional_vnfc_configurable_properties: + description: Described additional configuration for VNFC + type: map + entry_schema: + type: string + required: false + tosca.datatypes.compute.Container.Architecture.CPUAllocation: _extensions: shorthand_name: Container.Architecture.CPUAllocation # seems to be a mistake in the spec; the norm is to add a "Container.Architecture." prefix http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/caa535e5/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml index d2c11dc..e8ab50f 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml @@ -45,6 +45,134 @@ node_types: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo + tosca.nodes.nfv.Cpd: + _extensions: + shorthand_name: Cpd + type_qualified_name: tosca:Cpd + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.4 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896081' + derived_from: tosca.nodes.Root + description: >- + The TOSCA nfv.Cpd node represents network connectivity to a compute resource or a VL as defined + by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for the various Cpd types. + derived_from: tosca.nodes.Root + properties: + layer_protocol: + description: Identifies which protocol the connection point uses for connectivity purposes + type: string + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ] + required: false + role: # Name in ETSI NFV IFA011 v0.7.3 cpRole + description: >- + Identifies the role of the port in the context of the traffic flow patterns in the VNF or + parent NS. For example a VNF with a tree flow pattern within the VNF will have legal cpRoles + of ROOT and LEAF + type: string + constraints: + - valid_values: [ root, leaf ] + required: false + description: + description: >- + Provides human-readable information on the purpose of the connection point + (e.g. connection point for control plane traffic). + type: string + required: false + address_data: + description: >- + Provides information on the addresses to be assigned to the connection point(s) instantiated + from this Connection Point Descriptor. + type: list + entry_schema: + type: tosca.datatype.nfv.AddressData + required: false + + tosca.nodes.nfv.VduCpd: + _extensions: + shorthand_name: VduCpd + type_qualified_name: tosca:VduCpd + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.5 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896082' + description: >- + The TOSCA nfv.VduCpd node type represents a type of TOSCA Cpd node and describes network + connectivity between a VNFC instance (based on this VDU) and an internal VL as defined by + [ETSI GS NFV-IFA 011]. + derived_from: tosca.nodes.nfv.Cpd + properties: + bitrate_requirement: + description: Bitrate requirement on this connection point. + type: integer + required: false + virtual_network_interface_requirements: + description: >- + Specifies requirements on a virtual network interface realising the CPs instantiated from + this CPD. + type: list + entry_schema: + type: VirtualNetworkInterfaceRequirements + required: false + requirements: + - virtual_link: + description: Describes the requirements for linking to virtual link + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + node: tosca.nodes.nfv.VnfVirtualLinkDesc + - virtual_binding: + description: Describe the requirement for binding with VDU + capability: tosca.capabilities.nfv.VirtualBindable + relationship: tosca.relationships.nfv.VirtualBindsTo + node: tosca.nodes.nfv.VDU + + VnfVirtualLinkDesc: + _extensions: + shorthand_name: VnfVirtualLinkDesc + type_qualified_name: tosca:VnfVirtualLinkDesc + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.6 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896083' + description: >- + The TOSCA nfv.VnfVirtualLinkDesc node type represents a logical internal virtual link as + defined by [ETSI GS NFV-IFA 011]. + derived_from: tosca.nodes.Root + properties: + connectivity_type: + description: >- + specifies the protocol exposed by the VL and the flow pattern supported by the VL + type: tosca.datatypes.nfv.ConnectivityType + required: true + description: + description: >- + provides human-readable information on the purpose of the VL (e.g. control plane traffic) + type: string + required: false + test_access: + description: >- + Test access facilities available on the VL (e.g. none, passive, monitoring, or active + (intrusive) loopbacks at endpoints + type: string + required: false + # ARIA NOTE: I commented out the "vl_flavours" property as it references the data type + # tosca.datatypes.nfv.VlFlavour, which does not exist in csd04 (it is only mentioned in section + # 5.9.6.4 as TBD) + #vl_flavours: + # description: Describe a specific flavour of the VL with specific bitrate requirements. + # type: map + # entry_schema: + # type: tosca.datatypes.nfv.VlFlavour + # required: true + capabilities: + virtual_linkable: + type: tosca.capabilities.nfv.VirtualLinkable + # ARIA NOTE: the "monitoring_parameters" capability is already commented out in the spec, and + # is copied here verbatim from section [5.9.6.5 Definition]. + # However, in section [5.9.6.4 Capabilities], the type of this capability is + # tosca.capabilities.nfv.Metric, and it also has a description. + + # monitoring_parameters: + # modeled as ad hoc (named) capabilities in node template + # tosca.nodes.nfv.VDU: # _extensions: # shorthand_name: VDU @@ -63,43 +191,43 @@ node_types: # monitoring_parameter: # type: tosca.capabilities.nfv.Metric - tosca.nodes.nfv.CP: - _extensions: - shorthand_name: CP - type_qualified_name: tosca:CP - specification: tosca-simple-nfv-1.0 - specification_section: 8.5.3 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290245' - description: >- - The NFV CP node represents a logical connection point entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. A connection point - may be, for example, a virtual port, a virtual NIC address, a physical port, a physical NIC address or the endpoint of an IP - VPN enabling network connectivity. It is assumed that each type of connection point will be modeled using subtypes of the CP - type. - derived_from: tosca.nodes.network.Port - properties: - type: - description: >- - This may be, for example, a virtual port, a virtual NIC address, a SR-IOV port, a physical port, a physical NIC address - or the endpoint of an IP VPN enabling network connectivity. - type: string - anti_spoofing_protection: - description: >- - Indicates of whether anti-spoofing rule need to be enabled for this vNIC. This is applicable only when CP type is virtual - NIC (vPort). - type: boolean - required: false - attributes: - address: - description: >- - The actual virtual NIC address that is been assigned when instantiating the connection point. - type: string - requirements: - - virtual_link: - capability: tosca.capabilities.nfv.VirtualLinkable - relationship: tosca.relationships.nfv.VirtualLinksTo - - virtual_binding: - capability: tosca.capabilities.nfv.VirtualBindable - relationship: tosca.relationships.nfv.VirtualBindsTo +# tosca.nodes.nfv.CP: +# _extensions: +# shorthand_name: CP +# type_qualified_name: tosca:CP +# specification: tosca-simple-nfv-1.0 +# specification_section: 8.5.3 +# specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290245' +# description: >- +# The NFV CP node represents a logical connection point entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. A connection point +# may be, for example, a virtual port, a virtual NIC address, a physical port, a physical NIC address or the endpoint of an IP +# VPN enabling network connectivity. It is assumed that each type of connection point will be modeled using subtypes of the CP +# type. +# derived_from: tosca.nodes.network.Port +# properties: +# type: +# description: >- +# This may be, for example, a virtual port, a virtual NIC address, a SR-IOV port, a physical port, a physical NIC address +# or the endpoint of an IP VPN enabling network connectivity. +# type: string +# anti_spoofing_protection: +# description: >- +# Indicates of whether anti-spoofing rule need to be enabled for this vNIC. This is applicable only when CP type is virtual +# NIC (vPort). +# type: boolean +# required: false +# attributes: +# address: +# description: >- +# The actual virtual NIC address that is been assigned when instantiating the connection point. +# type: string +# requirements: +# - virtual_link: +# capability: tosca.capabilities.nfv.VirtualLinkable +# relationship: tosca.relationships.nfv.VirtualLinksTo +# - virtual_binding: +# capability: tosca.capabilities.nfv.VirtualBindable +# relationship: tosca.relationships.nfv.VirtualBindsTo tosca.nodes.nfv.FP: _extensions: @@ -125,25 +253,25 @@ node_types: # Virtual link # - tosca.nodes.nfv.VL: - _extensions: - shorthand_name: VL - type_qualified_name: tosca:VL - specification: tosca-simple-nfv-1.0 - specification_section: 9.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290251' - description: >- - The NFV VL node type represents a logical virtual link entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. It is the default - type from which all other virtual link types derive. - derived_from: tosca.nodes.network.Network - properties: - vendor: - description: >- - Vendor generating this VLD. - type: string - capabilities: - virtual_linkable: - type: tosca.capabilities.nfv.VirtualLinkable +# tosca.nodes.nfv.VL: +# _extensions: +# shorthand_name: VL +# type_qualified_name: tosca:VL +# specification: tosca-simple-nfv-1.0 +# specification_section: 9.1 +# specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290251' +# description: >- +# The NFV VL node type represents a logical virtual link entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. It is the default +# type from which all other virtual link types derive. +# derived_from: tosca.nodes.network.Network +# properties: +# vendor: +# description: >- +# Vendor generating this VLD. +# type: string +# capabilities: +# virtual_linkable: +# type: tosca.capabilities.nfv.VirtualLinkable tosca.nodes.nfv.VL.ELine: _extensions: