From 5128fc3a09ef1b564b922aa51970ecc852ead78b Mon Sep 17 00:00:00 2001 From: Victor Gao Date: Thu, 12 Apr 2018 15:02:24 +0800 Subject: Add DM Spec:Node types Change-Id: Ic4de4bd1961a420ffeb847d64b8425403e430d79 Issue-ID: MODELING-56 Signed-off-by: victor.gao --- docs/ONAP release 2 spec/dm/NodeTypes.rst | 263 ++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 docs/ONAP release 2 spec/dm/NodeTypes.rst 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 -- cgit 1.2.3-korg