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.
6 -----------------------------
12 :validation_mode: none
15 When a VNF's port connects to an internal network or external network,
16 a network role, referred to
17 as the ``{network-role}`` **MUST** be assigned to the network for
18 use in the VNF's Heat Orchestration Template. The ``{network-role}``
19 is used in the VNF's Heat Orchestration Template resource IDs
20 and resource property parameter names.
26 :validation_mode: none
29 When a VNF connects to two or more unique networks, each
30 network **MUST** be assigned a unique ``{network-role}``
31 in the context of the VNF for use in the VNF's Heat Orchestration
38 :validation_mode: none
41 A VNF's Heat Orchestration Template's Resource property parameter that is
42 associated with external network **MUST** include the ``{network-role}``
43 as part of the parameter name.
49 :validation_mode: none
52 A VNF's Heat Orchestration Template's Resource ID that is associated with
53 an external network **MUST** include the ``{network-role}`` as part
60 :validation_mode: none
63 A VNF's Heat Orchestration Template's Resource property parameter that
64 is associated with an internal network **MUST** include
65 ``int_{network-role}`` as part of the parameter name,
66 where ``int_`` is a hard coded string.
72 :validation_mode: none
75 A VNF's Heat Orchestration Template's Resource ID that is associated
76 with an internal network **MUST** include ``int_{network-role}`` as part
77 of the Resource ID, where ``int_`` is a hard coded string.
83 :validation_mode: static
86 A VNF's Heat Orchestration Template's ``{network-role}`` **MUST** contain
87 only alphanumeric characters and/or underscores '_' and
88 **MUST NOT** contain any of the following strings:
89 ``_int`` or ``int_`` or ``_int_``.
95 :validation_mode: static
98 A VNF's Heat Orchestration Template's ``{network-role}``
99 **MUST NOT** be a substring of ``{vm-type}``.
101 For example, if a VNF has a '{vm-type}' of 'oam' and a
102 '{network-role}' of 'oam\_protected' would be a violation of the requirement.
109 :validation_mode: none
112 A VNF's Heat Orchestration Template's use of ``{network-role}``
113 in all Resource property parameter names **MUST** be the same case.
119 :validation_mode: none
122 A VNF's Heat Orchestration Template's use of ``{network-role}``
123 in all Resource IDs **MUST** be the same case.
131 A VNF's Heat Orchestration Template's ``{network-role}`` case in Resource
132 property parameter names **SHOULD** match the case of ``{network-role}``
133 in Resource IDs and vice versa.
136 Note that this document refers to ``{network-role}`` which in reality
137 is the ``{network-role-tag}``. The value of the
138 ``{network-role}`` / ``{network-role-tag}``
139 is determined by the designer of the VNF's Heat Orchestration Template and
140 there is no requirement for ``{network-role}`` / ``{network-role-tag}``
141 uniqueness across Heat Orchestration Templates for
144 When an external network is created by ONAP, the network is also assigned a
145 ``{network-role}``. The ``{network-role}`` of the network is not required to
146 match the ``{network-role}`` of the VNF Heat Orchestration Template.
148 For example, the VNF Heat Orchestration Template can assign a
150 of ``oam`` to a network which attaches to an external network with a
151 ``{network-role}`` of ``oam_protected`` .
153 When the Heat Orchestration Template is on-boarded into ONAP
154 * each ``{network-role}`` value in the Heat Orchestration Template
155 is mapped to the ``{network-role-tag}`` in the ONAP
157 * each ``OS::Neutron::Port`` is associated with the external network it is
158 connecting to, thus creating the VNF Heat Orchestration Template
159 ``{network-role}`` / ``{network-role-tag}``
160 to external network ``{network-role}`` mapping.