1 .. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
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
7 .. https://creativecommons.org/licenses/by/4.0/
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.
16 VNF On-boarding and package management
17 --------------------------------------
22 The ONAP Design Time Framework provides the ability to design NFV
23 resources including VNFs, Services, and products. The VNF provider must
24 provide VNF packages that include a rich set of recipes, management and
25 functional interfaces, policies, configuration parameters, and
26 infrastructure requirements that can be utilized by the ONAP Design
27 module to onboard and catalog these resources. Initially this
28 information may be provided in documents, but in the near future a
29 method will be developed to automate as much of the transfer of data as
30 possible to satisfy its long term requirements.
32 The current VNF Package Requirement is based on a subset of the
33 Requirements contained in the ETSI Document: ETSI GS NFV-MAN 001 v1.1.1
34 and GS NFV IFA011 V0.3.0 (2015-10) - Network Functions Virtualization
35 (NFV), Management and Orchestration, VNF Packaging Specification.
38 ^^^^^^^^^^^^^^^^^^^^^^
46 For HEAT package, the VNF Package **MUST** include VNF Identification Data to
47 uniquely identify the resource for a given VNF provider. The identification
48 data must include: an identifier for the VNF, the name of the VNF as was
49 given by the VNF provider, VNF description, VNF provider, and version.
53 :target: VNF or PNF DOCUMENTATION PACKAGE
57 The VNF or PNF Documentation Package **MUST** describe the VNF or PNF
58 Management APIs, which must include information and tools for ONAP to
59 deploy and configure (initially and ongoing) the VNF or PNF application(s)
60 (e.g., NETCONF APIs) which includes a description of configurable
61 parameters for the VNF or PNF and whether the parameters can be configured
62 after VNF or PNF instantiation.
66 :target: VNF or PNF DOCUMENTATION PACKAGE
70 The VNF or PNF Documentation Package **MUST** describe the VNF or PNF
71 Management APIs, which must include information and tools for
72 ONAP to monitor the health of the VNF or PNF (conditions that require
73 healing and/or scaling responses).
77 :target: VNF or PNF DOCUMENTATION PACKAGE
81 The VNF or PNF Documentation Package **MUST** include
82 a description of parameters that can be monitored for the VNF or PNF
83 and event records (status, fault, flow, session, call, control
84 plane, etc.) generated by the VNF or PNF after instantiation.
88 :target: VNF or PNF DOCUMENTATION PACKAGE
92 The VNF or PNF Documentation Package **MUST** include a
93 description of runtime lifecycle events and related actions (e.g.,
94 control responses, tests) which can be performed for the VNF or PNF.
98 :target: VNF or PNF DOCUMENTATION PACKAGE
102 The VNF or PNF Documentation Package **MUST** describe the
103 VNF or PNF Functional APIs that are utilized to build network and
104 application services. This document describes the externally exposed
105 functional inputs and outputs for the VNF or PNF, including interface
106 format and protocols supported.
110 :target: VNF or PNF DOCUMENTATION PACKAGE
114 The VNF or PNF Documentation Package **MUST** describe the
115 VNF or PNF Functional Capabilities that are utilized to operationalize the
116 VNF or PNF and compose complex services.
120 :target: VNF PROVIDER
124 The VNF Provider **MUST** provide documentation regarding any dependency
125 (e.g. affinity, anti-affinity) the VNF has on other VNFs and resources.
129 :target: VNF or PNF PACKAGE
131 :introduced: casablanca
133 :validation_mode: static
135 The VNF or PNF package **MUST** provide :doc:`VES Event Registration <../../../../vnfsdk/model.git/docs/files/VESEventRegistration_3_0>`
136 for all VES events provided by that VNF or PNF.
140 :target: VNF DOCUMENTATION PACKAGE
142 :introduced: casablanca
145 The VNF Documentation Package **MUST** contain a list of the files within the VNF
146 package that are static during the VNF's runtime.
150 :target: VNF PROVIDER
153 :impacts: DCAE,Documentation,Integration,SDC
154 :validation_mode: static
156 The VNF or PNF PROVIDER **MUST** provide FM Meta Data to support the
157 analysis of fault events delivered to DCAE. The Meta Data must be
158 included in the VES Registration YAML file with each fault event
159 supported by that NF at onboarding time and the Meta Data must follow
160 the VES Event Listener and VES Event Registration Specifications.
164 :target: VNF or PNF PROVIDER
167 :impacts: DCAE,Documentation,Integration,SDC
168 :validation_mode: static
170 The VNF or PNF PROVIDER *MUST* provide the Service Provider with
171 PM Meta Data (PM Dictionary) to support the analysis of PM events delivered
172 to DCAE. The PM Dictionary is to be provided as a separate YAML artifact at
173 onboarding and must follow the VES Event Listener Specification and VES
174 Event Registration Specification which contain the format and content
177 Resource Configuration
178 ^^^^^^^^^^^^^^^^^^^^^^^
187 The VNF or PNF **MUST** support and provide artifacts for configuration
188 management using at least one of the following technologies;
189 a) Netconf/YANG, b) Chef, or c) Ansible.
191 Note: The requirements for Netconf/YANG, Chef, and Ansible protocols
192 are provided separately and must be supported only if the corresponding
193 protocol option is provided by the VNF or PNF providor.
196 Configuration Management via NETCONF/YANG
197 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
205 The VNF or PNF provider **SHOULD** provide a Resource/Device YANG model
206 as a foundation for creating the YANG model for configuration.
208 Configuration Management via Chef
209 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218 The VNF or PNF provider **MUST** provide cookbooks to be loaded
219 on the appropriate Chef Server.
227 The VNF or PNF provider **MUST** provide a JSON file for each
228 supported action for the VNF or PNF. The JSON file must contain key value
229 pairs with all relevant values populated with sample data that illustrates
230 its usage. The fields and their description are defined in Tables A1
231 and A2 in the Appendix.
233 Note: Chef support in ONAP is not currently available and planned for 4Q 2017.
236 Configuration Management via Ansible
237 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
246 The VNF or PNF provider **MUST** provide playbooks to be loaded
247 on the appropriate Ansible Server.
255 The VNF or PNF provider **MUST** provide a JSON file for each
256 supported action for the VNF or PNF. The JSON file must contain key value
257 pairs with all relevant values populated with sample data that illustrates
258 its usage. The fields and their description are defined in Table B1
267 The VNF or PNF Package **MUST** include configuration scripts
268 for boot sequence and configuration.
276 The VNF or PNF provider **MUST** provide configurable parameters
277 (if unable to conform to YANG model) including VNF or PNF attributes/parameters
278 and valid values, dynamic attributes and cross parameter dependencies
279 (e.g., customer provisioning data).
281 Resource Control Loop
282 ^^^^^^^^^^^^^^^^^^^^^^^
287 :target: VNF or PNF DOCUMENTATION PACKAGE
291 The VNF or PNF Documentation Package **MUST** provide the VNF or PNF
292 Policy Description to manage the VNF or PNF runtime lifecycle. The document
293 must include a description of how the policies (conditions and actions)
294 are implemented in the VNF or PNF.
298 :target: VNF or PNF DOCUMENTATION PACKAGE
302 The VNF or PNF Documentation Package **MUST** describe the
303 fault, performance, capacity events/alarms and other event records
304 that are made available by the VNF or PNF.
308 :target: VNF or PNF DOCUMENTATION PACKAGE
312 The VNF or PNF Documentation Package **MUST** include documentation which must
313 include a unique identification string for the specific VNF or PNF, a description
314 of the problem that caused the error, and steps or procedures to perform
315 Root Cause Analysis and resolve the issue.
323 The VNF or PNF Package **MUST** include documentation which must include
324 all events, severity level (e.g., informational, warning, error) and
325 descriptions including causes/fixes if applicable for the event.
333 The VNF or PNF Package **MUST** include documentation which must include
334 all events (fault, measurement for VNF or PNF Scaling, Syslogs, State Change
335 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/vnf_guidelines.html>`__ ) and for the overall VNF or PNF.
340 :target: VNF or PNF DOCUMENTATION PACKAGE
344 The VNF or PNF Documentation Package **MUST** describe all
345 parameters that are available to monitor the VNF or PNF after instantiation
346 (includes all counters, OIDs, PM data, KPIs, etc.) that must be
347 collected for reporting purposes.
355 The VNF or PNF Package **MUST** include documentation about monitoring
356 parameters/counters exposed for virtual resource management and VNF or PNF
357 application management.
365 The VNF Package **MUST** include documentation about KPIs and
366 metrics that need to be collected at each VM for capacity planning
367 and performance management purposes.
375 The VNF or PNF Package **MUST** include documentation about the monitoring
376 parameters that must include latencies, success rates, retry rates, load
377 and quality (e.g., DPM) for the key transactions/functions supported by
378 the VNF or PNF and those that must be exercised by the VNF or PNF in order to perform
387 The VNF or PNF Package **MUST** include documentation for each KPI, provide
388 lower and upper limits.
392 :target: VNF or PNF DOCUMENTATION PACKAGE
396 The VNF or PNF Documentation Package **MUST**, when relevant,
397 provide a threshold crossing alert point for each KPI and describe the
398 significance of the threshold crossing.
406 The VNF or PNF Package **MUST** include documentation for each KPI,
407 identify the suggested actions that need to be performed when a
408 threshold crossing alert event is recorded.
412 :target: VNF or PNF DOCUMENTATION PACKAGE
416 The VNF or PNF Documentation Package **MUST** describe
417 any requirements for the monitoring component of tools for Network
418 Cloud automation and management to provide these records to components
427 The VNF or PNF Package **MUST** include documentation to when applicable,
428 provide calculators needed to convert raw data into appropriate reporting
433 :target: VNF or PNF DOCUMENTATION PACKAGE
437 The VNF or PNF Documentation Package **MUST** describe
438 supported VNF or PNF scaling capabilities and capacity limits (e.g., number
439 of users, bandwidth, throughput, concurrent calls).
443 :target: VNF or PNF DOCUMENTATION PACKAGE
447 The VNF or PNF Documentation Package **MUST** describe
448 the characteristics for the VNF or PNF reliability and high availability.
452 Compute, Network, and Storage Requirements
453 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
458 :target: VNF HEAT PACKAGE
462 The VNF HEAT Package **MUST** include VNF topology that describes basic
463 network and application connectivity internal and external to the VNF
464 including Link type, KPIs, Bandwidth, latency, jitter, QoS (if applicable)
472 The VNF Package **MUST** include VM requirements via a Heat
473 template that provides the necessary data for VM specifications
474 for all VNF components - for hypervisor, CPU, memory, storage.
481 The VNF Package **MUST** include VM requirements via a Heat
482 template that provides the necessary data for network connections,
483 interface connections, internal and external to VNF.
490 The VNF Package **MUST** include VM requirements via a Heat
491 template that provides the necessary data for high availability
499 The VNF Package **MUST** include VM requirements via a Heat
500 template that provides the necessary data for scaling/growth VM
503 Note: Must comply with the *Heat requirements in 5.b*.
511 The VNF provider **MUST** provide the binaries and images
512 needed to instantiate the VNF (VNF and VNFC images).
516 :target: VNF or PNF PROVIDER
520 The VNF or PNF Provider **MUST** provide human readable documentation
521 (not in the on-boarding package) to describe scaling capabilities to manage
522 scaling characteristics of the VNF or PNF.
530 :target: VNF DOCUMENTATION PACKAGE
534 The VNF Documentation Package **MUST** describe
535 the tests that were conducted by the VNF provider and the test results.
543 The VNF provider **MUST** provide their testing scripts to
552 The VNF provider **MUST** provide software components that
553 can be packaged with/near the VNF, if needed, to simulate any functions
554 or systems that connect to the VNF system under test. This component is
555 necessary only if the existing testing environment does not have the
556 necessary simulators.
558 Licensing Requirements
559 ^^^^^^^^^^^^^^^^^^^^^^^
568 The VNF or PNF **MUST** provide metrics (e.g., number of sessions,
569 number of subscribers, number of seats, etc.) to ONAP for tracking
578 The VNF or PNF provider **MUST** agree to the process that can
579 be met by Service Provider reporting infrastructure. The Contract
580 shall define the reporting process and the available reporting tools.
588 The VNF or PNF provider **MUST** enumerate all of the open
589 source licenses their VNF or PNF(s) incorporate.
597 The VNF or PNF provider **MUST NOT** require audits
598 of Service Provider's business.
606 The VNF or PNF provider **MUST NOT** require additional
607 infrastructure such as a VNF or PNF provider license server for VNF or PNF provider
608 functions and metrics.
615 The VNF **MUST** provide clear measurements for licensing
616 purposes to allow automated scale up/down by the management system.
623 The VNF provider **MUST** provide the ability to scale
624 up a VNF provider supplied product during growth and scale down a
625 VNF provider supplied product during decline without "real-time"
626 restrictions based upon VNF provider permissions.
634 The VNF or PNF provider **MUST** provide a universal license key
635 per VNF or PNF to be used as needed by services (i.e., not tied to a VM
636 instance) as the recommended solution. The VNF or PNF provider may provide
637 pools of Unique VNF or PNF License Keys, where there is a unique key for
638 each VNF or PNF instance as an alternate solution. Licensing issues should
639 be resolved without interrupting in-service VNFs or PNFs.
647 The VNF or PNF provider **MUST** support the metadata about
648 licenses (and their applicable entitlements) as defined in this
649 specification for VNF or PNF software, and any license keys required to authorize
650 use of the VNF or PNF software. This metadata will be used to facilitate
651 onboarding the VNF or PNF into the ONAP environment and automating processes
652 for putting the licenses into use and managing the full lifecycle of
653 the licenses. The details of this license model are described in
654 Tables C1 to C8 in the Appendix.
656 Note: License metadata support in ONAP is not currently available
657 and planned for 1Q 2018.