summaryrefslogtreecommitdiffstats
path: root/common/onap-tosca-datatype
diff options
context:
space:
mode:
authordekstroza <dejan.kitic@ericsson.com>2018-05-18 15:23:12 +0100
committerMichael Lando <ml636r@att.com>2018-05-27 23:13:27 +0300
commitcb72310ab92091c47502f7e3c1bf2162884dca83 (patch)
treecfd6fbf0abf585c35f16dd72380a703cbdc13e8b /common/onap-tosca-datatype
parenta4d6b57e6b8babca1007680fa51fa38f2eccf536 (diff)
R2 model updates
All model verification changes and updated in single patch. Change-Id: Ie794dc141400490bf1a858a8d6c9d1c45e5b9443 Issue-ID: SDC-1253 Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'common/onap-tosca-datatype')
-rw-r--r--common/onap-tosca-datatype/src/main/resources/globalTypes/onap/_index.yml4
-rw-r--r--common/onap-tosca-datatype/src/main/resources/globalTypes/onap/artifacts.yml27
-rw-r--r--common/onap-tosca-datatype/src/main/resources/globalTypes/onap/capabilities.yml19
-rw-r--r--common/onap-tosca-datatype/src/main/resources/globalTypes/onap/data.yml311
-rw-r--r--common/onap-tosca-datatype/src/main/resources/globalTypes/onap/interfaces.yml80
-rw-r--r--common/onap-tosca-datatype/src/main/resources/globalTypes/onap/nodes.yml552
-rw-r--r--common/onap-tosca-datatype/src/main/resources/globalTypes/onap/relationships.yml8
7 files changed, 633 insertions, 368 deletions
diff --git a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/_index.yml b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/_index.yml
index 145766b3b0..2d7c522570 100644
--- a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/_index.yml
+++ b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/_index.yml
@@ -32,4 +32,8 @@ imports:
file: groups.yml
- data:
file: data.yml
+- interfaces:
+ file: interfaces.yml
+- artifacts:
+ file: artifacts.yml
diff --git a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/artifacts.yml b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/artifacts.yml
new file mode 100644
index 0000000000..57ecb028e0
--- /dev/null
+++ b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/artifacts.yml
@@ -0,0 +1,27 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+tosca_definitions_version: tosca_simple_yaml_1_1
+
+metadata:
+ filename: onap/artifacts.yml
+ version: '1.0'
+
+imports:
+- onap_index:
+ file: _index.yml
+
+artifact_types:
+ tosca.artifacts.nfv.SwImage:
+ derived_from: tosca.artifacts.Deployment.Image
diff --git a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/capabilities.yml b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/capabilities.yml
index 3a7104fd9d..e37169ba04 100644
--- a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/capabilities.yml
+++ b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/capabilities.yml
@@ -33,18 +33,29 @@ capability_types:
tosca.capabilities.nfv.VirtualBindable:
derived_from: tosca.capabilities.Root
+ tosca.capabilities.nfv.ExtVirtualLinkable:
+ derived_from: tosca.capabilities.Root
+
tosca.capabilities.nfv.VirtualCompute:
derived_from: tosca.capabilities.Root
properties:
- virtual_memory:
- type: tosca.datatypes.nfv.VirtualMemory
+ logical_node:
+ type: tosca.datatypes.nfv.LogicalNodeData
+ required: false
+ #compute_requirements: Type is TBD
+ #type: map
+ #required: false
requested_additional_capabilities:
+ type: map
entry_schema:
- type: tosca.datatypes.nfv.RequestedAdditionalCapability
+ type: tosca.datatypes.nfv.RequestedAdditionalCapability
required: false
- type: map
+ virtual_memory:
+ type: tosca.datatypes.nfv.VirtualMemory
+ required: true
virtual_cpu:
type: tosca.datatypes.nfv.VirtualCpu
+ required: true
tosca.capabilities.nfv.VirtualStorage:
derived_from: tosca.capabilities.Root
diff --git a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/data.yml b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/data.yml
index de251c3843..36f2ae3b0f 100644
--- a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/data.yml
+++ b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/data.yml
@@ -53,6 +53,11 @@ data_types:
virtual_mem_oversubscription_policy:
type: string
required: false
+ vdu_memory_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
numa_enabled:
type: boolean
required: false
@@ -71,9 +76,22 @@ data_types:
virtual_cpu_oversubscription_policy:
type: string
required: false
+ vdu_cpu_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
virtual_cpu_pinning:
type: tosca.datatypes.nfv.VirtualCpuPinning
required: false
+ tosca.datatypes.nfv.LogicalNodeData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ logical_node_requirements:
+ type: map # not defined in SOL001 v.6.0
+ entry_schema:
+ type: string
+ required: false
tosca.datatypes.nfv.VirtualCpuPinning:
derived_from: tosca.datatypes.Root
properties:
@@ -95,42 +113,60 @@ data_types:
required: false
type: map
tosca.datatypes.nfv.L3AddressData:
+ derived_from: tosca.datatypes.Root
properties:
- number_of_ip_address:
- required: false
- type: integer
ip_address_assignment:
type: boolean
+ required: true
+ floating_ip_activated:
+ type: boolean
+ required: true
ip_address_type:
+ type: string
+ required: false
constraints:
- - valid_values:
- - ipv4
- - ipv6
+ - valid_values: [ipv4, ipv6]
+ number_of_ip_address:
+ type: integer
+ required: false
+ fixed_ip_address: #used for vCPE usecase
+ type: list
+ entry_schema:
+ type: string
required: false
- type: string
- floating_ip_activated:
- type: string
tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+ derived_from: tosca.datatypes.Root
properties:
name:
+ type: string
required: false
+ description:
type: string
+ required: false
support_mandatory:
type: boolean
- description:
- required: false
- type: string
- requirement:
+ required: true
+ network_interface_requirements:
+ type: map
entry_schema:
type: string
- type: map
+ required: true
+ nic_io_requirements:
+ type: tosca.datatypes.nfv.LogicalNodeData
+ required: false
+ tosca.datatypes.nfv.injectFile: #used for vCPE usecase
+ derived_from: tosca.datatypes.Root
+ properties:
+ source_path:
+ type: string
+ required: true
+ dest_path:
+ type: string
tosca.datatype.nfv.AddressData:
properties:
address_type:
constraints:
- - valid_values:
- - mac_address
- - ip_address
+ - valid_values: [mac_address, ip_address]
type: string
l2_address_data:
required: false
@@ -138,7 +174,12 @@ data_types:
l3_address_data:
required: false
type: tosca.datatypes.nfv.L3AddressData
- tosca.datatypes.nfv.L2AddressData: {}
+ tosca.datatypes.nfv.L2AddressData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ mac_address_assignment:
+ type: boolean
+ required: true
tosca.datatypes.nfv.ConnectivityType:
properties:
layer_protocol:
@@ -154,6 +195,9 @@ data_types:
flow_pattern:
required: false
type: string
+ # not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ constraints:
+ - valid_values: [Line, Tree, Mesh]
tosca.datatypes.nfv.ext.FloatingIP:
properties:
external_network:
@@ -212,4 +256,233 @@ data_types:
type: string
nexthop:
required: false
- type: string \ No newline at end of file
+ type: string
+ tosca.datatypes.nfv.VduProfile:
+ derived_from: tosca.datatypes.Root
+ properties:
+ min_number_of_instances:
+ type: integer
+ required: true
+ max_number_of_instances:
+ type: integer
+ required: true
+ #localAffinityOrAntiAffinityRule: # not defined in SOL001 v.6.0
+ # type: tosca.datatypes.nfv.LocalAffinityOrAntiAffinityRule
+ # required: true
+ #affinityOrAntiAffinityGroupId: # not defined in SOL001 v.6.0
+ # type: string
+ # required: true
+ watchdog: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: true
+ vmBootUpTimeOut: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: integer
+ required: optional
+ tosca.datatypes.nfv.LinkBitRateRequirements:
+ derived_from: tosca.datatypes.Root
+ properties:
+ root:
+ type: integer
+ required: true
+ leaf:
+ type: integer
+ required: true
+ tosca.datatypes.nfv.Qos:
+ derived_from: tosca.datatypes.Root
+ properties:
+ latency:
+ type: integer #Number [ms]
+ required: true
+ packet_delay_variation:
+ type: integer #Number [ms]
+ required: true
+ packet_loss_ratio:
+ type: float #Number [0 ..1]
+ required: false
+ tosca.datatypes.nfv.VlProfile:
+ derived_from: tosca.datatypes.Root
+ properties:
+ max_bit_rate_requirements:
+ type: tosca.datatypes.nfv.LinkBitRateRequirements
+ required: true
+ min_bit_rate_requirements:
+ type: tosca.datatypes.nfv.LinkBitRateRequirements
+ required: true
+ qos:
+ type: tosca.datatypes.nfv.Qos
+ required: false
+ initiationParameters: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ cidr: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ networkName: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ startIp: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ endIp: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ gatewayIp: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ segmentationId: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: integer
+ required: false
+ physicalNetwork: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ networkType: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ constraints:
+ - valid_values: [VLAN, VXLAN]
+ dhcpEnabled: # not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: boolean
+ required: false
+ vlanTransparent: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: boolean
+ required: false
+ tosca.datatypes.nfv.VduLevel:
+ derived_from: tosca.datatypes.Root
+ properties:
+ number_of_instances:
+ type: integer
+ required: true
+ tosca.datatypes.nfv.ScaleInfo:
+ derived_from: tosca.datatypes.Root
+ properties:
+ scaleLevel:
+ type: integer
+ required: true
+ tosca.datatypes.nfv.ScaleAspect:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ description:
+ type: string
+ required: true
+ associated_group:
+ type: string #Identifier
+ required: false
+ max_scale_level:
+ type: integer #PositiveInteger
+ required: true
+ tosca.datatypes.nfv.InstantiationLevel:
+ derived_from: tosca.datatypes.Root
+ properties:
+ description:
+ type: string
+ required: true
+ vdu_levels:
+ type: map # key: vduId
+ required: true
+ entry_schema:
+ type: tosca.datatypes.nfv.VduLevel
+ scale_info:
+ type: map # key: aspectId
+ required: false
+ entry_schema:
+ type: tosca.datatypes.nfv.ScaleInfo
+ #tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:
+ # derived_from: tosca.datatypes.Root
+ #properties:
+ #parameters:
+ #modeled as part of operation parameter list
+ tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #parameters:
+ #modeled as part of the operation parameter list
+ scaling_by_more_than_one_step_supported:
+ type: boolean
+ tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #parameters:
+ #modeled as part of the operation parameter list
+ arbitrary_target_levels_supported:
+ type: boolean
+ tosca.datatypes.nfv.VnfHealOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #parameters:
+ #modeled as part of the operation parameter list
+ causes:
+ type: list
+ entry_schema:
+ type: string
+ tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ min_graceful_termination_timeout:
+ type: integer
+ max_recommended_graceful_termination_timeout:
+ type: integer
+ tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ min_graceful_termination_timeout:
+ type: integer
+ max_recommended_graceful_termination_timeout:
+ type: integer
+ tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ # instantiate:
+ # type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration
+ scale:
+ type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+ scale_to_level:
+ type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+ heal:
+ type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+ terminate:
+ type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+ operate:
+ type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+ tosca.datatypes.nfv.CpProtocolData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ asscociated_layer_protocol:
+ type: string
+ constraints:
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
+ required: true
+ address_data:
+ type: tosca.datatypes.nfv.AddressData
+ required: false
+ #tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
+ # derived_from: tosca.datatypes.Root
+ tosca.datatypes.nfv.VnfConfigurableProperties:
+ derived_from: tosca.datatypes.Root
+ properties:
+ is_autoscale_enabled:
+ type: boolean
+ required: false
+ is_autoheal_enabled:
+ type: boolean
+ required: false
+ # additional_configurable_properties:
+ # type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
+ # required: false
+ #tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+ # derived_from: tosca.datatypes.Root
+ #tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+ # derived_from: tosca.datatypes.Root
+ #tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+ # derived_from: tosca.datatypes.Root
+ # properties:
+ # extensions:
+ # type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+ # required: false
+ # metadata:
+ # type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+ # required: false
diff --git a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/interfaces.yml b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/interfaces.yml
new file mode 100644
index 0000000000..665c791737
--- /dev/null
+++ b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/interfaces.yml
@@ -0,0 +1,80 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+tosca_definitions_version: tosca_simple_yaml_1_1
+
+metadata:
+ filename: onap/interfaces.yml
+ version: '1.0'
+
+imports:
+- onap_index:
+ file: _index.yml
+
+interface_types:
+ tosca.interfaces.nfv.vnf.lifecycle.Nfv:
+ instantiate:
+ description: Invoked upon receipt of an Instantiate VNF request
+ instantiate_start:
+ description: Invoked before instantiate
+ instantiate_end:
+ description: Invoked after instantiate
+ terminate:
+ description: Invoked upon receipt Terminate VNF request
+ terminate_start:
+ description: Invoked before terminate
+ terminate_end:
+ description: Invoked after terminate
+ modify_information:
+ description: Invoked upon receipt of a Modify VNF Information request
+ modify_information_start:
+ description: Invoked before modify_information
+ modify_information_end:
+ description: Invoked after modify_information
+ change_flavour:
+ description: Invoked upon receipt of a Change VNF Flavour request
+ change_flavour_start:
+ description: Invoked before change_flavour
+ change_flavour_end:
+ description: Invoked after change_flavour
+ change_external_connectivity:
+ description: Invoked upon receipt of a Change External VNF Connectivity request
+ change_external_connectivity_start:
+ description: Invoked before change_external_connectivity
+ change_external_connectivity_end:
+ description: Invoked after change_external_connectivity
+ operate:
+ description: Invoked upon receipt of an Operate VNF request
+ operate_start:
+ description: Invoked before operate
+ operate_end:
+ description: Invoked after operate
+ heal:
+ description: Invoked upon receipt of a Heal VNF request
+ heal_start:
+ description: Invoked before heal
+ heal_end:
+ description: Invoked after heal
+ scale:
+ description: Invoked upon receipt of a Scale VNF request
+ scale_start:
+ description: Invoked before scale
+ scale_end:
+ description: Invoked after scale
+ scale_to_level:
+ description: Invoked upon receipt of a Scale VNF to Level request
+ scale_to_level_start:
+ description: Invoked before scale_to_level
+ scale_to_level_end:
+ description: Invoked after scale_to_level \ No newline at end of file
diff --git a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/nodes.yml b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/nodes.yml
index 643f731f09..f6a7c90b3c 100644
--- a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/nodes.yml
+++ b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/nodes.yml
@@ -122,369 +122,100 @@ node_types:
- 0
- UNBOUNDED
- tosca.nodes.nfv.VDU.Compute:
- attributes:
- private_address:
- type: string
- public_address:
- type: string
- networks:
- type: string
- ports:
- type: string
- capabilities:
- scalable:
- type: tosca.capabilities.Scalable
- virtual_compute:
- type: tosca.capabilities.nfv.VirtualCompute
- endpoint:
- type: tosca.capabilities.Endpoint.Admin
- os:
- type: tosca.capabilities.OperatingSystem
- virtual_binding:
- type: tosca.capabilities.nfv.VirtualBindable
- host:
- type: tosca.capabilities.Container
- binding:
- type: tosca.capabilities.network.Bindable
- monitoring_parameter:
- type: tosca.capabilities.nfv.Metric
+ tosca.nodes.nfv.Vdu.Compute:
derived_from: tosca.nodes.Root
properties:
- configurable_properties:
- entry_schema:
- type: tosca.datatypes.nfv.VnfcConfigurableProperties
- type: map
name:
type: string
- nfvi_constraints:
- entry_schema:
- type: string
- required: false
- type: list
- descrption:
+ required: true
+ description:
type: string
+ required: true
boot_order:
+ type: map
entry_schema:
type: string
required: false
- type: list
- requirements:
- - local_storage:
- capability: tosca.capabilities.Attachment
- occurrences:
- - 0
- - UNBOUNDED
- - virtual_storage:
- capability: tosca.capabilities.nfv.VirtualStorage
- occurrences:
- - 0
- - UNBOUNDED
-
- tosca.nodes.nfv.VDU.VirtualStorage:
- capabilities:
- virtual_storage:
- type: tosca.capabilities.nfv.VirtualStorage
- derived_from: tosca.nodes.Root
- properties:
- id:
- type: string
- size_of_storage:
- type: string
- rdma_enabled:
- required: false
- type: boolean
- type_of_storage:
- type: string
-
- tosca.nodes.nfv.VduCpd:
- derived_from: tosca.nodes.Root
- properties:
- virtual_network_interface_requirements:
- entry_schema:
- type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
- required: false
- type: list
- role:
- constraints:
- - valid_values:
- - root
- - leaf
- required: false
- type: string
- bitrate_requirement:
- required: false
- type: integer
- description:
- required: false
- type: string
- layer_protocol:
- constraints:
- - valid_values:
- - ethernet
- - mpls
- - odu2
- - ipv4
- - ipv6
- - pseudo_wire
- type: string
- address_data:
- entry_schema:
- type: tosca.datatype.nfv.AddressData
- required: false
- type: list
- requirements:
- - virtual_binding:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
- - virtual_link:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
- tosca.nodes.nfv.ext.ImageFile:
- capabilities:
- guest_os:
- type: tosca.capabilities.nfv.ext.GuestOs
- image_fle:
- type: tosca.capabilities.nfv.ext.ImageFile
- derived_from: tosca.nodes.Root
- properties:
- file_url:
- required: false
- type: string
- container_type:
- required: false
- type: string
- name:
- required: false
- type: string
- disk_format:
- required: false
- type: string
- version:
- required: false
- type: string
- tosca.nodes.nfv.ext.LocalStorage:
- capabilities:
- local_attachment:
- type: tosca.capabilities.nfv.ext.LocalAttachment
- derived_from: tosca.nodes.Root
- properties:
- size:
- required: false
- type: string
- disk_type:
- required: false
- type: string
- tosca.nodes.nfv.ext.zte.CP:
- capabilities:
- forwarder:
- type: tosca.capabilities.nfv.Forwarder
- derived_from: tosca.nodes.Root
- properties:
- guest_os_mtu:
- required: false
- type: integer
- bandwidth:
- required: false
- type: integer
- interface_name:
- required: false
- type: string
- allowed_address_pairs:
- entry_schema:
- type: tosca.datatypes.nfv.ext.AddressPairs
- required: false
- type: list
- ip_address:
- required: false
- type: string
- bond:
- required: false
- type: string
- proxiedVNFs:
+ nfvi_constraints:
+ type: map # Align with IM, it shoul be a array of KeyValuePair/NameValuePair
entry_schema:
type: string
required: false
- type: list
- sfc_encapsulation:
- required: false
- type: string
- floating_ip_address:
- required: false
- type: tosca.datatypes.nfv.ext.FloatingIP
- service_ip_address:
- required: false
- type: string
- mac_address:
- required: false
- type: string
- proxiedVNFtype:
- required: false
- type: string
- macbond:
- required: false
- type: string
- vnic_type:
- required: false
- type: string
- direction:
- required: false
+ configurable_properties:
+ type: map #In the IM, the multipilicity of VnfcConfigurableProperties is 1, not a map.
+ entry_schema:
+ type: tosca.datatypes.nfv.VnfcConfigurableProperties
+ required: true
+ vdu_profile:
+ type: tosca.datatypes.nfv.VduProfile
+ required: true
+ inject_files: # Used for vCPE usecase Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
+ type: tosca.datatypes.nfv.injectFile
+ required: false #Aligned with ONAP R2 IM. it should be false.
+ meta_data: #metadata attached to the VM or container
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ user_data: #cloudinit userdata script support
type: string
- order:
required: false
- type: integer
- requirements:
- - forwarder:
- capability: tosca.capabilities.nfv.Forwarder
- occurrences:
- - 0
- - UNBOUNDED
- - virtualbinding:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
- - virtualLink:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
- tosca.nodes.nfv.ext.zte.VDU:
capabilities:
- scalable:
- type: tosca.capabilities.Scalable
- monitoring_parameter:
- type: tosca.capabilities.nfv.Metric
- nfv_compute:
- type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
- virtualbinding:
+ virtual_compute:
+ type: tosca.capabilities.nfv.VirtualCompute
+ virtual_binding:
type: tosca.capabilities.nfv.VirtualBindable
- derived_from: tosca.nodes.Root
- properties:
- manual_scale_select_vim:
- required: false
- type: boolean
- vdu_type:
- required: false
- type: string
- watchdog:
- required: false
- type: tosca.datatypes.nfv.ext.zte.WatchDog
- name:
- required: false
- type: string
- local_affinity_antiaffinity_rule:
- required: false
- type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
- support_scaling:
- required: false
- type: boolean
- storage_policy:
- required: false
- type: string
- key_vdu:
- required: false
- type: boolean
- location_info:
- required: false
- type: tosca.datatypes.nfv.ext.LocationInfo
- inject_data_list:
- entry_schema:
- type: tosca.datatypes.nfv.ext.InjectData
- required: false
- type: list
- requirements:
- - guest_os:
- capability: tosca.capabilities.nfv.ext.GuestOs
occurrences:
- - 0
- - UNBOUNDED
- - local_storage:
- capability: tosca.capabilities.nfv.ext.LocalAttachment
- occurrences:
- - 0
+ - 1
- UNBOUNDED
- - volume_storage:
- capability: tosca.capabilities.Attachment
+ monitoring_parameter:
+ type: tosca.capabilities.nfv.Metric
occurrences:
- 0
- UNBOUNDED
- - dependency:
- capability: tosca.capabilities.Node
- occurrences:
+ requirements:
+ - virtual_storage:
+ capability: tosca.capabilities.nfv.VirtualStorage
+ relationship: tosca.relationships.nfv.Vdu.AttachedTo
+ node: tosca.nodes.nfv.VDU.VirtualStorage
+ occurences:
- 0
- - UNBOUNDED
- tosca.nodes.nfv.ext.zte.VL:
- capabilities:
- virtual_linkable:
- type: tosca.capabilities.nfv.VirtualLinkable
+ - UNBOUNDED
+ artifacts:
+ sw_image:
+ file:
+ type: tosca.artifacts.nfv.SwImage
+
+
+ tosca.nodes.nfv.Vdu.VirtualStorage:
derived_from: tosca.nodes.Root
properties:
- segmentation_id:
- required: false
- type: string
- network_name:
- required: false
+ #id:
+ # node name
+ type_of_storage:
type: string
- is_predefined:
- required: false
- type: boolean
- mtu:
- required: false
- type: integer
- dns_nameservers:
+ constraints:
+ - valid_values: [volume, object, root, block]
+ required: true
+ size_of_storage:
+ type: scalar-unit.size
+ required: true
+ vdu_storage_requirements:
+ type: map
entry_schema:
type: string
required: false
- type: list
- physical_network:
- required: false
- type: string
- dhcp_enabled:
- required: false
- type: boolean
- network_id:
- required: false
- type: string
- host_routes:
- entry_schema:
- type: tosca.datatypes.nfv.ext.HostRouteInfo
- required: false
- type: list
- ip_version:
- required: false
- type: integer
- vendor:
- required: false
- type: string
- name:
- required: false
- type: string
- start_ip:
- required: false
- type: string
- vlan_transparent:
- required: false
+ rdma_enabled:
type: boolean
- cidr:
- required: false
- type: string
- gateway_ip:
- required: false
- type: string
- network_type:
- required: false
- type: string
- end_ip:
- required: false
- type: string
- location_info:
required: false
- type: tosca.datatypes.nfv.ext.LocationInfo
+ capabilities:
+ virtual_storage:
+ type: tosca.capabilities.nfv.VirtualStorage
+ artifacts:
+ sw_image:
+ file:
+ type: tosca.artifacts.Deployment.Image
+
tosca.nodes.nfv.ext.zte.VNF:
capabilities:
forwarder:
@@ -559,25 +290,160 @@ node_types:
- 0
- UNBOUNDED
- tosca.nodes.nfv.VnfVirtualLinkDesc:
- capabilities:
- monitoring_parameters:
- type: tosca.capabilities.nfv.Metric
- virtual_linkable:
- type: tosca.capabilities.nfv.VirtualLinkable
+ tosca.nodes.nfv.Cp:
derived_from: tosca.nodes.Root
properties:
- vl_flavours:
+ layer_protocol:
+ type: list
entry_schema:
type: string
- type: map
+ constraints:
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+ required: true
+ role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
+ type: string
+ constraints:
+ - valid_values: [ root, leaf ]
+ required: false
description:
+ type: string
+ required: false
+ protocol_data:
+ type: list
+ entry_schema:
+ type: tosca.datatypes.nfv.CpProtocolData
+ required: true
+ trunk_mode:
+ type: boolean
+ required: true
+ allowed_address_data: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
+ type: tosca.datatypes.nfv.AddressData #In the IM, it is a array, but here it is not a array. TBD.
required: false
+
+
+ tosca.nodes.nfv.VNF:
+ derived_from: tosca.nodes.Root
+ properties:
+ descriptor_id: # instead of vnfd_id
+ type: string # GUID
+ required: true
+ descriptor_version: # instead of vnfd_version
type: string
- test_access:
+ required: true
+ provider: # instead of vnf_provider
+ type: string
+ required: true
+ product_name: # instead of vnf_product_name
+ type: string
+ required: true
+ software_version: # instead of vnf_software_version
+ type: string
+ required: true
+ product_info_name: # instead of vnf_product_info_name
+ type: string
+ required: false
+ product_info_description: # instead of vnf_product_info_description
+ type: string
+ required: false
+ vnfm_info:
+ type: list
entry_schema:
type: string
+ required: true
+ localization_languages:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+ default_localization_language:
+ type: string
+ required: false
+ configurable_properties:
+ type: tosca.datatypes.nfv.VnfConfigurableProperties
+ required: false
+ # modifiable_attributes:
+ # type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+ # required: false # true in IFA011, but all of members are false. Align with the IM, it is false
+ flavour_id:
+ type: string
+ required: true
+ flavour_description:
+ type: string
+ required: true
+ capabilities:
+ # monitoring_parameter:
+ # modelled as ad hoc capabilities in the VNF node template
+ requirements:
+ - virtual_link:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ relationship: tosca.relationships.nfv.VirtualLinksTo
+ node: tosca.nodes.nfv.VnfVirtualLink
+ occurrences:
+ - 0
+ - UNBOUNDED
+ interfaces:
+ Nfv:
+ type: tosca.interfaces.node.lifecycle.Standard
+
+ tosca.nodes.nfv.VduCp:
+ derived_from: tosca.nodes.nfv.Cp
+ properties:
+ bitrate_requirement:
+ type: integer
+ required: false
+ vnic_name: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
+ type: string
+ required: false
+ vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
+ type: integer
required: false
+ vnic_type: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
+ type: string
+ constraints:
+ - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
+ required: false
+ virtual_network_interface_requirements:
type: list
+ entry_schema:
+ type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+ required: false
+ # order: #there is no this attribute in IM.
+ # type: integer
+ # required: false
+ # constraints:
+ # - greater_or_equal: 0
+ requirements:
+ - virtual_link:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ relationship: tosca.relationships.nfv.VirtualLinksTo
+ node: tosca.nodes.nfv.VnfVirtualLink
+ - virtual_binding:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ relationship: tosca.relationships.nfv.VirtualBindsTo
+ node: tosca.nodes.nfv.Vdu.Compute
+
+ tosca.nodes.nfv.VnfVirtualLink:
+ derived_from: tosca.nodes.Root
+ properties:
connectivity_type:
- type: tosca.datatypes.nfv.ConnectivityType \ No newline at end of file
+ type: tosca.datatypes.nfv.ConnectivityType
+ required: true
+ description:
+ type: string
+ required: false
+ test_access:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+ vl_profile:
+ type: tosca.datatypes.nfv.VlProfile
+ required: true
+ capabilities:
+ monitoring_parameter: # this is not a very clear data structure enough to be coded, suggest to be annotated.
+ type: tosca.capabilities.nfv.Metric
+ occurrences:
+ - 0
+ - UNBOUNDED
+ virtual_linkable:
+ type: tosca.capabilities.nfv.VirtualLinkable
diff --git a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/relationships.yml b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/relationships.yml
index a8230c5b56..cad5e96e6c 100644
--- a/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/relationships.yml
+++ b/common/onap-tosca-datatype/src/main/resources/globalTypes/onap/relationships.yml
@@ -32,7 +32,11 @@ relationship_types:
type: string
tosca.relationships.nfv.VirtualBindsTo:
- derived_from: tosca.relationships.Root
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types:
+ - tosca.capabilities.nfv.VirtualBindable
tosca.relationships.nfv.VirtualLinksTo:
- derived_from: tosca.relationships.Root \ No newline at end of file
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types:
+ - tosca.capabilities.nfv.VirtualLinkable \ No newline at end of file