All model verification changes and updated in single patch.
Change-Id: Ie794dc141400490bf1a858a8d6c9d1c45e5b9443
Issue-ID: SDC-1253
Signed-off-by: Michael Lando <ml636r@att.com>
tosca.artifacts.Implementation:
derived_from: tosca.artifacts.Root
description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files).
+
+tosca.artifacts.nfv.SwImage:
+ derived_from: tosca.artifacts.Deployment.Image
\ No newline at end of file
tosca.capabilities.nfv.VirtualCompute:
derived_from: tosca.capabilities.Root
properties:
+ 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:
derived_from: tosca.capabilities.Root
tosca.capabilities.nfv.VirtualLinkable:
derived_from: tosca.capabilities.Root
+tosca.capabilities.nfv.ExtVirtualLinkable:
+ derived_from: tosca.capabilities.Root
tosca.capabilities.nfv.Forwarder:
derived_from: tosca.capabilities.Root
tosca.capabilities.nfv.ext.GuestOs:
scalar-unit.frequency:
derived_from: scalar-unit
-
tosca.datatypes.Credential:
derived_from: tosca.datatypes.Root
properties:
type: map
description: Extra parameters to include in the request
required: false
- default: {
- }
+ default: {}
status: SUPPORTED
entry_schema:
type: string
type: list
description: A specified set of DNS name servers to be used
required: false
- default: [
- ]
+ default: []
status: SUPPORTED
entry_schema:
type: string
type: map
description: Extra parameters to include in the request
required: false
- default: {
- }
+ default: {}
status: SUPPORTED
entry_schema:
type: string
- IPv6
port_range_max:
type: integer
- description: 'The maximum port number in the range that is matched by the
- security group rule. '
+ description: 'The maximum port number in the range that is matched by the security group rule. '
required: false
status: SUPPORTED
constraints:
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
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.VirtualNetworkInterfaceRequirements:
derived_from: tosca.datatypes.Root
properties:
support_mandatory:
type: boolean
required: true
- requirement:
- type: string # not specified
+ network_interface_requirements:
+ type: map
+ entry_schema:
+ type: string
required: true
-tosca.datatypes.nfv.L2AddressData:
+ nic_io_requirements:
+ type: tosca.datatypes.nfv.LogicalNodeData
+ required: false
+tosca.datatypes.nfv.injectFile: #used for vCPE usecase
derived_from: tosca.datatypes.Root
properties:
- address:
+ source_path:
type: string
- required: false
+ required: true
+ dest_path:
+ type: string
+ required: true
+tosca.datatypes.nfv.L2AddressData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ mac_address_assignment:
+ type: boolean
+ required: true
tosca.datatypes.nfv.L3AddressData:
derived_from: tosca.datatypes.Root
properties:
number_of_ip_address:
type: integer
required: false
-tosca.datatype.nfv.AddressData:
+ fixed_ip_address: #used for vCPE usecase
+ type: list
+ entry_schema:
+ type: string
+ required: false
+tosca.datatypes.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
type: string
required: true
constraints:
- - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire]
flow_pattern:
type: string
required: false
+ constraints: # not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ - valid_values: [Line, Tree, Mesh]
tosca.datatypes.nfv.VlFlavour:
derived_from: tosca.datatypes.Root
properties:
required: false
affinity_antiaffinity:
type: string
- required: false
\ No newline at end of file
+ required: false
+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
+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
tosca.interfaces.node.lifecycle.Standard:
create:
description: Standard lifecycle create operation.
stop:
description: Standard lifecycle stop operation.
delete:
- description: Standard lifecycle delete operation.
\ No newline at end of file
+ description: Standard lifecycle delete operation.
{
- "payloadName": "VDU.yml",
+ "payloadName": "Cp.yml",
"contactId": "jh0003",
- "name": "VDU",
- "description": "VDU",
+ "name": "Cp",
+ "description": "Cp",
"resourceIconPath": "compute",
"resourceType": "VFC",
"categories": [{
"name": "Infrastructure"
}]
}],
- "tags": ["VDU"]
+ "tags": ["Cp"]
}
\ No newline at end of file
--- /dev/null
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+node_types:
+ tosca.nodes.nfv.Cp:
+ derived_from: tosca.nodes.Root
+ properties:
+ layer_protocol:
+ type: list
+ entry_schema:
+ type: string
+ 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
{
- "payloadName": "extZteVDU.yml",
+ "payloadName": "VNF.yml",
"contactId": "jh0003",
- "name": "Ext Zte VDU",
- "description": "Ext Zte VDU",
+ "name": "VNF",
+ "description": "VNF",
"resourceIconPath": "compute",
"resourceType": "VFC",
"categories": [{
"name": "Infrastructure"
}]
}],
- "tags": ["Ext Zte VDU"]
+ "tags": ["VNF"]
}
\ No newline at end of file
--- /dev/null
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+node_types:
+ 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
+ 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_definitions_version: tosca_simple_yaml_1_0_0
node_types:
- tosca.nodes.nfv.VDU.Compute:
- derived_from: tosca.nodes.Root
- properties:
- configurable_properties:
- type: map
- required: true
- status: SUPPORTED
- entry_schema:
- type: tosca.datatypes.nfv.VnfcConfigurableProperties
- name:
- type: string
- required: true
- status: SUPPORTED
- nfvi_constraints:
- type: list
- required: false
- status: SUPPORTED
- entry_schema:
+ tosca.nodes.nfv.Vdu.Compute:
+ derived_from: tosca.nodes.Root
+ properties:
+ name:
type: string
- descrption:
- type: string
- required: true
- status: SUPPORTED
- boot_order:
- type: list
- required: false
- status: SUPPORTED
- entry_schema:
+ required: true
+ description:
type: string
- attributes:
- private_address:
- type: string
- status: SUPPORTED
- public_address:
- type: string
- status: SUPPORTED
- networks:
- type: string
- status: SUPPORTED
- ports:
- type: string
- status: SUPPORTED
- requirements:
- - local_storage:
- capability: tosca.capabilities.Attachment
- occurrences:
- - 0
- - UNBOUNDED
- - virtual_storage:
- capability: tosca.capabilities.nfv.VirtualStorage
- occurrences:
- - 0
- - UNBOUNDED
- capabilities:
- scalable:
- type: tosca.capabilities.Scalable
- occurrences:
- - 1
- - UNBOUNDED
- virtual_compute:
- type: tosca.capabilities.nfv.VirtualCompute
- occurrences:
- - 1
- - UNBOUNDED
- endpoint:
- type: tosca.capabilities.Endpoint.Admin
- occurrences:
- - 1
- - UNBOUNDED
- os:
- type: tosca.capabilities.OperatingSystem
- occurrences:
- - 1
- - UNBOUNDED
- virtual_binding:
- type: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 1
- - UNBOUNDED
- host:
- type: tosca.capabilities.Container
- occurrences:
- - 1
- - UNBOUNDED
- binding:
- type: tosca.capabilities.network.Bindable
- occurrences:
- - 1
- - UNBOUNDED
- monitoring_parameter:
- type: tosca.capabilities.nfv.Metric
- occurrences:
- - 1
- - UNBOUNDED
\ No newline at end of file
+ required: true
+ boot_order:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ nfvi_constraints:
+ type: map # Align with IM, it shoul be a array of KeyValuePair/NameValuePair
+ entry_schema:
+ type: string
+ 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
+ required: false
+ capabilities:
+ virtual_compute:
+ type: tosca.capabilities.nfv.VirtualCompute
+ virtual_binding:
+ type: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ monitoring_parameter:
+ type: tosca.capabilities.nfv.Metric
+ occurrences:
+ - 0
+ - UNBOUNDED
+ requirements:
+ - virtual_storage:
+ capability: tosca.capabilities.nfv.VirtualStorage
+ relationship: tosca.relationships.nfv.Vdu.AttachedTo
+ node: tosca.nodes.nfv.VDU.VirtualStorage
+ occurences:
+ - 0
+ - UNBOUNDED
+ artifacts:
+ - sw_image:
+ file:
+ type: tosca.artifacts.nfv.SwImage
\ No newline at end of file
{
- "payloadName": "vduCpd.yml",
+ "payloadName": "vduCp.yml",
"contactId": "jh0003",
- "name": "VDU Cpd",
- "description": "VDU Cpd",
+ "name": "VDU Cp",
+ "description": "VDU Cp",
"resourceIconPath": "port",
"resourceType": "CP",
"categories": [{
"name": "Network Elements"
}]
}],
- "tags": ["VDU Cpd"]
+ "tags": ["VDU Cp"]
}
\ No newline at end of file
--- /dev/null
+#NOT SPEC COMPLAINT!!!!!!!!!!!!!!!!!!!!!!
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+node_types:
+ 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
+++ /dev/null
-#NOT SPEC COMPLAINT!!!!!!!!!!!!!!!!!!!!!!
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.VduCpd:
- derived_from: tosca.nodes.Root
- properties:
- virtual_network_interface_requirements:
- type: list
- required: false
- status: SUPPORTED
- entry_schema:
- type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
- role:
- type: string
- required: false
- status: SUPPORTED
- constraints:
- - valid_values:
- - root
- - leaf
- bitrate_requirement:
- type: integer
- required: false
- status: SUPPORTED
- description:
- type: string
- required: false
- status: SUPPORTED
- layer_protocol:
- type: string
- required: true
- status: SUPPORTED
- constraints:
- - valid_values:
- - ethernet
- - mpls
- - odu2
- - ipv4
- - ipv6
- - pseudo_wire
- address_data:
- type: list
- required: false
- status: SUPPORTED
- entry_schema:
- type: tosca.datatype.nfv.AddressData
- requirements:
- - virtual_binding:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
- - virtual_link:
- capability: tosca.capabilities.nfv.VirtualLinkable
- occurrences:
- - 0
- - UNBOUNDED
\ No newline at end of file
tosca_definitions_version: tosca_simple_yaml_1_0_0
node_types:
- tosca.nodes.nfv.VDU.VirtualStorage:
- derived_from: tosca.nodes.Root
- properties:
- id:
- type: string
- required: true
- status: SUPPORTED
- size_of_storage:
- type: string
- required: true
- status: SUPPORTED
- rdma_enabled:
- type: boolean
- required: false
- status: SUPPORTED
- type_of_storage:
- type: string
- required: true
- status: SUPPORTED
- capabilities:
- virtual_storage:
- type: tosca.capabilities.nfv.VirtualStorage
- occurrences:
- - 1
- - UNBOUNDED
+ tosca.nodes.nfv.Vdu.VirtualStorage:
+ derived_from: tosca.nodes.Root
+ properties:
+ #id:
+ # node name
+ type_of_storage:
+ type: string
+ 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
+ rdma_enabled:
+ type: boolean
+ required: false
+ capabilities:
+ virtual_storage:
+ type: tosca.capabilities.nfv.VirtualStorage
+ artifacts:
+ - sw_image:
+ file:
+ type: tosca.artifacts.Deployment.Image
{
- "payloadName": "vnfVirtualLinkDesc.yml",
+ "payloadName": "vnfVirtualLink.yml",
"contactId": "jh0003",
- "name": "VnfVirtualLinkDesc",
- "description": "VnfVirtualLinkDesc",
+ "name": "VnfVirtualLink",
+ "description": "VnfVirtualLink",
"resourceIconPath": "network",
"resourceType": "VL",
"categories": [{
"name": "Infrastructure"
}]
}],
- "tags": ["VnfVirtualLinkDesc"]
+ "tags": ["VnfVirtualLink"]
}
\ No newline at end of file
--- /dev/null
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+node_types:
+ tosca.nodes.nfv.VnfVirtualLink:
+ derived_from: tosca.nodes.Root
+ properties:
+ connectivity_type:
+ 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
\ No newline at end of file
+++ /dev/null
-{
- "payloadName": "NSD.yml",
- "contactId": "jh0003",
- "name": "NSD",
- "description": "NSD",
- "resourceIconPath": "network",
- "resourceType": "VFC",
- "categories": [{
- "name": "Generic",
- "subcategories": [{
- "name": "Network Elements"
- }]
- }],
- "tags": ["NSD"]
-}
\ No newline at end of file
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- org.openecomp.resource.vfc.NSD:
- derived_from: tosca.nodes.Root
- description: ECOMP Allotted Resource base type all other allotted resources node types derive from
- properties:
- nsd_id:
- type: string
- required: true
- description: ID of the NSD
- nsd_designer:
- type: string
- required: true
- description: Designer of the NSD
- nsd_version:
- type: string
- required: true
- description: Version of the NSD
- nsd_name:
- type: string
- required: true
- description: Name of the NSD
- providing_service_uuid:
- type: string
- required: true
- description: The depending service uuid in order to map the allotted resource to the specific service version
- providing_service_invariant_uuid:
- type: string
- required: true
- description: The depending service invariant uuid in order to map the allotted resource to the specific service version
- providing_service_name:
- type: string
- required: true
- description: The depending service name in order to map the allotted resource to the specific service version
- requirements:
- - virtualLink:
- capability: tosca.capabilities.network.Linkable
- relationship: tosca.relationships.network.LinksTo
- capabilities:
- virtual_linkable:
- type: tosca.capabilities.network.Linkable
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.VDU:
- derived_from: tosca.nodes.SoftwareComponent
- capabilities:
-#Not found in any spec
-# high_availability:
-# type: nfv.capabilities.HA
- Virtualbinding:
- type: tosca.capabilities.nfv.VirtualBindable
-# monitoring_parameter:
-# type: nfv.capabilities.Metric
- requirements:
-#Not found in any spec
-# - high_availability:
-# capability: nfv.capabilities.HA
-# relationship: nfv.relationships.HA
-# occurrences: [ 0, 1 ]
- - host:
- capability: tosca.capabilities.Container
- node: tosca.nodes.Compute
- relationship: tosca.relationships.HostedOn
+++ /dev/null
-{
- "payloadName": "extImageFile.yml",
- "contactId": "jh0003",
- "name": "Ext Image File",
- "description": "Ext Image File",
- "resourceIconPath": "defaulticon",
- "resourceType": "VFC",
- "categories": [{
- "name": "Generic",
- "subcategories": [{
- "name": "Infrastructure"
- }]
- }],
- "tags": ["Ext Image File"]
-}
\ No newline at end of file
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.ext.ImageFile:
- derived_from: tosca.nodes.Root
- properties:
- file_url:
- type: string
- required: false
- container_type:
- type: string
- required: false
- name:
- type: string
- required: false
- disk_format:
- type: string
- required: false
- version:
- type: string
- required: false
- capabilities:
- guest_os:
- type: tosca.capabilities.nfv.ext.GuestOs
- image_fle:
- type: tosca.capabilities.nfv.ext.ImageFile
+++ /dev/null
-{
- "payloadName": "extLocalStorage.yml",
- "contactId": "jh0003",
- "name": "Ext Local Storage",
- "description": "Ext Local Storage",
- "resourceIconPath": "objectStorage",
- "resourceType": "VFC",
- "categories": [{
- "name": "Generic",
- "subcategories": [{
- "name": "Infrastructure"
- }]
- }],
- "tags": ["Ext Local Storage"]
-}
\ No newline at end of file
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.ext.LocalStorage:
- derived_from: tosca.nodes.Root
- properties:
- size:
- type: string
- required: false
- disk_type:
- type: string
- required: false
- capabilities:
- local_attachment:
- type: tosca.capabilities.nfv.ext.LocalAttachment
\ No newline at end of file
+++ /dev/null
-{
- "payloadName": "extZteCP.yml",
- "contactId": "jh0003",
- "name": "ext ZTE CP",
- "description": "Ext ZTE CP",
- "resourceIconPath": "network",
- "resourceType": "CP",
- "categories": [{
- "name": "Generic",
- "subcategories": [{
- "name": "Network Elements"
- }]
- }],
- "tags": ["ext ZTE CP"]
-}
\ No newline at end of file
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.ext.zte.CP:
- derived_from: tosca.nodes.Root
- properties:
- guest_os_mtu:
- type: integer
- required: false
- bandwidth:
- type: integer
- required: false
- interface_name:
- type: string
- required: false
- allowed_address_pairs:
- type: list
- required: false
- entry_schema:
- type: tosca.datatypes.nfv.ext.AddressPairs
- ip_address:
- type: string
- required: false
- bond:
- type: string
- required: false
- proxiedVNFs:
- type: list
- required: false
- entry_schema:
- type: string
- sfc_encapsulation:
- type: string
- required: false
- floating_ip_address:
- type: tosca.datatypes.nfv.ext.FloatingIP
- required: false
- service_ip_address:
- required: false
- type: string
- mac_address:
- type: string
- required: false
- proxiedVNFtype:
- type: string
- required: false
- macbond:
- type: string
- required: false
- vnic_type:
- type: string
- required: false
- direction:
- type: string
- required: false
- order:
- type: integer
- required: false
- requirements:
- - forwarder:
- capability: tosca.capabilities.nfv.Forwarder
- occurrences:
- - 0
- - UNBOUNDED
- - virtualbinding:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
- - virtualLink:
- capability: tosca.capabilities.nfv.VirtualLinkable
- occurrences:
- - 0
- - UNBOUNDED
- capabilities:
- forwarder:
- type: tosca.capabilities.nfv.Forwarder
\ No newline at end of file
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.ext.zte.VDU:
- derived_from: tosca.nodes.Root
- properties:
- manual_scale_select_vim:
- type: boolean
- required: false
- vdu_type:
- type: string
- required: false
- watchdog:
- type: tosca.datatypes.nfv.ext.zte.WatchDog
- required: false
- name:
- type: string
- required: false
- local_affinity_antiaffinity_rule:
- type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
- required: false
- support_scaling:
- type: boolean
- required: false
- storage_policy:
- type: string
- required: false
- key_vdu:
- type: boolean
- required: false
- location_info:
- type: tosca.datatypes.nfv.ext.LocationInfo
- required: false
- inject_data_list:
- type: list
- required: false
- entry_schema:
- type: tosca.datatypes.nfv.ext.InjectData
- requirements:
- - guest_os:
- capability: tosca.capabilities.nfv.ext.GuestOs
- occurrences:
- - 0
- - UNBOUNDED
- - local_storage:
- capability: tosca.capabilities.nfv.ext.LocalAttachment
- occurrences:
- - 0
- - UNBOUNDED
- - volume_storage:
- capability: tosca.capabilities.Attachment
- occurrences:
- - 0
- - UNBOUNDED
- - dependency:
- capability: tosca.capabilities.Node
- occurrences:
- - 0
- - UNBOUNDED
- capabilities:
- scalable:
- type: tosca.capabilities.Scalable
- monitoring_parameter:
- type: tosca.capabilities.nfv.Metric
- nfv_compute:
- type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
- virtualbinding:
- type: tosca.capabilities.nfv.VirtualBindable
\ No newline at end of file
+++ /dev/null
-{
- "payloadName": "extZteVL.yml",
- "contactId": "jh0003",
- "name": "ext ZTE VL",
- "description": "Ext ZTE VL",
- "resourceIconPath": "network",
- "resourceType": "VL",
- "categories": [{
- "name": "Generic",
- "subcategories": [{
- "name": "Network Elements"
- }]
- }],
- "tags": ["ext ZTE VL"]
-}
\ No newline at end of file
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.ext.zte.VL:
- derived_from: tosca.nodes.Root
- properties:
- segmentation_id:
- type: string
- required: false
- network_name:
- type: string
- required: false
- is_predefined:
- type: boolean
- required: false
- mtu:
- type: integer
- required: false
- dns_nameservers:
- type: list
- required: false
- entry_schema:
- type: string
- physical_network:
- type: string
- required: false
- dhcp_enabled:
- type: boolean
- required: false
- network_id:
- type: string
- required: false
- host_routes:
- type: list
- required: false
- entry_schema:
- type: tosca.datatypes.nfv.ext.HostRouteInfo
- ip_version:
- type: integer
- required: false
- vendor:
- type: string
- required: false
- name:
- type: string
- required: false
- start_ip:
- type: string
- required: false
- vlan_transparent:
- type: boolean
- required: false
- cidr:
- type: string
- required: false
- gateway_ip:
- type: string
- required: false
- network_type:
- type: string
- required: false
- end_ip:
- type: string
- required: false
- location_info:
- type: tosca.datatypes.nfv.ext.LocationInfo
- required: false
- capabilities:
- virtual_linkable:
- type: tosca.capabilities.nfv.VirtualLinkable
\ No newline at end of file
+++ /dev/null
-{
- "payloadName": "vduCompute.yml",
- "contactId": "jh0003",
- "name": "VDU Compute",
- "description": "VDU Compute",
- "resourceIconPath": "compute",
- "resourceType": "VFC",
- "categories": [{
- "name": "Generic",
- "subcategories": [{
- "name": "Infrastructure"
- }]
- }],
- "tags": ["VDU Compute"]
-}
\ No newline at end of file
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.VDU.Compute:
- derived_from: tosca.nodes.Root
- properties:
- configurable_properties:
- type: map
- required: true
- status: SUPPORTED
- entry_schema:
- type: tosca.datatypes.nfv.VnfcConfigurableProperties
- name:
- type: string
- required: true
- status: SUPPORTED
- nfvi_constraints:
- type: list
- required: false
- status: SUPPORTED
- entry_schema:
- type: string
- descrption:
- type: string
- required: true
- status: SUPPORTED
- boot_order:
- type: list
- required: false
- status: SUPPORTED
- entry_schema:
- type: string
- attributes:
- private_address:
- type: string
- status: SUPPORTED
- public_address:
- type: string
- status: SUPPORTED
- networks:
- type: string
- status: SUPPORTED
- ports:
- type: string
- status: SUPPORTED
- requirements:
- - local_storage:
- capability: tosca.capabilities.Attachment
- occurrences:
- - 0
- - UNBOUNDED
- - virtual_storage:
- capability: tosca.capabilities.nfv.VirtualStorage
- occurrences:
- - 0
- - UNBOUNDED
- capabilities:
- scalable:
- type: tosca.capabilities.Scalable
- occurrences:
- - 1
- - UNBOUNDED
- virtual_compute:
- type: tosca.capabilities.nfv.VirtualCompute
- occurrences:
- - 1
- - UNBOUNDED
- endpoint:
- type: tosca.capabilities.Endpoint.Admin
- occurrences:
- - 1
- - UNBOUNDED
- os:
- type: tosca.capabilities.OperatingSystem
- occurrences:
- - 1
- - UNBOUNDED
- virtual_binding:
- type: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 1
- - UNBOUNDED
- host:
- type: tosca.capabilities.Container
- occurrences:
- - 1
- - UNBOUNDED
- binding:
- type: tosca.capabilities.network.Bindable
- occurrences:
- - 1
- - UNBOUNDED
- monitoring_parameter:
- type: tosca.capabilities.nfv.Metric
- occurrences:
- - 1
- - UNBOUNDED
\ No newline at end of file
+++ /dev/null
-{
- "payloadName": "vduCpd.yml",
- "contactId": "jh0003",
- "name": "VDU Cpd",
- "description": "VDU Cpd",
- "resourceIconPath": "port",
- "resourceType": "CP",
- "categories": [{
- "name": "Generic",
- "subcategories": [{
- "name": "Network Elements"
- }]
- }],
- "tags": ["VDU Cpd"]
-}
\ No newline at end of file
+++ /dev/null
-#NOT SPEC COMPLAINT!!!!!!!!!!!!!!!!!!!!!!
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.VduCpd:
- derived_from: tosca.nodes.Root
- properties:
- virtual_network_interface_requirements:
- type: list
- required: false
- status: SUPPORTED
- entry_schema:
- type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
- role:
- type: string
- required: false
- status: SUPPORTED
- constraints:
- - valid_values:
- - root
- - leaf
- bitrate_requirement:
- type: integer
- required: false
- status: SUPPORTED
- description:
- type: string
- required: false
- status: SUPPORTED
- layer_protocol:
- type: string
- required: true
- status: SUPPORTED
- constraints:
- - valid_values:
- - ethernet
- - mpls
- - odu2
- - ipv4
- - ipv6
- - pseudo_wire
- address_data:
- type: list
- required: false
- status: SUPPORTED
- entry_schema:
- type: tosca.datatype.nfv.AddressData
- requirements:
- - virtual_binding:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
- - virtual_link:
- capability: tosca.capabilities.nfv.VirtualLinkable
- occurrences:
- - 0
- - UNBOUNDED
\ No newline at end of file
+++ /dev/null
-{
- "payloadName": "vduVirtualStorage.yml",
- "contactId": "jh0003",
- "name": "VDU VirtualStorage",
- "description": "VDU VirtualStorage",
- "resourceIconPath": "objectStorage",
- "resourceType": "VFC",
- "categories": [{
- "name": "Generic",
- "subcategories": [{
- "name": "Infrastructure"
- }]
- }],
- "tags": ["VDU VirtualStorage"]
-}
\ No newline at end of file
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.VDU.VirtualStorage:
- derived_from: tosca.nodes.Root
- properties:
- id:
- type: string
- required: true
- status: SUPPORTED
- size_of_storage:
- type: string
- required: true
- status: SUPPORTED
- rdma_enabled:
- type: boolean
- required: false
- status: SUPPORTED
- type_of_storage:
- type: string
- required: true
- status: SUPPORTED
- capabilities:
- virtual_storage:
- type: tosca.capabilities.nfv.VirtualStorage
- occurrences:
- - 1
- - UNBOUNDED
+++ /dev/null
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-node_types:
- tosca.nodes.nfv.VnfVirtualLinkDesc:
- derived_from: tosca.nodes.Root
- properties:
- connectivity_type:
- type: tosca.datatypes.nfv.ConnectivityType
- required: true
- description:
- type: string
- required: false
- test_access:
- type: list
- entry_schema:
- type: string
- required: false
- vl_flavours:
- type: map
- entry_schema:
- type: tosca.datatypes.nfv.VlFlavour
- required: true
- capabilities:
- #monitoring_parameters:
- # modeled as ad hoc (named) capabilities in node template
- virtual_linkable:
- type: tosca.capabilities.nfv.VirtualLinkable
\ No newline at end of file
required: false
org.openecomp.relationships.ForwardsTo:
derived_from: tosca.relationships.Root
- valid_target_types: [org.openecomp.capabilities.Forwarder]
\ No newline at end of file
+ valid_target_types:
+ - org.openecomp.capabilities.Forwarder
+
+ tosca.relationships.nfv.VirtualBindsTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types:
+ - tosca.capabilities.nfv.VirtualBindable
+
+ tosca.relationships.nfv.VirtualLinksTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types:
+ - tosca.capabilities.nfv.VirtualLinkable
\ No newline at end of file
def importNfvTypes(scheme, beHost, bePort, adminUser, fileDir, updateversion):
nfvTypes = [ "underlayVpn",
- "overlayTunnel",
- "genericNeutronNet",
- "allottedResource",
- "extImageFile",
- "extLocalStorage",
- "extZteCP",
- "extZteVDU",
- "extZteVL",
- "NSD",
- "VDU",
- "vduCompute",
- "vduCpd",
- "vduVirtualStorage",
- "vnfVirtualLinkDesc"
- ]
+ "overlayTunnel",
+ "genericNeutronNet",
+ "allottedResource",
+ "extImageFile",
+ "extLocalStorage",
+ "extZteCP",
+ "extZteVDU",
+ "extZteVL",
+ "NSD",
+ "VDU",
+ "vduCompute",
+ "Cp",
+ "vduVirtualStorage",
+ "vnfVirtualLinkDesc",
+ "vnfVirtualLink",
+ "vduCp",
+ "VNF"
+ ]
responseCodes = [200, 201]
file: groups.yml
- data:
file: data.yml
+- interfaces:
+ file: interfaces.yml
+- artifacts:
+ file: artifacts.yml
--- /dev/null
+#
+# 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
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
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
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:
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
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:
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:
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
--- /dev/null
+#
+# 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
- 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:
- 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
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
Map<String, ServiceTemplate> globalTypesServiceTemplates =\r
getGlobalTypesServiceTemplates(OnboardingTypesEnum.CSAR);\r
Assert.assertNotNull(globalTypesServiceTemplates);\r
- Assert.assertEquals(globalTypesServiceTemplates.size(), 25);\r
+ Assert.assertEquals(27, globalTypesServiceTemplates.size());\r
Set<String> globalTypeFolders = globalTypesServiceTemplates.keySet();\r
List<String> onapGlobalTypes = globalTypeFolders.stream()\r
.filter(resourceKey -> resourceKey.contains("onap"))\r
.collect(Collectors.toList());\r
Assert.assertNotNull(onapGlobalTypes);\r
- Assert.assertEquals(onapGlobalTypes.size(), 5);\r
+ Assert.assertEquals(7, onapGlobalTypes.size());\r
}\r
\r
@Test\r
Map<String, ServiceTemplate> globalTypesServiceTemplates =\r
getGlobalTypesServiceTemplates(OnboardingTypesEnum.ZIP);\r
Assert.assertNotNull(globalTypesServiceTemplates);\r
- Assert.assertEquals(globalTypesServiceTemplates.size(), 20);\r
+ Assert.assertEquals(20, globalTypesServiceTemplates.size());\r
Set<String> globalTypeFolders = globalTypesServiceTemplates.keySet();\r
List<String> onapGlobalTypes = globalTypeFolders.stream()\r
.filter(resourceKey -> resourceKey.contains("onap"))\r
.collect(Collectors.toList());\r
- Assert.assertEquals(onapGlobalTypes.size(), 0);\r
+ Assert.assertEquals(0, onapGlobalTypes.size());\r
}\r
\r
@Test\r
Map<String, ServiceTemplate> globalTypesServiceTemplates =\r
getGlobalTypesServiceTemplates(OnboardingTypesEnum.MANUAL);\r
Assert.assertNotNull(globalTypesServiceTemplates);\r
- Assert.assertEquals(globalTypesServiceTemplates.size(), 20);\r
+ Assert.assertEquals(20, globalTypesServiceTemplates.size());\r
Set<String> globalTypeFolders = globalTypesServiceTemplates.keySet();\r
List<String> onapGlobalTypes = globalTypeFolders.stream()\r
.filter(resourceKey -> resourceKey.contains("onap"))\r
.collect(Collectors.toList());\r
- Assert.assertEquals(onapGlobalTypes.size(), 0);\r
+ Assert.assertEquals(0, onapGlobalTypes.size());\r
}\r
\r
@Test\r
Map<String, ServiceTemplate> globalTypesServiceTemplates =\r
getGlobalTypesServiceTemplates(OnboardingTypesEnum.NONE);\r
Assert.assertNotNull(globalTypesServiceTemplates);\r
- Assert.assertEquals(globalTypesServiceTemplates.size(), 20);\r
+ Assert.assertEquals(20, globalTypesServiceTemplates.size());\r
Set<String> globalTypeFolders = globalTypesServiceTemplates.keySet();\r
List<String> onapGlobalTypes = globalTypeFolders.stream()\r
.filter(resourceKey -> resourceKey.contains("onap"))\r
.collect(Collectors.toList());\r
- Assert.assertEquals(onapGlobalTypes.size(), 0);\r
+ Assert.assertEquals(0, onapGlobalTypes.size());\r
}\r
\r
}\r
import static org.openecomp.sdc.common.utils.CommonUtil.validateAndUploadFileContent;
import org.apache.commons.io.IOUtils;
+import org.junit.Ignore;
import org.junit.Test;
import org.openecomp.core.impl.GlobalSubstitutionServiceTemplate;
import org.openecomp.core.impl.ToscaConverterImpl;
public class ToscaConvertorDefinitionsTest {
+ @Ignore
@Test
public void loadCsar() throws Exception {
URL resource = ToscaConvertorDefinitionsTest.class.getResource("/csar/vCSCF.csar");
jetty_base="/var/lib/jetty"
-if !ENV['FE_URL'].nil?
+if !ENV['FE_URL'].empty?
fe_url="#{ENV['FE_URL']}"
elsif node['disableHttp']
fe_url="https://#{node['Nodes']['FE']}:#{node['FE'][:https_port]}"