diff options
Diffstat (limited to 'docs/ONAP release 2 spec')
17 files changed, 1218 insertions, 7 deletions
diff --git a/docs/ONAP release 2 spec/dm/CapabilitiesTypes.rst b/docs/ONAP release 2 spec/dm/CapabilitiesTypes.rst new file mode 100644 index 0000000..bbd7b99 --- /dev/null +++ b/docs/ONAP release 2 spec/dm/CapabilitiesTypes.rst @@ -0,0 +1,38 @@ +.. Copyright 2018 (ONAP) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Capabilities Types +============================================== +| **tosca.capabilities.nfv.VirtualBindable:** +| derived_from: tosca.capabilities.root + +| **tosca.capabilities.nfv.VirtualCompute:** +| derived_from: tosca.capabilities.Root +| properties: +| logical_node: +| type: tosca.datatypes.nfv.LogicalNodeData +| required: false +| compute_requirements: +| type: map +| required: false +| requested_additional_capabilities: +| type: map +| entry_schema: +| type: tosca.datatypes.nfv.RequestedAdditionalCapability +| required: false +| virtual_memory: +| type: tosca.datatypes.nfv.VirtualMemory +| required: true +| virtual_cpu: +| type: tosca.datatypes.nfv.VirtualCpu +| required: true + +| **tosca.capabilities.nfv.VirtualLinkable:** +| derived_from: tosca.capabilities.root + +| **tosca.capabilities.nfv.ExtVirtualLinkable:** +| derived_from: tosca.capabilities.root + +| **tosca.capabilities.nfv.VirtualStorage:** +| derived_from: tosca.capabilities.root diff --git a/docs/ONAP release 2 spec/dm/DataTypes.rst b/docs/ONAP release 2 spec/dm/DataTypes.rst new file mode 100644 index 0000000..338acf5 --- /dev/null +++ b/docs/ONAP release 2 spec/dm/DataTypes.rst @@ -0,0 +1,466 @@ +.. Copyright 2018 (ONAP) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Data Types +============================================== + +| **tosca.datatypes.nfv.L2AddressData:** +| derived_from: tosca.datatypes.Root +| properties: +| mac_address_assignment: +| type: Boolean +| required: true +| +| +| **tosca.datatypes.nfv.injectFile: #used for vCPE usecase** +| derived_from: tosca.datatypes.Root +| properties: +| source_path: +| type: string +| required: true +| dest_path: +| type:string +| required: true +| +| +| **tosca.datatypes.nfv.L3AddressData:** +| derived_from: tosca.datatypes.Root +| properties: +| 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] +| number_of_ip_address: +| type: integer +| required: false +| fixed_ip_address: #used for vCPE usecase +| type:list +| entry_schema: +| type:string +| required: false +| +| +| **tosca.datatypes.nfv.AddressData:** +| derived_from: tosca.datatypes.Root +| properties: +| address_type: +| type: string +| required: true +| constraints: +| - valid_values: [mac_address, ip_address] +| l2_address_data: +| type: tosca.datatypes.nfv.L2AddressData # empty in "GS NFV IFA011 V0.7.3" +| required: false +| l3_address_data: +| type: tosca.datatypes.nfv.L3AddressData +| required: false +| +| +| **tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:** +| derived_from: tosca.datatypes.Root +| properties: +| name: +| type: string +| required: false +| description: +| type: string +| required: false +| support_mandatory: +| type: boolean +| required: true +| network_interface_requirements: +| type: Map +| required: true +| nic_io_requirements: +| type: tosca.datatypes.nfv.LogicalNodeData +| required: false +| +| +| **tosca.datatypes.nfv.ConnectivityType:** +| derived_from: tosca.datatypes.Root +| properties: +| layer_protocol: +| type: string +| required: true +| constraints: +| - 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.RequestedAdditionalCapability:** +| derived_from: tosca.datatypes.Root +| properties: +| #name: +| # key of containing map +| support_mandatory: +| type: boolean +| required: true +| min_requested_additional_capability_version: +| type: string +| required: false +| preferred_requested_additional_capability_version: +| type: string +| required: false +| requested_additional_capability_name: +| type: string +| required: true +| target_performance_parameters: +| type: map +| entry_schema: +| type: string +| required: true +| +| +| **tosca.datatypes.nfv.VirtualMemory:** +| derived_from: tosca.datatypes.Root +| properties: +| virtual_mem_size: +| type: scalar-unit.size # Number +| required: true +| virtual_mem_oversubscription_policy: +| type: string +| required: false +| vdu_memory_requirements: +| type: map +| required: false +| numa_enabled: +| type: boolean +| required: false +| +| +| **tosca.datatypes.nfv.VirtualCpu:** +| derived_from: tosca.datatypes.Root +| properties: +| cpu_architecture: +| type: string +| required: false +| num_virtual_cpu: +| type: integer +| required: true +| virtual_cpu_clock: +| type: scalar-unit.frequency +| required: false +| virtual_cpu_oversubscription_policy: +| type: string +| required: false +| vdu_cpu_requirements: +| type: map +| required: false +| virtual_cpu_pinning: +| type: tosca.datatypes.nfv.VirtualCpuPinning +| required: false +| +| +| **tosca.datatypes.nfv.VirtualCpuPinning:** +| derived_from: tosca.datatypes.Root +| properties: +| cpu_pinning_policy: +| type: string # CpuPinningPolicy +| constraints: +| - valid_values: [ static, dynamic ] +| required: false +| cpu_pinning_map: +| type: map +| entry_schema: +| type: string +| required: false +| +| +| **tosca.datatypes.nfv.VnfcConfigurableProperties:** +| derived_from: tosca.datatypes.Root +| properties: +| additional_vnfc_configurable_properties: +| type: map +| entry_schema: +| type: string +| 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.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.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.VduLevel:** +| derived_from: tosca.datatypes.Root +| properties: +| number_of_instances: +| type: integer +| required: true + +| **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.VnfHealOperationConfiguratin +| terminate: +| type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration +| operate: +| type: tosca.datatypes.nfv.VnfOperateOperationConfiguration +| +| +| **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.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.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: Scalar #Number [0 ..1] +| required: false +| +| +| **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.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.VnfAdditionalConfigurableProperties:** +| 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.datatypes.nfv.VnfInfoModifiableAttributesExtensions:** +| derived_from: tosca.datatypes.Root +| +| +| **tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:** +| derived_from: tosca.datatypes.Root +| +| +| **tosca.datatypes.nfv.LogicalNodeData:** +| derived_from: tosca.datatypes.Root +| properties: +| logical_node_requirements: +| type: map # not defined in SOL001 v.6.0 +| required: false
\ No newline at end of file diff --git a/docs/ONAP release 2 spec/dm/InterfaceTypes.rst b/docs/ONAP release 2 spec/dm/InterfaceTypes.rst new file mode 100644 index 0000000..66091cf --- /dev/null +++ b/docs/ONAP release 2 spec/dm/InterfaceTypes.rst @@ -0,0 +1,65 @@ +.. Copyright 2018 (ONAP) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Interface Types +============================================== + +| **tosca.interfaces.nfv.vnf.lifecycle.Nfv** +| derived_from: tosca.interfaces.Root +| 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 +| # indicator_changed: +| # description: On receiving a VNF indicator value change notification
\ No newline at end of file diff --git a/docs/ONAP release 2 spec/dm/NodeTypes.rst b/docs/ONAP release 2 spec/dm/NodeTypes.rst new file mode 100644 index 0000000..ae3b1fa --- /dev/null +++ b/docs/ONAP release 2 spec/dm/NodeTypes.rst @@ -0,0 +1,263 @@ +.. Copyright 2018 (ONAP) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Node Types +============================================== + +| **tosca.nodes.nfv.Vdu.Compute:** +| derived_from: tosca.nodes.Root +| properties: +| #id: +| # node name +| name: # align with the IM, please refer to https://wiki.onap.org/display/DW/Design+Time+Model+Clean+Version#DesignTimeModelCleanVersion-Class:VDU/VDUDesc +| type: string +| required: true +| description: +| type: string +| required: true +| boot_order: +| type: map # explicit index (boot index) not necessary, contrary to IFA011. In the IM, it shoul be a array of KeyValuePair/NameValuePair +| 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 +| #attributes: NOT DEFINED IN ONAP IM and SOL001 +| #private_address: +| # status: deprecated +| #public_address: +| # status: deprecated +| #networks: +| # status: deprecated +| #ports: +| # status: deprecated +| capabilities: +| virtual_compute: +| type: tosca.capabilities.nfv.VirtualCompute +| virtual_binding: +| type: tosca.capabilities.nfv.VirtualBindable +| occurrences: [1, UNBOUND] +| monitoring_parameter: +| type: tosca.capabilities.nfv.Metric # this is not a very clear data structure enough to be coded, suggest to be annotated. +| occurrences: [0,UNBOUND] +| 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 +| +| +| **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 +| 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 +| #interfaces: # not needed for virtualstroage. it doesn't support cloudinit. +| # cloudinit: +| # type:tosca.interfaces.nfv.vdu.cloudinit +| +| +| **tosca.nodes.nfv.Cp:** +| derived_from: tosca.nodes.Root +| properties: +| layer_protocol: +| type:list +| entry_schema: +| 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.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: 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 +| 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,UNBOUND] +| virtual_linkable: +| type: tosca.capabilities.nfv.VirtualLinkable +| +| +| **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.nfv.vnf.lifecycle.Nfv +|
\ No newline at end of file diff --git a/docs/ONAP release 2 spec/dm/RelationshipTypes.rst b/docs/ONAP release 2 spec/dm/RelationshipTypes.rst new file mode 100644 index 0000000..590b097 --- /dev/null +++ b/docs/ONAP release 2 spec/dm/RelationshipTypes.rst @@ -0,0 +1,15 @@ +.. Copyright 2018 (ONAP) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Relationships Types +============================================== + +| **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] diff --git a/docs/ONAP release 2 spec/dm/index.rst b/docs/ONAP release 2 spec/dm/index.rst index 341ab8b..083c23b 100644 --- a/docs/ONAP release 2 spec/dm/index.rst +++ b/docs/ONAP release 2 spec/dm/index.rst @@ -12,9 +12,9 @@ ONAP Data Model Specifications .. toctree:: :titlesonly: - Artifact Types - Capabilities Types - Data Types - Interface Types - Node Types - Relationship Types + ArtifactTypes + CapabilitiesTypes + DataTypes + InterfaceTypes + NodeTypes + RelationshipTypes diff --git a/docs/ONAP release 2 spec/im/AddressData.rst b/docs/ONAP release 2 spec/im/AddressData.rst index 1317a0a..51bef0d 100644 --- a/docs/ONAP release 2 spec/im/AddressData.rst +++ b/docs/ONAP release 2 spec/im/AddressData.rst @@ -4,6 +4,7 @@ Class: AddressData +==================== +---------------+---------------+------------------+-----------------+---------------+ | **Attribute | **Type** | **Multiplicity** | **Description** | **Applied | diff --git a/docs/ONAP release 2 spec/im/AffinityOrAntiAffinityGroup.rst b/docs/ONAP release 2 spec/im/AffinityOrAntiAffinityGroup.rst index 47cbe82..58c7ffc 100644 --- a/docs/ONAP release 2 spec/im/AffinityOrAntiAffinityGroup.rst +++ b/docs/ONAP release 2 spec/im/AffinityOrAntiAffinityGroup.rst @@ -3,6 +3,7 @@ .. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode Class: AffinityOrAntiAffinityGroup +===================================== +-------------+-------------+------------------+-----------------+-----------------+ | **Attribute | **Type** | **Multiplicity** | **Description** | **Applied | diff --git a/docs/ONAP release 2 spec/im/BaseConfigGroup.rst b/docs/ONAP release 2 spec/im/BaseConfigGroup.rst index e692b0f..01d1c0b 100644 --- a/docs/ONAP release 2 spec/im/BaseConfigGroup.rst +++ b/docs/ONAP release 2 spec/im/BaseConfigGroup.rst @@ -3,3 +3,4 @@ .. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode Class: BaseConfigGroup (Experimental) +======================================= diff --git a/docs/ONAP release 2 spec/im/ConnectivityType.rst b/docs/ONAP release 2 spec/im/ConnectivityType.rst index 43b213f..b940a4d 100644 --- a/docs/ONAP release 2 spec/im/ConnectivityType.rst +++ b/docs/ONAP release 2 spec/im/ConnectivityType.rst @@ -3,6 +3,7 @@ .. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode Class: ConnectivityType +========================== +---------------+-------------+------------------+-----------------+---------------+ | **Attribute | **Type** | **Multiplicity** | **Description** | **Applied | diff --git a/docs/ONAP release 2 spec/im/CpProtocolData.rst b/docs/ONAP release 2 spec/im/CpProtocolData.rst index fde5d00..94397ed 100644 --- a/docs/ONAP release 2 spec/im/CpProtocolData.rst +++ b/docs/ONAP release 2 spec/im/CpProtocolData.rst @@ -3,6 +3,7 @@ .. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode Class: CpProtocolData +======================= +-------------------------+-------------+------------------+-----------------+---------------+ | **Attribute Name** | **Type** | **Multiplicity** | **Description** | **Applied | diff --git a/docs/ONAP release 2 spec/im/L2AddressData.rst b/docs/ONAP release 2 spec/im/L2AddressData.rst new file mode 100644 index 0000000..2dfde1d --- /dev/null +++ b/docs/ONAP release 2 spec/im/L2AddressData.rst @@ -0,0 +1,34 @@ +.. Copyright 2018 (Huawei) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Class: L2AddressData + ++----------------------+-------------+------------------+-----------------+---------------+ +| **Attribute | **Type** | **Multiplicity** | **Description** | **Applied | +| Name** | | | | Stereotypes** | ++======================+=============+==================+=================+===============+ +| macAddressAssignment | Boolean | 1 | Specify if | support: | +| | | | the MAC address | MANDATORY | +| | | | assignment | | +| | | | is the | | +| | | | responsibility | | +| | | | of management | | +| | | | and | | +| | | | orchestration | | +| | | | function or not.| | +| | | | | | +| | | | If it is set to | | +| | | | True, it is the | | +| | | | management and | | +| | | | orchestration | | +| | | | function | | +| | | | responsibility. | | +| | | | | | +| | | | If it is set to | | +| | | | False, it will | | +| | | | be provided by | | +| | | | an external | | +| | | | entity, e.g. | | +| | | | OSS/BSS. | | ++----------------------+-------------+------------------+-----------------+---------------+ diff --git a/docs/ONAP release 2 spec/im/L3AddressData.rst b/docs/ONAP release 2 spec/im/L3AddressData.rst new file mode 100644 index 0000000..6451fff --- /dev/null +++ b/docs/ONAP release 2 spec/im/L3AddressData.rst @@ -0,0 +1,55 @@ +.. Copyright 2018 (Huawei) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Class: L3AddressData + ++---------------------+-------------+------------------+-----------------+---------------+ +| **Attribute | **Type** | **Multiplicity** | **Description** | **Applied | +| Name** | | | | Stereotypes** | ++=====================+=============+==================+=================+===============+ +| iPAddressAssignment | Boolean | 1 | Specify if | support: | +| | | | the address | MANDATORY | +| | | | assignment | | +| | | | is the | | +| | | | responsibility | | +| | | | of management | | +| | | | and | | +| | | | orchestration | | +| | | | function or not.| | +| | | | | | +| | | | If it is set to | | +| | | | True, it is the | | +| | | | management and | | +| | | | orchestration | | +| | | | function | | +| | | | responsibility. | | ++---------------------+-------------+------------------+-----------------+---------------+ +| floatingIpActivated | Boolean | 1 | Specify if the | support: | +| | | | floating IP | MANDATORY | +| | | | scheme is | | +| | | | activated on | | +| | | | the CP or not. | | ++---------------------+-------------+------------------+-----------------+---------------+ +| iPAddressType | Enum | 0..1 | Define address | support: | +| | | | type. | MANDATORY | +| | | | | | +| | | | NOTE: The | valueRange: | +| | | | address type | "IPv4", | +| | | | should be | "IPv6" | +| | | | aligned with | | +| | | | the address type| | +| | | | supported by the| | +| | | | layerProtocol | | +| | | | attribute of | | +| | | | the parent Cpd. | | ++---------------------+-------------+------------------+-----------------+---------------+ +| numberOfIpAddress | Integer | 0..1 | Minimum | support: | +| | | | number of IP | MANDATORY | +| | | | addresses to be | | +| | | | assigned based | | +| | | | on this | | +| | | | L3AddressData | | +| | | | information | | +| | | | element. | | ++---------------------+-------------+------------------+-----------------+---------------+ diff --git a/docs/ONAP release 2 spec/im/LifecycleManagementScript.rst b/docs/ONAP release 2 spec/im/LifecycleManagementScript.rst new file mode 100644 index 0000000..3145bfe --- /dev/null +++ b/docs/ONAP release 2 spec/im/LifecycleManagementScript.rst @@ -0,0 +1,164 @@ +.. Copyright 2018 (Huawei) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Class: LifecycleManagementScript + ++--------------------+-------------+------------------+-------------------+-------------------------------------+ +| **Attribute Name** | **Type** | **Multiplicity** | **Description** | **Applied Stereotypes** | ++====================+=============+==================+===================+=====================================+ +| event | Enum | 0..N | Describes | support: | +| | | | VNF | MANDATORY | +| | | | lifecycle | | +| | | | event(s) or | valueRange: | +| | | | an external | for | +| | | | stimulus | lifecycle | +| | | | detected on | events, | +| | | | a VNFM | include: | +| | | | reference | "EVENT_START_INSTANTIATION", | +| | | | point. | "EVENT_END_INSTANTIATION", | +| | | | | "EVENT_START_SCALING", | +| | | | NOTE: At | "EVENT_END_SCALING", | +| | | | least one | "EVENT_START_SCALING_TO_LEVEL", | +| | | | of these | "EVENT_END_SCALING_TO_LEVEL", | +| | | | two | "EVENT_START_HEALING", | +| | | | attributes | "EVENT_END_HEALING", | +| | | | shall be | "EVENT_START_TERMINATION", | +| | | | included. | "EVENT_END_TERMINATION", | +| | | | | "EVENT_START_VNF_FLAVOR_CHANGE", | +| | | | | "EVENT_END_VNF_FLAVOR_CHANGE", | +| | | | | "EVENT_START_VNF_OPERATION_CHANGE", | +| | | | | "EVENT_END_VNF_OPERATION_CHANGE", | +| | | | | "EVENT_START_VNF_EXT_CONN_CHANGE", | +| | | | | "EVENT_END_VNF_EXT_CONN_CHANGE", | +| | | | | "EVENT_START_VNFINFO_MODIFICATION", | +| | | | | "EVENT_END_VNFINFO_MODIFICATION"; | +| | | | | for | +| | | | | external | +| | | | | stimulus, | +| | | | | include: | +| | | | | receipt of | +| | | | | request | +| | | | | message of | +| | | | | instantiation, | +| | | | | scaling, | +| | | | | healing, | +| | | | | termination, | +| | | | | change of | +| | | | | VNF | +| | | | | flavour, | +| | | | | change of | +| | | | | the | +| | | | | operation | +| | | | | state of | +| | | | | the VNF, | +| | | | | change of | +| | | | | external | +| | | | | VNF | +| | | | | connectivity, | +| | | | | modification | +| | | | | of VNF | +| | | | | information | +| | | | | or the | +| | | | | receipt of | +| | | | | a | +| | | | | notification | +| | | | | regarding | +| | | | | the change | +| | | | | of a VNF | +| | | | | indicator | +| | | | | value. | ++--------------------+-------------+------------------+-------------------+-------------------------------------+ +| lcmTransitionEvent | String | 0..N | Describes | support: | +| | | | the | MANDATORY | +| | | | transition | | +| | | | VNF | | +| | | | lifecycle | | +| | | | event(s) | | +| | | | that cannot | | +| | | | be mapped | | +| | | | to any of | | +| | | | the | | +| | | | enumerated | | +| | | | values | | +| | | | defined for | | +| | | | the event | | +| | | | attribute. | | +| | | | | | +| | | | NOTE: At | | +| | | | least one | | +| | | | of these | | +| | | | two | | +| | | | attributes | | +| | | | shall be | | +| | | | included. | | ++--------------------+-------------+------------------+-------------------+-------------------------------------+ +| script | String | 1 | Information | support: | +| | | | to locate a | MANDATORY | +| | | | VNF LCM | | +| | | | script | | +| | | | (e.g. | | +| | | | written in | | +| | | | a DSL as | | +| | | | specified | | +| | | | in | | +| | | | requirement | | +| | | | VNF_PACK.LCM.001) | | +| | | | triggered | | +| | | | to react to | | +| | | | one of the | | +| | | | events | | +| | | | listed in | | +| | | | the event | | +| | | | attribute. | | ++--------------------+-------------+------------------+-------------------+-------------------------------------+ +| scriptDsl | String | 1 | Defines the | support: | +| | | | domain | MANDATORY | +| | | | specific | | +| | | | language | | +| | | | (i.e. the | | +| | | | type) of | | +| | | | script that | | +| | | | is | | +| | | | provided. | | +| | | | Types of | | +| | | | scripts | | +| | | | could | | +| | | | include | | +| | | | bash, | | +| | | | python, | | +| | | | etc. | | ++--------------------+-------------+------------------+-------------------+-------------------------------------+ +| scriptInput | KeyValuePair| 0..N | Array of | support: | +| | | | KVP | MANDATORY | +| | | | requirements | | +| | | | with the | | +| | | | key as the | | +| | | | parameter | | +| | | | name and | | +| | | | the value | | +| | | | as the | | +| | | | parameter | | +| | | | that need | | +| | | | to be | | +| | | | passed as | | +| | | | an input to | | +| | | | the script. | | +| | | | | | +| | | | NOTE: The | | +| | | | scriptInput | | +| | | | values are | | +| | | | passed to | | +| | | | the scripts | | +| | | | in addition | | +| | | | to the | | +| | | | parameters | | +| | | | received in | | +| | | | the | | +| | | | operation | | +| | | | invocation | | +| | | | request or | | +| | | | indicator | | +| | | | value | | +| | | | change. | | ++--------------------+-------------+------------------+-------------------+-------------------------------------+ diff --git a/docs/ONAP release 2 spec/im/LocalAffinityOrAntiAffinityRule.rst b/docs/ONAP release 2 spec/im/LocalAffinityOrAntiAffinityRule.rst new file mode 100644 index 0000000..7fbec96 --- /dev/null +++ b/docs/ONAP release 2 spec/im/LocalAffinityOrAntiAffinityRule.rst @@ -0,0 +1,26 @@ +.. Copyright 2018 (Huawei) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Class: LocalAffinityOrAntiAffinityRule + ++-------------+-------------+------------------+-----------------+----------------+ +| **Attribute | **Type** | **Multiplicity** | **Description** | **Applied | +| Name** | | | | Stereotypes** | ++=============+=============+==================+=================+================+ +| type | Enum | 1 | Specifies | support: | +| | | | whether the rule| MANDATORY | +| | | | is an affinity | | +| | | | rule or an | valueRange: | +| | | | anti-affinity | "Affinity", | +| | | | rule. | "Anti-Affinity"| ++-------------+-------------+------------------+-----------------+----------------+ +| scope | Enum | 1 | Specifies the | support: | +| | | | scope of the | MANDATORY | +| | | | rule. | | +| | | | | valueRange: | +| | | | | "NFVI-PoP", | +| | | | | "Zone", | +| | | | | "ZoneGroup", | +| | | | | "NFVI-node" | ++-------------+-------------+------------------+-----------------+----------------+ diff --git a/docs/ONAP release 2 spec/im/MonitoringParameter.rst b/docs/ONAP release 2 spec/im/MonitoringParameter.rst new file mode 100644 index 0000000..e010e46 --- /dev/null +++ b/docs/ONAP release 2 spec/im/MonitoringParameter.rst @@ -0,0 +1,80 @@ +.. Copyright 2018 (Huawei) +.. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +.. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode + +Class: MonitoringParameter +============================ + ++-------------------+-------------+------------------+-----------------+---------------+ +| **Attribute | **Type** | **Multiplicity** | **Description** | **Applied | +| Name** | | | | Stereotypes** | ++===================+=============+==================+=================+===============+ +| id | Identifier | 1 | Unique | support: | +| | | | identifier | MANDATORY | +| | | | of the | | +| | | | monitoring | | +| | | | parameter. | | ++-------------------+-------------+------------------+-----------------+---------------+ +| name | String | 0..1 | Human | support: | +| | | | readable | MANDATORY | +| | | | name of the | | +| | | | monitoring | | +| | | | parameter. | | ++-------------------+-------------+------------------+-----------------+---------------+ +| performanceMetric | String | 1 | Identifies | support: | +| | | | the | MANDATORY | +| | | | virtualised | | +| | | | resource | | +| | | | performance | | +| | | | metric. | | ++-------------------+-------------+------------------+-----------------+---------------+ +| collectionPeriod | Not | 0..1 | An | support: | +| | specified | | attribute | MANDATORY | +| | | | that | | +| | Editor's | | describes | | +| | note: need | | the | | +| | to be | | recommended | | +| | specified | | periodicity | | +| | | | at which to | | +| | | | collect the | | +| | | | performance | | +| | | | information. | | +| | | | | | +| | | | VNFM | | +| | | | determines | | +| | | | if this | | +| | | | parameter | | +| | | | is | | +| | | | considered. | | +| | | | | | +| | | | The vendor | | +| | | | may provide | | +| | | | this | | +| | | | information | | +| | | | as a | | +| | | | guidance | | +| | | | for | | +| | | | creating | | +| | | | PmJobs if | | +| | | | needed. | | +| | | | | | +| | | | NOTE: The | | +| | | | MANO or | | +| | | | NFVI may | | +| | | | not support | | +| | | | the | | +| | | | recommended | | +| | | | collectionPeriod| | +| | | | based on | | +| | | | their | | +| | | | functionalities,| | +| | | | and can | | +| | | | reject the | | +| | | | requests | | +| | | | based on | | +| | | | the | | +| | | | recommended | | +| | | | collectionPeriod| | +| | | | in this | | +| | | | case. | | ++-------------------+-------------+------------------+-----------------+---------------+ diff --git a/docs/ONAP release 2 spec/index.rst b/docs/ONAP release 2 spec/index.rst index 21855d1..e09d341 100644 --- a/docs/ONAP release 2 spec/index.rst +++ b/docs/ONAP release 2 spec/index.rst @@ -6,7 +6,7 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -ONAP R1 Modeling Specifications +ONAP R2 Modeling Specifications ============================================== .. toctree:: |