1 .. Licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright 2017 AT&T Intellectual Property. All rights reserved.
8 Requirement R-75141 states a VNF’s Heat Orchestration Template’s resource
9 name (i.e., <resource ID>) MUST only contain alphanumeric characters and
12 Requirement R-16447 states a VNF’s <resource ID> MUST be unique across
13 all Heat Orchestration Templates and all HEAT Orchestration Template Nested
14 YAML files that are used to create the VNF.
16 As stated previously, OpenStack requires the <resource ID> to be unique
17 to the Heat Orchestration Template and not unique across all Heat
18 Orchestration Templates the compose the VNF.
20 Heat Orchestration Template resources are described in :ref:`resources`.
26 :validation_mode: none
29 When a VNF's Heat Orchestration Template's resource is associated with
30 a single ``{vm-type}``, the Resource ID **MUST** contain the
37 :validation_mode: none
40 When a VNF's Heat Orchestration Template's resource is associated
41 with a single ONAP external network, the Resource ID **MUST** contain the
42 text ``{network-role}``.
48 :validation_mode: none
51 When a VNF's Heat Orchestration Template's resource is associated with a
52 single ONAP internal network (per the ONAP definition, see
53 Requirements R-52425 and R-46461 and R-35666), the Resource ID **MUST**
55 ``int_{network-role}``.
61 :validation_mode: none
64 When a VNF's Heat Orchestration Template's resource is associated with a
67 external network, the Resource ID text **MUST** contain both
69 and the ``{network-role}``
71 - the ``{vm-type}`` **MUST** appear before the ``{network-role}`` and
72 **MUST** be separated by an underscore '_'
75 - e.g., ``{vm-type}_{network-role}``, ``{vm-type}_{index}_{network-role}``
78 - note that an ``{index}`` value **MAY** separate the ``{vm-type}`` and the
79 ``{network-role}`` and when this occurs underscores **MUST** separate the
80 three values. (e.g., ``{vm-type}_{index}_{network-role}``).
86 :validation_mode: none
89 When a VNF's Heat Orchestration Template's resource is associated with a
90 single ``{vm-type}`` and a single ONAP internal network (per the ONAP
91 definition, see Requirements R-52425 and R-46461 and R-35666),
92 the Resource ID **MUST**
93 contain both the ``{vm-type}`` and the ``int_{network-role}`` and
95 - the ``{vm-type}`` **MUST** appear before the ``int_{network-role}`` and
96 **MUST** be separated by an underscore '_'
98 - (e.g., ``{vm-type}_int_{network-role}``,
99 ``{vm-type}_{index}_int_{network-role}``)
101 - note that an ``{index}`` value **MAY** separate the
102 ``{vm-type}`` and the ``int_{network-role}`` and when this occurs
103 underscores **MUST** separate the three values.
104 (e.g., ``{vm-type}_{index}_int_{network-role}``).
110 :validation_mode: none
113 When a VNF's Heat Orchestration Template's resource is associated
114 with more than one ``{vm-type}`` and/or more than one ONAP internal network
115 (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666)
117 ONAP external network (per the ONAP definition, see Requirement R-57424
118 and R-16968), the Resource ID **MUST NOT** contain the
119 ``{vm-type}`` and/or ``{network-role}``/``int_{network-role}``.
127 When a VNF's Heat Orchestration Template's resource is associated with
128 more than one ``{vm-type}`` and/or more than one ONAP internal network
129 (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666)
130 and/or ONAP external network (per the ONAP definition, see Requirement
131 R-57424 and R-16968), the Resource ID **MAY** contain the term
132 ``shared`` and/or **MAY**
133 contain text that identifies the VNF.
139 :validation_mode: static
142 When a VNF's Heat Orchestration Template's Resource ID contains an
143 ``{index}``, the ``{index}`` is a numeric value that **MUST** start at
144 zero and **MUST** increment by one.
146 As stated in R-16447,
147 *a VNF's <resource ID> MUST be unique across all Heat
148 Orchestration Templates and all HEAT Orchestration Template
149 Nested YAML files that are used to create the VNF*. While the ``{index}``
150 will start at zero in the VNF, the ``{index}`` may not start at zero
151 in a given Heat Orchestration Template or HEAT Orchestration Template
154 OpenStack Heat Resources Resource ID Naming Convention
155 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157 Some OpenStack Heat Resources Resource IDs
158 have mandatory or suggested naming conventions. They are provided
159 in the following sections.
162 ~~~~~~~~~~~~~~~~~~~~~~
170 A VNF's Heat Orchestration Template's Resource
171 ``OS::Cinder::Volume``
174 use the naming convention
176 * ``{vm-type}_volume_{index}``
180 * ``{vm-type}`` is the vm-type
181 * ``{index}`` starts at zero and increments by one (as described in R-11690)
183 OS::Cinder::VolumeAttachment
184 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192 A VNF's Heat Orchestration Template's Resource
193 ``OS::Cinder::VolumeAttachment``
196 use the naming convention
198 * ``{vm-type}_volume_attachment_{index}``
202 * ``{vm-type}`` is the vm-type
203 * ``{index}`` starts at zero and increments by one (as described in R-11690)
205 OS::Heat::CloudConfig
206 ~~~~~~~~~~~~~~~~~~~~~~~
212 :validation_mode: static
215 A VNF's Heat Orchestration Template's Resource ``OS::Heat::CloudConfig``
216 Resource ID **MUST** contain the ``{vm-type}``.
224 A VNF's Heat Orchestration Template's Resource ``OS::Heat::CloudConfig``
225 Resource ID **MAY** use the naming convention
231 * ``{vm-type}`` is the vm-type
232 * ``RCC`` signifies that it is the Resource Cloud Config
234 OS::Heat::MultipartMime
235 ~~~~~~~~~~~~~~~~~~~~~~~
242 :validation_mode: static
245 A VNF's Heat Orchestration Template's Resource
246 ``OS::Heat::MultipartMime``
249 contain the ``{vm-type}``.
257 A VNF's Heat Orchestration Template's Resource
258 ``OS::Heat::MultipartMime``
261 use the naming convention
267 * ``{vm-type}`` is the vm-type
268 * ``RMM`` signifies that it is the Resource Multipart Mime
270 OS::Heat::ResourceGroup
271 ~~~~~~~~~~~~~~~~~~~~~~~~
273 There is no mandatory naming convention for
274 the resource 'OS::Heat::ResourceGroup'.
277 OS::Heat::SoftwareConfig
278 ~~~~~~~~~~~~~~~~~~~~~~~~
284 :validation_mode: static
287 A VNF's Heat Orchestration Template's Resource ``OS::Heat::SoftwareConfig``
288 Resource ID **MUST** contain the ``{vm-type}``.
296 A VNF's Heat Orchestration Template's Resource ``OS::Heat::SoftwareConfig``
297 Resource ID **MAY** use the naming convention
303 * ``{vm-type}`` is the vm-type
304 * ``RSC`` signifies that it is the Resource Software Config
313 :validation_mode: static
316 A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Net``
317 Resource ID **MUST** use the naming convention
319 * ``int_{network-role}_network``
321 VNF Heat Orchestration Templates can only create ONAP internal networks
322 (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666).
323 There is no ``{index}`` after ``{network-role}`` because ``{network-role}``
324 **MUST** be unique in the scope of the VNF's
325 Heat Orchestration Template.
335 :validation_mode: static
338 A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``
339 that is attaching to an ONAP external network (per the ONAP definition,
340 see Requirement R-57424 and R-16968), the ``OS::Neutron::Port``
342 **MUST** use the naming convention
344 * ``{vm-type}_{vm-type_index}_{network-role}_port_{port-index}``
348 * ``{vm-type}`` is the vm-type
349 * ``{vm-type_index}`` references the instance of the ``{vm-type}`` in
351 ``{vm-type_index}`` is a numeric value that **MUST** start at zero
353 **MUST** increment by one each time a new instance of a ``{vm-type}``
355 * ``{network-role}`` is the network-role of the ONAP external network
356 that the port is attached to
357 * ``{port_index}`` references the instance of the port on the ``{vm-type}``
358 attached to ``{network-role}`` network. The
359 ``{port_index}`` is a numeric value that **MUST** start at zero on an
360 instance of a ``{vm-type}`` and **MUST** increment by one each time a
361 new port is defined on the instance of the ``{vm-type}`` attached to
362 ``{network-role}`` network.
368 :validation_mode: static
371 A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``
372 that is attaching to an ONAP internal network
373 (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666),
374 the ``OS::Neutron::Port`` Resource ID **MUST**
375 use the naming convention
377 * ``{vm-type}_{vm-type_index}_int_{network-role}_port_{port-index}``
381 * ``{vm-type}`` is the vm-type
382 * ``{vm-type_index}`` references the instance of the ``{vm-type}`` in
384 ``{vm-type_index}`` is a numeric value that **MUST** start at zero
386 **MUST** increment by one each time a new instance of a ``{vm-type}``
388 * ``{network-role}`` is the network-role of the ONAP internal network
389 that the port is attached to
390 * ``{port_index}`` references the instance of the port on the ``{vm-type}``
391 attached to ``{network-role}`` network. The
392 ``{port_index}`` is a numeric value that **MUST** start at zero on an
393 instance of a ``{vm-type}`` and **MUST** increment by one each time a
394 new port is defined on the instance of the ``{vm-type}`` attached to
395 ``{network-role}`` network.
401 :validation_mode: none
404 A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``
405 that is creating a *Reserve Port* with an IPv4 address, the
406 ``OS::Neutron::Port`` Resource ID
407 **SHOULD** use the naming convention
409 * ``reserve_port_{vm-type}_{network-role}_floating_ip_{index}``
413 * ``{vm-type}`` is the vm-type
414 * ``{network-role}`` is the network-role of the ONAP external network
415 that the port is attached to
416 * ``{index}`` is the instance of the IPv4 *Reserve Port*
417 for the vm-type attached to the network of ``{network-role}``.
418 The ``{index}`` starts at zero and increments by one
419 (as described in R-11690).
426 :validation_mode: none
429 A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``
430 that is creating a *Reserve Port* with an IPv6 address, the
431 ``OS::Neutron::Port`` Resource ID
432 **SHOULD** use the naming convention
434 * ``reserve_port_{vm-type}_{network-role}_floating_v6_ip_{index}``
438 * ``{vm-type}`` is the vm-type
439 * ``{network-role}`` is the network-role of the ONAP external network
440 that the port is attached to
441 * ``{index}`` is the instance of the IPv6 *Reserve Port*
442 for the vm-type attached to the network of ``{network-role}``.
443 The ``{index}`` starts at zero and increments by one
444 (as described in R-11690).
446 OS::Neutron::SecurityGroup
447 ~~~~~~~~~~~~~~~~~~~~~~~~~~
455 A VNF's Heat Orchestration Template's Resource
456 ``OS::Neutron::SecurityGroup``
457 that is applicable to one ``{vm-type}`` and more than one network
458 (ONAP internal network
459 and/or ONAP external network), the ``OS::Neutron::SecurityGroup``
460 Resource ID **SHOULD** use the naming convention
462 * ``{vm-type}_security_group``
466 * ``{vm-type}`` is the vm-type
474 A VNF's Heat Orchestration Template's Resource
475 ``OS::Neutron::SecurityGroup`` that
476 is applicable to more than one ``{vm-type}`` and one ONAP external network
477 (per the ONAP definition, see Requirement R-57424 and R-16968),
478 the ``OS::Neutron::SecurityGroup`` Resource ID
479 **SHOULD** use the naming convention
481 * ``{network-role}_security_group``
485 * ``{network-role}`` is the network-role of the ONAP external network
493 A VNF's Heat Orchestration Template's Resource
494 ``OS::Neutron::SecurityGroup`` that
495 is applicable to more than one ``{vm-type}`` and one ONAP internal network,
496 (per the ONAP definition, see Requirements R-52425 and R-46461 and
497 R-35666), the ``OS::Neutron::SecurityGroup`` Resource ID
498 **SHOULD** use the naming convention
500 * ``int_{network-role}_security_group``
504 * ``{network-role}`` is the network-role of the ONAP internal network
512 A VNF's Heat Orchestration Template's Resource
513 ``OS::Neutron::SecurityGroup``
514 that is applicable to one ``{vm-type}`` and one ONAP external network
515 (per the ONAP definition, see Requirement R-57424 and R-16968),
516 the ``OS::Neutron::SecurityGroup`` Resource ID
517 **SHOULD** use the naming convention
519 * ``{vm-type}_{network-role}_security_group``
523 * ``{vm-type}`` is the vm-type
524 * ``{network-role}`` is the network-role of the ONAP external network
532 A VNF's Heat Orchestration Template's Resource
533 ``OS::Neutron::SecurityGroup`` that
534 is applicable to one {vm-type} and one ONAP internal network
535 (per the ONAP definition, see Requirements R-52425 and R-46461 and
537 ``OS::Neutron::SecurityGroup`` Resource ID **SHOULD**
538 use the naming convention
540 * ``{vm-type}_int_{network-role}_security_group``
544 * ``{vm-type}`` is the vm-type
545 * ``{network-role}`` is the network-role of the ONAP internal network
553 A VNF's Heat Orchestration Template's Resource
554 ``OS::Neutron::SecurityGroup`` that
555 is applicable to more than one ``{vm-type}`` and more than one network
556 (internal and/or external), the ``OS::Neutron::SecurityGroup`` Resource ID
558 use the naming convention
560 * ``shared_security_group``
564 * ``{vnf-type}_security_group``
568 * ``{vnf-type}`` describes the VNF
579 A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Subnet``
580 Resource ID **SHOULD** use the naming convention
582 * ``int_{network-role}_subnet_{index}``
586 * ``{network-role}`` is the network-role of the ONAP internal network
587 (per the ONAP definition, see Requirements R-52425 and R-46461 and
589 * ``{index}`` is the ``{index}`` of the subnet of the ONAP internal network.
590 The ``{index}`` starts at zero and increments by one
591 (as described in R-11690).
602 A VNF's Heat Orchestration Template's Resource ``OS::Nova::Keypair``
603 that applies to one ``{vm-type}``, the ``OS::Nova::Keypair``
604 Resource ID **SHOULD** use the naming convention
606 * ``{vm-type}_keypair_{index}``
610 * ``{vm-type}`` is the vm-type of the ``OS::Nova::Server``
611 * ``{index}`` is the ``{index}`` of the keypair.
612 The ``{index}`` starts at zero and increments by one
613 (as described in R-11690).
621 A VNF's Heat Orchestration Template's Resource ``OS::Nova::Keypair``
622 that applies to all Virtual Machines in the VNF, the
623 ``OS::Nova::Keypair`` Resource ID **SHOULD** use the naming
626 * ``{vnf-type}_keypair``
630 * ``{vnf-type}`` describes the VNF
639 :validation_mode: static
642 A VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``
644 **MUST** use the naming convention
646 * ``{vm-type}_server_{index}``
650 * ``{vm-type}`` is the vm-type
651 * ``{index}`` is the index.
652 The ``{index}`` **MUST** starts at zero and increment by one
653 as described in R-11690.
655 OS::Nova::ServerGroup
656 ~~~~~~~~~~~~~~~~~~~~~
664 A VNF's Heat Orchestration Template's Resource ``OS::Nova::ServerGroup``
665 Resource ID **MAY** use the naming convention
671 * ``{vm-type}_Server_Grp``
675 * ``{vm-type}_ServerGroup``
679 * ``{vm-type}_servergroup``
681 Contrail Heat Resources Resource ID Naming Convention
682 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
684 Some Contrail Heat Resources Resource IDs
685 have mandatory or suggested naming conventions. They are provided
686 in the following sections.
689 OS::ContrailV2::InstanceIp
690 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
696 :validation_mode: static
700 A VNF's Heat Orchestration Template's Resource
701 ``OS::ContrailV2::InstanceIp`` Resource ID
702 that is configuring an IPv4 Address on a virtual machine interface
703 (i.e., OS::ContrailV2::VirtualMachineInterface)
704 attached to an ONAP external network (per the ONAP definition,
705 see Requirement R-57424 and R-16968)
706 **MUST** use the naming convention
708 * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_IP_{index}``
712 * ``{vm-type}`` is the vm-type
713 * ``{vm-type_index}`` references the instance of the ``{vm-type}`` in
715 ``{vm-type_index}`` is a numeric value that **MUST** start at zero
717 **MUST** increment by one each time a new instance of a ``{vm-type}``
719 * ``{network-role}`` is the network-role of the ONAP external
720 network that the virtual machine interface is attached to
721 * ``{vmi_index}`` references the instance of the virtual machine interface
722 on the ``{vm-type}`` attached to ``{network-role}`` network. The
723 ``{vmi_index}`` is a numeric value that **MUST** start at zero on an
724 instance of a ``{vm-type}`` and **MUST** increment by one each time a
725 new virtual machine interface is defined on the instance of the
726 ``{vm-type}`` attached to ``{network-role}`` network.
727 * ``IP`` signifies that an IPv4 address is being configured
728 * ``{index}`` references the instance of the IPv4 address configured
729 on the virtual machine interface. The ``{index}`` is a numeric value
730 that **MUST** start at zero on an
731 instance of a virtual machine interface and **MUST** increment by one
732 each time a new IPv4 address is configured on the
733 virtual machine interface.
739 :validation_mode: static
742 A VNF's Heat Orchestration Template's Resource
743 ``OS::ContrailV2::InstanceIp`` Resource ID
744 that is configuring an IPv6 Address on a virtual machine interface
745 (i.e., OS::ContrailV2::VirtualMachineInterface)
746 attached to an ONAP external network (per the ONAP definition,
747 see Requirement R-57424 and R-16968)
748 **MUST** use the naming convention
750 * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_v6_IP_{index}``
754 * ``{vm-type}`` is the vm-type
755 * ``{vm-type_index}`` references the instance of the ``{vm-type}`` in
757 ``{vm-type_index}`` is a numeric value that **MUST** start at zero
759 **MUST** increment by one each time a new instance of a ``{vm-type}``
761 * ``{network-role}`` is the network-role of the ONAP external network
762 that the port is attached to
763 * ``{vmi_index}`` references the instance of the virtual machine interface
764 on the ``{vm-type}`` attached to ``{network-role}`` network. The
765 ``{vmi_index}`` is a numeric value that **MUST** start at zero on an
766 instance of a ``{vm-type}`` and **MUST** increment by one each time a
767 new virtual machine interface is defined on the instance of the
768 ``{vm-type}`` attached to ``{network-role}`` network.
769 * ``v6_IP`` signifies that an IPv6 address is being configured
770 * ``{index}`` references the instance of the IPv6 address configured
771 on the virtual machine interface. The ``{index}`` is a numeric value
772 that **MUST** start at zero on an
773 instance of a virtual machine interface and **MUST** increment by one
774 each time a new IPv6 address is configured on the
775 virtual machine interface.
781 :validation_mode: static
784 A VNF's Heat Orchestration Template's Resource
785 ``OS::ContrailV2::InstanceIp`` Resource ID
786 that is configuring an IPv4 Address on a virtual machine interface
787 (i.e., OS::ContrailV2::VirtualMachineInterface)
788 attached to an ONAP internal network (per the ONAP definition, see
789 Requirements R-52425 and R-46461 and R-35666)
790 **MUST** use the naming convention
792 * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_IP_{index}``
796 * ``{vm-type}`` is the vm-type
797 * ``{vm-type_index}`` references the instance of the ``{vm-type}`` in
799 ``{vm-type_index}`` is a numeric value that **MUST** start at zero
801 **MUST** increment by one each time a new instance of a ``{vm-type}``
803 * ``{network-role}`` is the network-role of the ONAP internal network
804 that the port is attached to
805 * ``{vmi_index}`` references the instance of the virtual machine interface
806 on the ``{vm-type}`` attached to ``{network-role}`` network. The
807 ``{vmi_index}`` is a numeric value that **MUST** start at zero on an
808 instance of a ``{vm-type}`` and **MUST** increment by one each time a
809 new virtual machine interface is defined on the instance of the
810 ``{vm-type}`` attached to ``{network-role}`` network.
811 * ``IP`` signifies that an IPv4 address is being configured
812 * ``{index}`` references the instance of the IPv4 address configured
813 on the virtual machine interface. The ``{index}`` is a numeric value
814 that **MUST** start at zero on an
815 instance of a virtual machine interface and **MUST** increment by one
816 each time a new IPv4 address is configured on the
817 virtual machine interface.
823 :validation_mode: static
826 A VNF's Heat Orchestration Template's Resource
827 ``OS::ContrailV2::InstanceIp`` Resource ID
828 that is configuring an IPv6 Address on a virtual machine interface
829 (i.e., OS::ContrailV2::VirtualMachineInterface)
830 attached to an ONAP internal network (per the ONAP definition, see
831 Requirements R-52425 and R-46461 and R-35666)
832 **MUST** use the naming convention
834 * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_v6_IP_{index}``
838 * ``{vm-type}`` is the vm-type
839 * ``{vm-type_index}`` references the instance of the ``{vm-type}`` in
841 ``{vm-type_index}`` is a numeric value that **MUST** start at zero
843 **MUST** increment by one each time a new instance of a ``{vm-type}``
845 * ``{network-role}`` is the network-role of the ONAP internal network
846 that the port is attached to
847 * ``{vmi_index}`` references the instance of the virtual machine interface
848 on the ``{vm-type}`` attached to ``{network-role}`` network. The
849 ``{vmi_index}`` is a numeric value that **MUST** start at zero on an
850 instance of a ``{vm-type}`` and **MUST** increment by one each time a
851 new virtual machine interface is defined on the instance of the
852 ``{vm-type}`` attached to ``{network-role}`` network.
853 * ``v6_IP`` signifies that an IPv6 address is being configured
854 * ``{index}`` references the instance of the IPv6 address configured
855 on the virtual machine interface. The ``{index}`` is a numeric value
856 that **MUST** start at zero on an
857 instance of a virtual machine interface and **MUST** increment by one
858 each time a new IPv6 address is configured on the
859 virtual machine interface.
861 OS::ContrailV2::InterfaceRouteTable
862 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
868 :validation_mode: static
871 A VNF's Heat Orchestration Template's Resource
872 ``OS::ContrailV2::InterfaceRouteTable``
875 contain the ``{network-role}``.
883 A VNF's Heat Orchestration Template's Resource
884 ``OS::ContrailV2::InterfaceRouteTable``
885 Resource ID **MAY** use the naming convention
887 * ``{network-role}_RIRT``
891 * ``{network-role}`` is the network-role
892 * ``RIRT`` signifies that it is the Resource Interface Route Table
894 OS::ContrailV2::NetworkIpam
895 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
901 :validation_mode: static
904 A VNF's Heat Orchestration Template's Resource
905 ``OS::ContrailV2::NetworkIpam``
908 contain the ``{network-role}`` of the ONAP internal network (per the ONAP
909 definition, see Requirements R-52425 and R-46461 and R-35666) that the
910 resource is associated with.
918 A VNF's Heat Orchestration Template's Resource
919 ``OS::ContrailV2::NetworkIpam``
920 Resource ID **MAY** use the naming convention
922 * ``{network-role}_RNI``
926 * ``{network-role}`` is the network-role
927 * ``RNI`` signifies that it is the Resource Network IPAM
929 OS::ContrailV2::PortTuple
930 ~~~~~~~~~~~~~~~~~~~~~~~~~
936 :validation_mode: static
939 A VNF's Heat Orchestration Template's Resource
940 ``OS::ContrailV2::PortTuple``
941 Resource ID **MUST** contain the ``{vm-type}``.
949 A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::PortTuple``
950 Resource ID **MAY** use the naming convention
956 * ``{vm-type}`` is the vm-type
957 * ``RPT`` signifies that it is the Resource Port Tuple
959 OS::ContrailV2::ServiceHealthCheck
960 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
966 :validation_mode: static
969 A VNF's Heat Orchestration Template's Resource
970 ``OS::ContrailV2::ServiceHealthCheck``
973 contain the ``{vm-type}``.
981 A VNF's Heat Orchestration Template's Resource
982 ``OS::ContrailV2::ServiceHealthCheck`` Resource ID **MAY** use the naming convention
984 * ``{vm-type}_RSHC_{LEFT|RIGHT}``
988 * ``{vm-type}`` is the vm-type
989 * ``RSHC`` signifies that it is the Resource Service Health Check
990 * ``LEFT`` is used if the Service Health Check is on the left interface
991 * ``RIGHT`` is used if the Service Health Check is on the right interface
993 OS::ContrailV2::ServiceTemplate
994 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1000 :validation_mode: static
1001 :updated: casablanca
1003 A VNF's Heat Orchestration Template's Resource
1004 ``OS::ContrailV2::ServiceTemplate``
1005 Resource ID **MUST** contain the ``{vm-type}``.
1013 A VNF's Heat Orchestration Template's Resource
1014 ``OS::ContrailV2::ServiceTemplate``
1015 Resource ID **MAY** use the naming convention
1017 * ``{vm-type}_RST_{index}``
1021 * ``{vm-type}`` is the vm-type
1022 * ``RST`` signifies that it is the Resource Service Template
1023 * ``{index}`` is the index.
1024 The ``{index}`` starts at zero and increments by one
1025 (as described in R-11690).
1027 OS::ContrailV2::VirtualMachineInterface
1028 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1034 :validation_mode: static
1037 A VNF's Heat Orchestration Template's Resource
1038 ``OS::ContrailV2::VirtualMachineInterface`` Resource ID
1039 that is attaching to an ONAP external network (per the ONAP definition,
1040 see Requirement R-57424 and R-16968)
1041 **MUST** use the naming convention
1043 * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}``
1047 * ``{vm-type}`` is the vm-type
1048 * ``{vm-type_index}`` references the instance of the ``{vm-type}`` in
1050 ``{vm-type_index}`` is a numeric value that **MUST** start at zero
1052 **MUST** increment by one each time a new instance of a ``{vm-type}``
1054 * ``{network-role}`` is the network-role of the ONAP external network
1055 that the port (i.e. virtual machine interface) is attached to
1056 * ``{vmi_index}`` references the instance of the virtual machine interface
1057 on the ``{vm-type}`` attached to ``{network-role}`` network. The
1058 ``{vmi_index}`` is a numeric value that **MUST** start at zero on an
1059 instance of a ``{vm-type}`` and **MUST** increment by one each time a
1060 new virtual machine interface is defined on the instance of the
1061 ``{vm-type}`` attached to ``{network-role}`` network.
1068 :validation_mode: static
1071 A VNF's Heat Orchestration Template's Resource
1072 ``OS::ContrailV2::VirtualMachineInterface`` Resource ID
1073 that is attaching to an ONAP internal network (per the ONAP definition, see
1074 Requirements R-52425 and R-46461 and R-35666)
1075 **MUST** use the naming convention
1077 * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}``
1081 * ``{vm-type}`` is the vm-type
1082 * ``{vm-type_index}`` references the instance of the ``{vm-type}`` in
1084 ``{vm-type_index}`` is a numeric value that **MUST** start at zero
1086 **MUST** increment by one each time a new instance of a ``{vm-type}``
1088 * ``{network-role}`` is the network-role of the ONAP internal network
1089 that the port (i.e. virtual machine interface) is attached to
1090 * ``{vmi_index}`` references the instance of the virtual machine interface
1091 on the ``{vm-type}`` attached to ``{network-role}`` network. The
1092 ``{vmi_index}`` is a numeric value that **MUST** start at zero on an
1093 instance of a ``{vm-type}`` and **MUST** increment by one each time a
1094 new virtual machine interface is defined on the instance of the
1095 ``{vm-type}`` attached to ``{network-role}`` network.
1098 OS::ContrailV2::VirtualNetwork
1099 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1105 :validation_mode: static
1108 A VNF's Heat Orchestration Template's Resource
1109 ``OS::ContrailV2::VirtualNetwork`` Resource ID **MUST** use the naming
1112 * ``int_{network-role}_network``
1114 VNF Heat Orchestration Templates can only create ONAP internal networks
1115 (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666).
1116 There is no ``{index}`` after ``{network-role}`` because ``{network-role}``
1117 **MUST** be unique in the scope of the VNF's
1118 Heat Orchestration Template.