Add tosca.nodes.nfv.VDU.Compute and tosca.nodes.nfv.VDU.VirtualStorage
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/15b9054e Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/15b9054e Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/15b9054e Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04 Commit: 15b9054e219ca7176e5d2cbbfee8f2cd114e3f0d Parents: 794af1c Author: Avia Efrat <a...@gigaspaces.com> Authored: Tue Jun 6 00:30:13 2017 +0300 Committer: Avia Efrat <a...@gigaspaces.com> Committed: Tue Jun 6 22:33:10 2017 +0300 ---------------------------------------------------------------------- .../profiles/tosca-simple-nfv-1.0/data.yaml | 2 +- .../profiles/tosca-simple-nfv-1.0/nodes.yaml | 180 ++++++++++++++++++- 2 files changed, 176 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/15b9054e/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 cf35cba..cec230c 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 @@ -99,7 +99,7 @@ data_types: 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: + # ARIA NOTE: the spec states under the "constraints" column in the properties table: # "Shall be present when the addressType is ip_address." tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/15b9054e/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 d0ccadd..b123aab 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 @@ -15,6 +15,176 @@ node_types: + tosca.nodes.nfv.VDU.Compute: + _extensions: + shorthand_name: VDU.Compute + type_qualified_name: tosca:VDU.Compute + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896079' + description: >- + The TOSCA nfv.VDU.Compute node type represents the virtual compute part of a VDU entity which + it mainly describes the deployment and operational behavior of a VNF component (VNFC), as + defined by [ETSI NFV IFA011]. + derived_from: tosca.nodes.Compute + properties: + name: + description: Human readable name of the Vdu + type: string + required: true + description: + description: Human readable description of the Vdu + type: string + required: true + boot_order: + description: >- + The key indicates the boot index (lowest index defines highest boot priority). + The Value references a descriptor from which a valid boot device is created e.g. + VirtualStorageDescriptor from which a VirtualStorage instance is created. If no boot order + is defined the default boot order defined in the VIM or NFVI shall be used. + type: type: # explicit index (boot index) not necessary, contrary to IFA011 + entry_schema: + type: string + required: false + nfvi_constraints: + description: >- + Describes constraints on the NFVI for the VNFC instance(s) created from this Vdu. + For example, aspects of a secure hosting environment for the VNFC instance that involve + additional entities or processes. More software images can be attached to the + virtualization container using virtual_storage. + type: list + entry_schema: + type: string + required: false + configurable_properties: + description: Describes the configurable properties of all VNFC instances based on this VDU. + type: map + entry_schema: + type: tosca.datatypes.nfv.VnfcConfigurableProperties + required: true + attributes: # ARIA NOTE: The attributes are only described in section [5.9.2.5 Definition], but + # are not mentioned in section [5.9.2.2 Attributes]. + # they are inherited from tosca.nodes.Compute. + private_address: + status: deprecated + public_address: + status: deprecated + networks: + status: deprecated + ports: + status: deprecated + capabilites: + virtual_compute: + description: Describes virtual compute resources capabilities. + type: tosca.capabilities.nfv.VirtualCompute + virtual_binding: + description: Defines ability of VirtualBindable + type: tosca.capabilities.nfv.VirtualBindable + + # ARIA NOTE: the "monitoring_parameter" capability is already commented out in the spec, and + # is copied here verbatim from section [5.9.2.5 Definition]. + # However, in section [5.9.2.4 Capabilities], the type of this capability is + # tosca.capabilities.nfv.Metric, and it also has a description. + # In addition, the spec might be wrong here regarding the name of this capability, since a + # very similar capability exists in section [5.9.6 tosca.nodes.nfv.VnfVirtualLinkDesc] and is + # named "monitoring_parameters" (as opposed to "monitoring_parameter" in here) + + #monitoring_parameter: + # modeled as ad hoc (named) capabilities in VDU node template + # for example: + #capabilities: + # cpu_load: tosca.capabilities.nfv.Metric + # memory_usage: tosca.capabilities.nfv.Metric + + host: #Editor note: FFS. How this capabilities should be used in NFV Profile + type: tosca.capabilities.Container + valid_source_types: [tosca.nodes.SoftwareComponent] + occurrences: [ 0,UNBOUNDED ] + endpoint: # ARIA NOTE: lacks type in contrast with the TOSCA spec + occurrences: [ 0,0 ] + os: # ARIA NOTE: lacks type in contrast with the TOSCA spec + occurrences: [ 0,0 ] + scalable: #Editor note: FFS. How this capabilities should be used in NFV Profile + type: tosca.capabilities.Scalable + binding: # ARIA NOTE: lacks type in contrast with the TOSCA spec + occurrences: [0,UNBOUNDED] + # ARIA NOTE: The aforementioned two capabilities ('host' and 'scalable') are only described in + # section [5.9.2.5 Definition], but are not mentioned in section [5.9.2.4 Capabilities]. + # they are inherited from tosca.nodes.Compute. + requirements: + - virtual_storage: + capability: tosca.capabilities.nfv.VirtualStorage + # ARIA NOTE: the above capability type does not exist in csd04... + relationship: tosca.relationships.nfv.VDU.AttachedTo + # ARIA NOTE: the above relationship type does not exist in csd04... + node: tosca.nodes.nfv.VDU.VirtualStorage + occurences: [ 0, UNBOUNDED ] + - local_storage: #For NFV Profile, this requirement is deprecated. + occurrences: [0,0] + # ARIA NOTE: what to do with this capability? + artifacts: + - sw_image: + description: >- + Describes the software image which is directly loaded on the virtualization container + realizing this virtual storage. + file: # ARIA NOTE: missing value even though it is required in TOSCA + type: tosca.artifacts.nfv.SwImage + # ARIA NOTE: this description is exactly the same as the description of the artifact of the + # same name of tosca.nodes.nfv.VDU.VirtualStorage. While the description seems fitting there + # here it seems it should mention something in the lines of "realizing this compute node", + # and not "realizing this virtual storage" + + tosca.nodes.nfv.VDU.VirtualStorage: + _extensions: + shorthand_name: VirtualStorage + # ARIA NOTE: inconsistent with tosca.nodes.nfv.VDU.VirtualStorage's shorthand_name, + # which is VDU.Compute + type_qualified_name: tosca:VirtualStorage + # ARIA NOTE: inconsistent with tosca.nodes.nfv.VDU.VirtualStorage's type_qualified_name, + # which is tosca:VDU.Compute + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.3 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896080' + description: >- + The NFV VirtualStorage node type represents a virtual storage entity which it describes the + deployment and operational behavior of a virtual storage resources, as defined by + [ETSI NFV IFA011]. + derived_from: tosca.nodes.Root + properties: + # ARIA NOTE: the "id" property is already commented out in the spec, and is copied here + # verbatim from section [5.9.3.5 Definition]. In section [5.9.3.1 Properties], this property + # does not have a type and a required values, but does have a description + #id: + # node name + type_of_storage: + description: Type of virtualized storage resource + type: string + required: true + size_of_storage: + description: Size of virtualized storage resource (in GB) + # ARIA NOTE: if the description states that the property assignment should be in GB, why + # does the type is 'scalar-unit.size' and not just integer? In addition, why does section + # [5.9.3.1 Properties] states in the constraints column of this attribute that the value + # should be a number? + type: scalar-unit.size + required: true + rdma_enabled: + description: Indicate if the storage support RDMA + type: boolean + required: false + capabilities: + virtual_storage: + type: tosca.capabilities.nfv.VirtualStorage + # ARIA NOTE: the above capability type does not exist in csd04. csd04 even states: + # "Editor Note: Need to create tosca.capabilities.nfv.VirtualStorage capability type." + artifacts: + - sw_image: + description: >- + Describes the software image which is directly loaded on the virtualization + container realizing this virtual storage. + file: # ARIA NOTE: missing value even though it is required in TOSCA + type: tosca.artifacts.nfv.SwImage + tosca.nodes.nfv.Cpd: _extensions: shorthand_name: Cpd @@ -99,7 +269,7 @@ node_types: # tosca.nodes.nfv.VDU.VirtualStorage. I choose to use tosca.nodes.nfv.VDU.Compute, but it # can be changed upon discussion. - VnfVirtualLinkDesc: + tosca.nodes.nfv.VnfVirtualLinkDesc: _extensions: shorthand_name: VnfVirtualLinkDesc type_qualified_name: tosca:VnfVirtualLinkDesc @@ -139,10 +309,14 @@ node_types: 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. + # In addition, the spec might be wrong here regarding the name of this capability, since a + # very similar capability exists in section [5.9.2 tosca.nodes.nfv.VDU.Compute] and is + # named "monitoring_parameter" (as opposed to "monitoring_parameters" in here) # monitoring_parameters: # modeled as ad hoc (named) capabilities in node template @@ -167,10 +341,6 @@ node_types: - forwarder: capability: tosca.capabilities.nfv.Forwarder - # - # Virtual link - # - tosca.nodes.nfv.VL.ELine: _extensions: shorthand_name: VL.ELine # ARIA NOTE: omitted in the spec