1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
.. 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.
{network-role}
-----------------------------
.. req::
:id: R-69014
:target: VNF
:keyword: MUST
:validation_mode: none
:updated: frankfurt
When a VNF's port connects to an ONAP internal network or ONAP
external network,
a network role, referred to
as the ``{network-role}`` **MUST** be assigned to the network for
use in the VNF's Heat Orchestration Template. The ``{network-role}``
is used in the VNF's Heat Orchestration Template's resource IDs
and resource property parameter names.
.. req::
:id: R-05201
:target: VNF
:keyword: MUST
:validation_mode: none
:updated: dublin
When a VNF connects to two or more unique networks, each
network **MUST** be assigned a unique ``{network-role}``
in the context of the VNF for use in the VNF's Heat Orchestration
Template.
.. req::
:id: R-21330
:target: VNF
:keyword: MUST
:validation_mode: none
:updated: frankfurt
A VNF's Heat Orchestration Template's Resource property parameter that is
associated with an ONAP
external network **MUST** include the ``{network-role}``
as part of the parameter name.
.. req::
:id: R-11168
:target: VNF
:keyword: MUST
:validation_mode: none
:updated: frankfurt
A VNF's Heat Orchestration Template's Resource ID that is associated with
an ONAP external network **MUST** include the ``{network-role}`` as part
of the resource ID.
.. req::
:id: R-84322
:target: VNF
:keyword: MUST
:validation_mode: none
:updated: frankfurt
A VNF's Heat Orchestration Template's Resource property parameter that
is associated with an ONAP internal network (per the ONAP definition, see
Requirements R-52425 and R-46461 and R-35666)
**MUST** include
``int_{network-role}`` as part of the parameter name,
where ``int_`` is a hard coded string.
.. req::
:id: R-96983
:target: VNF
:keyword: MUST
:validation_mode: none
:updated: frankfurt
A VNF's Heat Orchestration Template's Resource ID that is associated
with an ONAP internal network (per the ONAP definition, see Requirements
R-52425 and R-46461 and R-35666)
**MUST** include ``int_{network-role}`` as part
of the Resource ID, where ``int_`` is a hard coded string.
.. req::
:id: R-26506
:target: VNF
:keyword: MUST NOT
:validation_mode: static
:updated: dublin
A VNF's Heat Orchestration Template's ``{network-role}`` **MUST** contain
only alphanumeric characters and/or underscores '_' and
* **MUST NOT** contain any of the following strings: ``_int`` or ``int_``
or ``_int_``
* **MUST NOT** end in the string: ``_v6``
* **MUST NOT** contain the strings ``_#_``, where ``#`` is a number
* **MUST NOT** end in the string: ``_#``, where ``#`` is a number
.. req::
:id: R-00977
:target: VNF
:keyword: MUST NOT
:validation_mode: static
:updated: casablanca
A VNF's Heat Orchestration Template's ``{network-role}``
**MUST NOT** be a substring of ``{vm-type}``.
For example, if a VNF has a '{vm-type}' of 'oam' and a
'{network-role}' of 'oam\_protected' would be a violation of the requirement.
.. req::
:id: R-58424
:target: VNF
:keyword: MUST
:validation_mode: none
:updated: casablanca
A VNF's Heat Orchestration Template's use of ``{network-role}``
in all Resource property parameter names **MUST** be the same case.
.. req::
:id: R-21511
:target: VNF
:keyword: MUST
:validation_mode: none
:updated: casablanca
A VNF's Heat Orchestration Template's use of ``{network-role}``
in all Resource IDs **MUST** be the same case.
.. req::
:id: R-86588
:target: VNF
:keyword: SHOULD
:updated: casablanca
A VNF's Heat Orchestration Template's ``{network-role}`` case in Resource
property parameter names **SHOULD** match the case of ``{network-role}``
in Resource IDs and vice versa.
Note that this document refers to ``{network-role}`` which in reality
is the ``{network-role-tag}``. The value of the
``{network-role}`` / ``{network-role-tag}``
is determined by the designer of the VNF's Heat Orchestration Template and
there is no requirement for ``{network-role}`` / ``{network-role-tag}``
uniqueness across Heat Orchestration Templates for
different VNFs.
When an external network is created by ONAP, the network is also assigned a
``{network-role}``. The ``{network-role}`` of the network is not required to
match the ``{network-role}`` of the VNF Heat Orchestration Template.
For example, the VNF Heat Orchestration Template can assign a
``{network-role}``
of ``oam`` to a network which attaches to an external network with a
``{network-role}`` of ``oam_protected`` .
When the Heat Orchestration Template is on-boarded into ONAP
* each ``{network-role}`` value in the Heat Orchestration Template
is mapped to the ``{network-role-tag}`` in the ONAP
data structure.
* each ``OS::Neutron::Port`` is associated with the external network it is
connecting to, thus creating the VNF Heat Orchestration Template
``{network-role}`` / ``{network-role-tag}``
to external network ``{network-role}`` mapping.
|