diff options
author | Bozawglanian, Hagop (hb755d) <hb755d@att.com> | 2018-09-04 21:44:28 +0000 |
---|---|---|
committer | Bozawglanian, Hagop (hb755d) <hb755d@att.com> | 2018-09-04 21:44:28 +0000 |
commit | c4e85b64d93f7bb4cdcf13cbc65f2256e5bb7a33 (patch) | |
tree | be3abe0eb6ea4407da81dcb3917dbf1d8f35e77a /docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst | |
parent | 7b7ff003d1133f68bdd17812112e5a5abc47a7f6 (diff) |
VNFRQTS - Breaking up Chapter 5 - Heat
Breaking up the Heat section to make it more granular.
Issue-ID: VNFRQTS-275
Change-Id: I020469d7aea199cd71c4d7c67664ad4dbc4071c9
Signed-off-by: Bozawglanian, Hagop (hb755d) <hb755d@att.com>
Diffstat (limited to 'docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst')
-rw-r--r-- | docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst | 1080 |
1 files changed, 1080 insertions, 0 deletions
diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst new file mode 100644 index 0000000..e9635aa --- /dev/null +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst @@ -0,0 +1,1080 @@ +.. Licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2017 AT&T Intellectual Property. All rights reserved. + +Resource IDs +------------------------------- + +Requirement R-75141 states a VNF's Heat Orchestration Template's +resource name (i.e., <resource ID>) MUST only contain alphanumeric +characters and underscores ('_').* + +Requirement R-16447 states a VNF's <resource ID> MUST be unique +across all Heat Orchestration Templates and all HEAT Orchestration +Template Nested YAML files that are used to create the VNF. + +As stated previously, OpenStack requires the <resource ID> to be unique +to the Heat Orchestration Template and not unique across all Heat +Orchestration Templates the compose the VNF. + +Heat Orchestration Template resources are described in :ref:`resources`. + +.. req:: + :id: R-54517 + :target: VNF + :keyword: MUST + + When a VNF's Heat Orchestration Template's resource is associated + with a single '{vm-type}', the Resource ID **MUST** contain the '{vm-type}'. + +.. req:: + :id: R-96482 + :target: VNF + :keyword: MUST + + When a VNF's Heat Orchestration Template's resource is associated + with a single external network, the Resource ID **MUST** contain the text + '{network-role}'. + +.. req:: + :id: R-98138 + :target: VNF + :keyword: MUST + + When a VNF's Heat Orchestration Template's resource is associated + with a single internal network, the Resource ID **MUST** contain the text + 'int\_{network-role}'. + +.. req:: + :id: R-82115 + :target: VNF + :keyword: MUST + + When a VNF's Heat Orchestration Template's resource is associated + with a single '{vm-type}' and a single external network, the Resource + ID text **MUST** contain both the '{vm-type}' and the '{network-role}' + + - the '{vm-type}' **MUST** appear before the '{network-role}' and **MUST** + be separated by an underscore '_' + + - e.g.,'{vm-type}\_{network-role}', '{vm-type}\_{index}\_{network-role}' + + - note that an '{index}' value **MAY** separate the '{vm-type}' and the + '{network-role}' and when this occurs underscores **MUST** separate the + three values. + +.. req:: + :id: R-82551 + :target: VNF + :keyword: MUST + + When a VNF's Heat Orchestration Template's resource is associated + with a single '{vm-type}' and a single internal network, the Resource ID + **MUST** contain both the '{vm-type}' and the 'int\_{network-role}' and + + - the '{vm-type}' **MUST** appear before the 'int\_{network-role}' and + **MUST** be separated by an underscore '_' + + - e.g.,'{vm-type}\_int\_{network-role}', '{vm-type}_{index}\_int\_{network-role}' + + - note that an '{index}' value **MAY** separate the '{vm-type}' and the + 'int\_{network-role}' and when this occurs underscores **MUST** separate + the three values. + +.. req:: + :id: R-67793 + :target: VNF + :keyword: MUST NOT + + When a VNF's Heat Orchestration Template's resource is associated + with more than one '{vm-type}' and/or more than one internal and/or + external network, the Resource ID **MUST NOT** contain the '{vm-type}' + and/or '{network-role}'/'int\_{network-role}'. It also should contain the + term 'shared' and/or contain text that identifies the VNF. + +.. req:: + :id: R-27970 + :target: VNF + :keyword: MAY + + When a VNF's Heat Orchestration Template's resource is associated + with more than one '{vm-type}' and/or more than one internal and/or + external network, the Resource ID **MAY** contain the term 'shared' + and/or **MAY** contain text that identifies the VNF. + +.. req:: + :id: R-11690 + :target: VNF + :keyword: MUST + + When a VNF's Heat Orchestration Template's Resource ID contains + an {index} value (e.g. multiple VMs of same {vm-type}), the '{index}' + **MUST** start at zero and increment by one. + +OpenStack Heat Resources Resource ID Naming Convention +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Some OpenStack Heat Resources Resource IDs +have mandatory or suggested naming conventions. They are provided +in the following sections. + +OS::Cinder::Volume +~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-87004 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Cinder::Volume Resource ID **SHOULD** use the naming convention + + * {vm-type}_volume_{index} + + where + + * {vm-type} is the vm-type + * {index} starts at zero and increments by one + +OS::Cinder::VolumeAttachment +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-86497 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Cinder::VolumeAttachment Resource ID **SHOULD** use the naming convention + + * {vm-type}_volume_attachment_{index} + + where + + * {vm-type} is the vm-type + * {index} starts at zero and increments by one + +OS::Heat::CloudConfig +~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-04747 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::Heat::CloudConfig' Resource ID **MUST** contain the '{vm-type}'. + +.. req:: + :id: R-20319 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource 'OS::Heat::CloudConfig' + Resource ID **MAY** use the naming convention + + * {vm-type}_RCC + + where + + * {vm-type} is the vm-type + * 'RCC' signifies that it is the Resource Cloud Config + +OS::Heat::MultipartMime +~~~~~~~~~~~~~~~~~~~~~~~ + + +.. req:: + :id: R-30804 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::Heat::MultipartMime' Resource ID **MUST** contain the '{vm-type}'. + +.. req:: + :id: R-18202 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::Heat::MultipartMime' Resource ID **MAY** use the naming convention + + * {vm-type}_RMM + + where + + * {vm-type} is the vm-type + * 'RMM' signifies that it is the Resource Multipart Mime + +OS::Heat::ResourceGroup +~~~~~~~~~~~~~~~~~~~~~~~~ + +There is only a mandatory naming convention for a 'OS::Heat::ResourceGroup' +that is is creating sub-interfaces. + +.. req:: + :id: R-64197 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Heat::ResourceGroup Resource ID that creates sub-interfaces **MUST** + use the naming convention + + * {vm-type}_{vm-type_index}_subint_{network-role}_port_{port-index}_subinterfaces + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the networks + that the sub-interfaces attach to + * {port-index} is the instance of the the port on the vm-type + attached to the network of {network-role} + +OS::Heat::SoftwareConfig +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-08975 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::Heat::SoftwareConfig' Resource ID **MUST** contain the '{vm-type}'. + +.. req:: + :id: R-03656 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::Heat::SoftwareConfig' Resource ID **MAY** use the naming convention + + * {vm-type}_RSC + + where + + * {vm-type} is the vm-type + * 'RSC' signifies that it is the Resource Software Config + +OS::Neutron::Net +~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-25720 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::Net Resource ID **MUST** use the naming convention + + * int_{network-role}_network + +VNF Heat Orchestration Templates can only create internal networks. +There is no {index} after {network-role} because {network-role} +**MUST** be unique in the scope of the VNF's +Heat Orchestration Template. + +OS::Neutron::Port +~~~~~~~~~~~~~~~~~~ + + +.. req:: + :id: R-20453 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::Port that is attaching to an external network Resource ID + **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_{network-role}_port_{port-index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port is attached to + * {port-index} is the instance of the the port on the vm-type + attached to the network of {network-role} + +.. req:: + :id: R-26351 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::Port that is attaching to an internal network Resource ID + **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_int_{network-role}_port_{port-index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port is attached to + * {port-index} is the instance of the the port on the vm-type + attached to the network of {network-role} + +.. req:: + :id: R-27469 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::Port that is creating a *Reserve Port* with an IPv4 address + Resource ID **MUST** use the naming convention + + * reserve_port_{vm-type}_{network-role}_floating_ip_{index} + + where + + * {vm-type} is the vm-type + * {network-role} is the network-role of the network + that the port is attached to + * {index} is the instance of the IPv4 *Reserve Port* + for the vm-type attached to the network of {network-role} + +.. req:: + :id: R-68520 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource OS::Neutron::Port + that is creating a *Reserve Port* with an IPv6 address Resource ID + **MUST** use the naming convention + + * reserve_port_{vm-type}_{network-role}_floating_v6_ip_{index} + + where + + * {vm-type} is the vm-type + * {network-role} is the network-role of the network + that the port is attached to + * {index} is the instance of the IPv6 *Reserve Port* + for the vm-type attached to the network of {network-role} + +OS::Neutron::SecurityGroup +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-08775 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::SecurityGroup that is applicable to one {vm-type} and + more than one network (internal and/or external) Resource ID + **SHOULD** use the naming convention + + * {vm-type}_security_group + + where + + * {vm-type} is the vm-type + +.. req:: + :id: R-03595 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::SecurityGroup that is applicable to more than + one {vm-type} and one external network Resource ID **SHOULD** + use the naming convention + + * {network-role}_security_group + + where + + * {network-role} is the network-role + +.. req:: + :id: R-73213 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::SecurityGroup that is applicable to more than + one {vm-type} and one internal network Resource ID **SHOULD** + use the naming convention + + * int_{network-role}_security_group + + where + + * {network-role} is the network-role + +.. req:: + :id: R-17334 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::SecurityGroup that is applicable to one {vm-type} + and one external network Resource ID **SHOULD** use the naming convention + + * {vm-type}_{network-role}_security_group + + where + + * {vm-type} is the vm-type + * {network-role} is the network-role + +.. req:: + :id: R-14198 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::SecurityGroup that is applicable to one {vm-type} + and one internal network Resource ID **SHOULD** use the naming convention + + * {vm-type}_int_{network-role}_security_group + + where + + * {vm-type} is the vm-type + * {network-role} is the network-role + +.. req:: + :id: R-30005 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::SecurityGroup that is applicable to more than one + {vm-type} and more than one network (internal and/or external) + Resource ID **MAY** use the naming convention + + * shared_security_group + + or + + * {vnf-type}_security_group + + where + + * {vnf-type} describes the VNF + +OS::Neutron::Subnet +~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-59434 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Neutron::Subnet Resource ID **SHOULD** use the naming convention + + * int_{network-role}_subnet_{index} + + where + + * {network-role} is the network-role + * {index} is the {index} of the subnet of the network + +OS::Nova::Keypair +~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-24997 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::Nova::Keypair applies to one {vm-type} Resource ID **SHOULD** + use the naming convention + + * {vm-type}_keypair_{index} + + where + + * {network-role} is the network-role + * {index} is the {index} of the keypair + +.. req:: + :id: R-65516 + :target: VNF + :keyword: SHOULD + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource OS::Nova::Keypair + applies to all Virtual Machines in the the VNF, the Resource ID **SHOULD** + use the naming convention + + * {vnf-type}_keypair + + where + + * {vnf-type} describes the VNF + +OS::Nova::Server +~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-29751 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource OS::Nova::Server + Resource ID **MUST** use the naming convention + + * {vm-type}_server_{index} + + where + + * {vm-type} is the vm-type + * {index} is the index + +OS::Nova::ServerGroup +~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-15189 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource OS::Nova::ServerGroup + Resource ID **MAY** use the naming convention + + * {vm-type}_RSG + + or + + * {vm-type}_Server_Grp + + or + + * {vm-type}_ServerGroup + + or + + * {vm-type}_servergroup + +Contrail Heat Resources Resource ID Naming Convention +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Some Contrail Heat Resources Resource IDs +have mandatory or suggested naming conventions. They are provided +in the following sections. + + +OS::ContrailV2::InstanceIp +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-53310 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::InstanceIp' that is configuring an IPv4 Address + on a port attached to an external network Resource ID **MUST** + use the naming convention + + * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_IP_{index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port is attached to + * {vmi_index} is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of {network-role} + * 'IP' signifies that an IPv4 address is being configured + * {index} is the index of the IPv4 address + +.. req:: + :id: R-46128 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::InstanceIp' that is configuring an + IPv6 Address on a port attached to an external network + Resource ID **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_v6_IP_{index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port is attached to + * {vmi_index} is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of {network-role} + * 'v6_IP' signifies that an IPv6 address is being configured + * {index} is the index of the IPv6 address + +.. req:: + :id: R-62187 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::InstanceIp' that is configuring an + IPv4 Address on a port attached to an internal network + Resource ID **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_IP_{index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port is attached to + * {vmi_index} is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of {network-role} + * 'IP' signifies that an IPv4 address is being configured + * {index} is the index of the IPv4 address + +.. req:: + :id: R-87563 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::InstanceIp' that is configuring an + IPv6 Address on a port attached to an internal network + Resource ID **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_v6_IP_{index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port is attached to + * {vmi_index} is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of {network-role} + * 'v6_IP' signifies that an IPv6 address is being configured + * {index} is the index of the IPv6 address + +.. req:: + :id: R-20947 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::InstanceIp' that is configuring an IPv4 Address + on a sub-interface port attached to a sub-interface network + Resource ID **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_IP_{index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port is attached to + * {vmi_index} is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of {network-role} + * 'IP' signifies that an IPv4 address is being configured + * {index} is the index of the IPv4 address + +.. req:: + :id: R-88540 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::InstanceIp' that is configuring an IPv6 Address + on a sub-interface port attached to a sub-interface network + Resource ID **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_v6_IP_{index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port is attached to + * {vmi_index} is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of {network-role} + * 'v6_IP' signifies that an IPv6 address is being configured + * {index} is the index of the IPv6 address + +OS::ContrailV2::InterfaceRouteTable +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-81214 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::InterfaceRouteTable' Resource ID **MUST** + contain the '{network-role}'. + +.. req:: + :id: R-28189 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::InterfaceRouteTable' Resource ID **MAY** + use the naming convention + + * {network-role}_RIRT + + where + + * {network-role} is the network-role + * 'RIRT' signifies that it is the Resource Interface Route Table + +OS::ContrailV2::NetworkIpam +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-30753 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::NetworkIpam' Resource ID **MUST** + contain the '{network-role}'. + +.. req:: + :id: R-81979 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::NetworkIpam' Resource ID **MAY** + use the naming convention + + * {network-role}_RNI + + where + + * {network-role} is the network-role + * 'RNI' signifies that it is the Resource Network IPAM + +OS::ContrailV2::PortTuple +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-20065 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::PortTuple' Resource ID **MUST** + contain the '{vm-type}'. + +.. req:: + :id: R-84457 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::PortTuple' Resource ID **MAY** + use the naming convention + + * {vm-type}_RPT + + where + + * {vm-type} is the vm-type + * 'RPT' signifies that it is the Resource Port Tuple + +OS::ContrailV2::ServiceHealthCheck +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-76014 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::ServiceHealthCheck' Resource ID **MUST** + contain the '{vm-type}'. + +.. req:: + :id: R-65618 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::ServiceHealthCheck' Resource ID + **MAY** use the naming convention + + * {vm-type}_RSHC_{LEFT|RIGHT} + + where + + * {vm-type} is the vm-type + * 'RSHC' signifies that it is the Resource Service Health Check + * 'LEFT' is used if the Service Health Check is on the left interface + * 'RIGHT' is used if the Service Health Check is on the right interface + +OS::ContrailV2::ServiceTemplate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-16437 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::ServiceTemplate' Resource ID **MUST** + contain the '{vm-type}'. + +.. req:: + :id: R-14447 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + 'OS::ContrailV2::ServiceTemplate' Resource ID **MAY** + use the naming convention + + * {vm-type}_RST_{index} + + where + + * {vm-type} is the vm-type + * 'RST' signifies that it is the Resource Service Template + * '{index}' is is the index + +OS::ContrailV2::VirtualMachineInterface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-96253 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::ContrailV2::VirtualMachineInterface that is attaching + to an external network Resource ID **MUST** + use the naming convention + + * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port (i.e. virtual machine interface) is attached to + * {vmi_index} is the instance of the the vmi on the vm-type + attached to the network of {network-role} + +.. req:: + :id: R-50468 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::ContrailV2::VirtualMachineInterface that is attaching + to an internal network Resource ID **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port (i.e. virtual machine interface) is attached to + * {vmi_index} is the instance of the the vmi on the vm-type + attached to the network of {network-role} + +.. req:: + :id: R-54458 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::ContrailV2::VirtualMachineInterface that is attaching to + a sub-interface network Resource ID **MUST** use the naming convention + + * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index} + + where + + * {vm-type} is the vm-type + * {vm-type_index} is the instance of the {vm-type} + * {network-role} is the network-role of the network + that the port (i.e. virtual machine interface) is attached to + * {vmi_index} is the instance of the the vmi on the vm-type + attached to the network of {network-role} + +OS::ContrailV2::VirtualNetwork +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. req:: + :id: R-99110 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Resource + OS::ContrailV2::VirtualNetwork Resource ID **MUST** + use the naming convention + + * 'int_{network-role}_network' + + or + + * 'int_{network-role}_RVN' where RVN represents Resource Virtual Network + +VNF Heat Orchestration Templates can only create internal networks. +There is no {index} after {network-role} because {network-role} +**MUST** be unique in the scope of the VNF's +Heat Orchestration Template. + +Note that the first option is preferred. |