VNFRQTS - Adding link to ansible
[vnfrqts/requirements.git] / docs / changes-by-section-el-alto.rst
1 .. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
2
3 .. Licensed under the Creative Commons License, Attribution 4.0 Intl.
4    (the "License"); you may not use this documentation except in compliance
5    with the License. You may obtain a copy of the License at
6
7 .. https://creativecommons.org/licenses/by/4.0/
8
9 .. Unless required by applicable law or agreed to in writing, software
10    distributed under the License is distributed on an "AS IS" BASIS,
11    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12    See the License for the specific language governing permissions and
13    limitations under the License.
14
15
16 Requirement Changes Introduced in El Alto
17 ========================================================
18
19 This document summarizes the requirement changes by section that were
20 introduced between the Dublin release and
21 El Alto release. Click on the requirement number to
22 navigate to the
23
24 .. contents::
25     :depth: 2
26
27 Summary of Changes
28 ------------------
29
30 * **Requirements Added:** 1
31 * **Requirements Changed:** 14
32 * **Requirements Removed:** 2
33
34
35 Monitoring & Management > Data Structure Specification of the Event Record
36 --------------------------------------------------------------------------
37
38
39 Requirements Changed
40 ~~~~~~~~~~~~~~~~~~~~
41
42
43 .. container:: note
44
45     :need:`R-520802`
46
47     The VNF or PNF provider **MUST** provide a YAML file formatted in adherence with
48     the :ref:`VES Event Registration specification <ves_event_registration_3_2>`
49     that defines the following information for each event produced by the VNF:
50
51     * ``eventName``
52     * Required fields
53     * Optional fields
54     * Any special handling to be performed for that event
55
56
57 .. container:: note
58
59     :need:`R-570134`
60
61     The events produced by the VNF or PNF **MUST** must be compliant with the common
62     event format defined in the
63     :ref:`VES Event Listener<ves_event_listener_7_1>`
64     specification.
65
66
67 .. container:: note
68
69     :need:`R-120182`
70
71     The VNF or PNF provider **MUST** indicate specific conditions that may arise, and
72     recommend actions that may be taken at specific thresholds, or if specific
73     conditions repeat within a specified time interval, using the semantics and
74     syntax described by the :ref:`VES Event Registration specification <ves_event_registration_3_2>`.
75
76
77 ONAP Heat Orchestration Template Format > Heat Orchestration Template Structure > resources > properties
78 --------------------------------------------------------------------------------------------------------
79
80
81 Requirements Changed
82 ~~~~~~~~~~~~~~~~~~~~
83
84
85 .. container:: note
86
87     :need:`R-10834`
88
89     A VNF's Heat Orchestration Template resource attribute ``property:``
90     **MUST NOT** use more than two levels of nested ``get_param`` intrinsic
91     functions when deriving a property value.  SDC does not support nested
92     ``get_param`` with recursive lists (i.e., a list inside list).
93     The second ``get_param`` in a nested lookup must directly derive its value
94     without further calls to ``get_param`` functions.
95
96     * Example of valid nesting:
97
98       * ``name: {get_param: [ {vm-type}_names, {get_param : index } ] }``
99
100     * Examples of invalid nesting.  SDC will not support these examples since
101       there is an array inside array.
102
103       * ``name: {get_param: [ {vm-type}_names, { get_param: [ indexlist, 0 ] } ] }``
104       * ``name: {get_param: [ {vm-type}_names, { get_param: [ indexlist1, { get_param: indexlist2 } ] } ] }``
105
106
107 ONAP Heat Orchestration Templates Overview > ONAP Heat Orchestration Template Filenames > Base Modules
108 ------------------------------------------------------------------------------------------------------
109
110
111 Requirements Changed
112 ~~~~~~~~~~~~~~~~~~~~
113
114
115 .. container:: note
116
117     :need:`R-81339`
118
119     A VNF Heat Orchestration Template's Base Module file name **MUST** include
120     case insensitive 'base' in the filename and
121     **MUST** match one of the following four
122     formats:
123
124      1.) ``base_<text>.y[a]ml``
125
126      2.) ``<text>_base.y[a]ml``
127
128      3.) ``base.y[a]ml``
129
130      4.) ``<text>_base_<text>``.y[a]ml
131
132     where ``<text>`` **MUST** contain only alphanumeric characters and
133     underscores '_' and **MUST NOT** contain the case insensitive string
134     ``base`` or ``volume``.
135
136
137 ONAP Heat Orchestration Templates Overview > ONAP Heat Orchestration Template Filenames > Cinder Volume Modules
138 ---------------------------------------------------------------------------------------------------------------
139
140
141 Requirements Changed
142 ~~~~~~~~~~~~~~~~~~~~
143
144
145 .. container:: note
146
147     :need:`R-589037`
148
149     A VNF Heat Orchestration Template's Cinder Volume Module ``resources:``
150     section
151     **MUST** only be defined using one of the following:
152
153     * one of more ``OS::Cinder::Volume`` resources
154     * one or more ``OS::Heat::ResourceGroup`` resources that call a nested YAML
155       file that contains only ``OS::Cinder::Volume`` resources
156     * a resource that calls a nested YAML file (static nesting) that contains
157       only ``OS::Cinder::Volume`` resources
158
159
160 ONAP Heat Orchestration Templates Overview > ONAP Heat Orchestration Template Filenames > Incremental Modules
161 -------------------------------------------------------------------------------------------------------------
162
163
164 Requirements Changed
165 ~~~~~~~~~~~~~~~~~~~~
166
167
168 .. container:: note
169
170     :need:`R-87247`
171
172     VNF Heat Orchestration Template's Incremental Module file name
173     **MUST** contain only alphanumeric characters and underscores
174     '_' and **MUST NOT** contain the case insensitive string ``base``.
175
176
177 ONAP Heat Orchestration Templates Overview > ONAP Heat Orchestration Template Filenames > Nested Heat file
178 ----------------------------------------------------------------------------------------------------------
179
180
181 Requirements Changed
182 ~~~~~~~~~~~~~~~~~~~~
183
184
185 .. container:: note
186
187     :need:`R-76057`
188
189     VNF Heat Orchestration Template's Nested YAML file name **MUST** contain
190     only alphanumeric characters and underscores '_' and
191     **MUST NOT** contain the case insensitive string ``base``.
192
193
194 Resource: OS::Nova::Server - Parameters
195 ---------------------------------------
196
197
198 Requirements Changed
199 ~~~~~~~~~~~~~~~~~~~~
200
201
202 .. container:: note
203
204     :need:`R-304011`
205
206     A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource's
207
208     * Resource ID (defined in R-29751)
209     * property ``image`` parameter name (defined in R-58670)
210     * property ``flavor`` parameter name (defined in R-45188)
211     * property ``name`` parameter name (defined in R-54171 & R-87817)
212     * property ``networks`` map property ``port`` value which is a
213       ``OS::Neutron::Port`` Resource ID (defined in R-20453)
214       referenced using the intrinsic function ``get_attr``
215
216     **MUST** contain the identical ``{vm-type}``
217     and **MUST** follow the naming conventions defined
218     in R-58670, R-45188, R-54171, R-87817, and R-29751.  And the ``{index}`` in
219     the ``OS::Nova::Server`` Resource ID (defined in R-29751) **MUST** match
220     the ``{vm-type_index}`` defined in
221     the ``OS::Nova::Server`` property ``networks`` map property ``port``
222     referenced ``OS::Neutron::Port`` Resource ID (defined in R-20453).
223
224
225 Resource: OS::Nova::Server - Parameters > Property: availability_zone
226 ---------------------------------------------------------------------
227
228
229 Requirements Added
230 ~~~~~~~~~~~~~~~~~~
231
232
233 .. container:: note
234
235     :need:`R-256790`
236
237     A VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``
238     property ``availability_zone`` parameter name **MAY** change when
239     past into a nested YAML file.
240
241
242 Requirements Changed
243 ~~~~~~~~~~~~~~~~~~~~
244
245
246 .. container:: note
247
248     :need:`R-98450`
249
250     A VNF's Heat Orchestration Template's base module or incremental module
251     resource ``OS::Nova::Server``
252     property ``availability_zone`` parameter
253     **MUST** follow the naming convention
254
255     * ``availability_zone_{index}``
256
257     where ``{index}`` is a numeric value that **MUST** start at zero
258     in a VNF's Heat Orchestration Templates and **MUST**
259     increment by one.
260
261
262 .. container:: note
263
264     :need:`R-23311`
265
266     The VNF's Heat Orchestration Template's base module or incremental module
267     resource ``OS::Nova::Server`` property
268     ``availability_zone`` parameter **MUST** be declared as type: ``string``.
269
270
271 VNF On-boarding and package management > Resource Control Loop
272 --------------------------------------------------------------
273
274
275 Requirements Changed
276 ~~~~~~~~~~~~~~~~~~~~
277
278
279 .. container:: note
280
281     :need:`R-42018`
282
283     The VNF or PNF Package **MUST** include documentation which must include
284     all events (fault, measurement for VNF or PNF Scaling, Syslogs, State Change
285     and Mobile Flow), that need to be collected at each VM, VNFC (defined in `VNF Guidelines <https://onap.readthedocs.io/en/latest/submodules/vnfrqts/guidelines.git/docs/vnf_guidelines.html>`__ ) and for the overall VNF or PNF.
286
287
288 VNF On-boarding and package management > Resource Description
289 -------------------------------------------------------------
290
291
292 Requirements Changed
293 ~~~~~~~~~~~~~~~~~~~~
294
295
296 .. container:: note
297
298     :need:`R-22346`
299
300     The VNF or PNF package **MUST** provide :ref:`VES Event Registration <ves_event_registration_3_2>`
301     for all VES events provided by that VNF or PNF.
302
303
304 VNF Security > VNF General Security Requirements
305 ------------------------------------------------
306
307
308 Requirements Changed
309 ~~~~~~~~~~~~~~~~~~~~
310
311
312 .. container:: note
313
314     :need:`R-21819`
315
316     VNFs that are subject to regulatory requirements **MUST** provide
317     functionality that enables the Operator to comply with ETSI TC LI
318     requirements, and, optionally, other relevant national equivalents.
319
320
321 VNF Security > VNF Identity and Access Management Requirements
322 --------------------------------------------------------------
323
324
325 Requirements Removed
326 ~~~~~~~~~~~~~~~~~~~~
327
328
329 .. container:: note
330
331     R-98391
332
333     The VNF **MUST**, if not integrated with the Operator's Identity and
334     Access Management system, support Role-Based Access Control to enforce
335     least privilege.
336
337
338 VNF Security > VNF Security Analytics Requirements
339 --------------------------------------------------
340
341
342 Requirements Removed
343 ~~~~~~~~~~~~~~~~~~~~
344
345
346 .. container:: note
347
348     R-22286
349
350     The VNF **MUST** support Integration functionality via
351     API/Syslog/SNMP to other functional modules in the network (e.g.,
352     PCRF, PCEF) that enable dynamic security control by blocking the
353     malicious traffic or malicious end users.
354