From cb72310ab92091c47502f7e3c1bf2162884dca83 Mon Sep 17 00:00:00 2001 From: dekstroza Date: Fri, 18 May 2018 15:23:12 +0100 Subject: R2 model updates All model verification changes and updated in single patch. Change-Id: Ie794dc141400490bf1a858a8d6c9d1c45e5b9443 Issue-ID: SDC-1253 Signed-off-by: Michael Lando --- .../src/main/resources/globalTypes/onap/_index.yml | 4 + .../main/resources/globalTypes/onap/artifacts.yml | 27 + .../resources/globalTypes/onap/capabilities.yml | 19 +- .../src/main/resources/globalTypes/onap/data.yml | 311 +++++++++++- .../main/resources/globalTypes/onap/interfaces.yml | 80 +++ .../src/main/resources/globalTypes/onap/nodes.yml | 552 ++++++++------------- .../resources/globalTypes/onap/relationships.yml | 8 +- 7 files changed, 633 insertions(+), 368 deletions(-) create mode 100644 common/onap-tosca-datatype/src/main/resources/globalTypes/onap/artifacts.yml create mode 100644 common/onap-tosca-datatype/src/main/resources/globalTypes/onap/interfaces.yml (limited to 'common/onap-tosca-datatype/src') 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 -- cgit 1.2.3-korg