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 and PNF 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 :ref:`VES Event Registration <ves_event_registration_3_2>`
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 or PNF PROVIDER
153 :impacts: DCAE,Documentation,Integration,SDC
154 :validation_mode: static
156 The VNF or PNF PROVIDER **MUST** provide :ref:`FM_meta_data` to support the
157 analysis of fault events delivered to DCAE. The metadata must be
158 included in the VES Registration YAML file for each fault event
159 supported by that VNF or PNF at onboarding time. The metadata must follow
160 the VES Event Listener Specifications for Fault domain and VES Event
161 Registration Specifications for YAML registration file format.
166 :target: VNF or PNF PROVIDER
170 :impacts: DCAE,Documentation,Integration,SDC
171 :validation_mode: static
173 THe VNF or PNF PROVIDER **MUST** provide PM Meta Data (:ref:`PM_Dictionary`)
174 to support the analysis of PM data delivered to DCAE.
175 The PM Dictionary is to be provided as a separate YAML artifact at
176 onboarding and must follow the VES Event Registration Specification
177 which contain the format and content required.
179 Resource Configuration
180 ^^^^^^^^^^^^^^^^^^^^^^^
185 :target: VNF or PNF PROVIDER
189 The VNF or PNF PROVIDER **MUST** provide artifacts for configuration
190 management using at least one of the following technologies;
191 a) Netconf/YANG, b) Chef, or c) Ansible.
194 Configuration Management via NETCONF/YANG
195 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
199 :target: VNF or PNF PROVIDER
203 The VNF or PNF PROVIDER **SHOULD** provide a Resource/Device YANG model
204 as a foundation for creating the YANG model for configuration.
206 Configuration Management via Chef
207 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
216 The VNF or PNF provider **MUST** provide cookbooks to be loaded
217 on the appropriate Chef Server.
225 The VNF or PNF provider **MUST** provide a JSON file for each
226 supported action for the VNF or PNF. The JSON file must contain key value
227 pairs with all relevant values populated with sample data that illustrates
228 its usage. The fields and their description are defined in Tables A1
229 and A2 in the Appendix.
231 Note: Chef support in ONAP is not currently available and planned for 4Q 2017.
234 Configuration Management via Ansible
235 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
244 The VNF or PNF provider **MUST** provide playbooks to be loaded
245 on the appropriate Ansible Server.
253 The VNF or PNF provider **MUST** provide a JSON file for each
254 supported action for the VNF or PNF. The JSON file must contain key value
255 pairs with all relevant values populated with sample data that illustrates
256 its usage. The fields and their description are defined in Table B1
265 The VNF or PNF Package **MUST** include configuration scripts
266 for boot sequence and configuration.
274 The VNF or PNF provider **MUST** provide configurable parameters
275 (if unable to conform to YANG model) including VNF or PNF attributes/parameters
276 and valid values, dynamic attributes and cross parameter dependencies
277 (e.g., customer provisioning data).
279 Resource Control Loop
280 ^^^^^^^^^^^^^^^^^^^^^^^
285 :target: VNF or PNF DOCUMENTATION PACKAGE
289 The VNF or PNF Documentation Package **MUST** provide the VNF or PNF
290 Policy Description to manage the VNF or PNF runtime lifecycle. The document
291 must include a description of how the policies (conditions and actions)
292 are implemented in the VNF or PNF.
296 :target: VNF or PNF DOCUMENTATION PACKAGE
300 The VNF or PNF Documentation Package **MUST** describe the
301 fault, performance, capacity events/alarms and other event records
302 that are made available by the VNF or PNF.
306 :target: VNF or PNF DOCUMENTATION PACKAGE
310 The VNF or PNF Documentation Package **MUST** include documentation which must
311 include a unique identification string for the specific VNF or PNF, a description
312 of the problem that caused the error, and steps or procedures to perform
313 Root Cause Analysis and resolve the issue.
321 The VNF or PNF Package **MUST** include documentation which must include
322 all events, severity level (e.g., informational, warning, error) and
323 descriptions including causes/fixes if applicable for the event.
331 The VNF or PNF Package **MUST** include documentation which must include
332 all events (fault, measurement for VNF or PNF Scaling, Syslogs, State Change
333 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.
338 :target: VNF or PNF DOCUMENTATION PACKAGE
342 The VNF or PNF Documentation Package **MUST** describe all
343 parameters that are available to monitor the VNF or PNF after instantiation
344 (includes all counters, OIDs, PM data, KPIs, etc.) that must be
345 collected for reporting purposes.
353 The VNF or PNF Package **MUST** include documentation about monitoring
354 parameters/counters exposed for virtual resource management and VNF or PNF
355 application management.
363 The VNF Package **MUST** include documentation about KPIs and
364 metrics that need to be collected at each VM for capacity planning
365 and performance management purposes.
373 The VNF or PNF Package **MUST** include documentation about the monitoring
374 parameters that must include latencies, success rates, retry rates, load
375 and quality (e.g., DPM) for the key transactions/functions supported by
376 the VNF or PNF and those that must be exercised by the VNF or PNF in order to perform
385 The VNF or PNF Package **MUST** include documentation for each KPI, provide
386 lower and upper limits.
390 :target: VNF or PNF DOCUMENTATION PACKAGE
394 The VNF or PNF Documentation Package **MUST**, when relevant,
395 provide a threshold crossing alert point for each KPI and describe the
396 significance of the threshold crossing.
404 The VNF or PNF Package **MUST** include documentation for each KPI,
405 identify the suggested actions that need to be performed when a
406 threshold crossing alert event is recorded.
410 :target: VNF or PNF DOCUMENTATION PACKAGE
414 The VNF or PNF Documentation Package **MUST** describe
415 any requirements for the monitoring component of tools for Network
416 Cloud automation and management to provide these records to components
425 The VNF or PNF Package **MUST** include documentation to when applicable,
426 provide calculators needed to convert raw data into appropriate reporting
431 :target: VNF or PNF DOCUMENTATION PACKAGE
435 The VNF or PNF Documentation Package **MUST** describe
436 supported VNF or PNF scaling capabilities and capacity limits (e.g., number
437 of users, bandwidth, throughput, concurrent calls).
441 :target: VNF or PNF DOCUMENTATION PACKAGE
445 The VNF or PNF Documentation Package **MUST** describe
446 the characteristics for the VNF or PNF reliability and high availability.
450 Compute, Network, and Storage Requirements
451 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
456 :target: VNF HEAT PACKAGE
460 The VNF HEAT Package **MUST** include VNF topology that describes basic
461 network and application connectivity internal and external to the VNF
462 including Link type, KPIs, Bandwidth, latency, jitter, QoS (if applicable)
470 The VNF Package **MUST** include VM requirements via a Heat
471 template that provides the necessary data for VM specifications
472 for all VNF components - for hypervisor, CPU, memory, storage.
479 The VNF Package **MUST** include VM requirements via a Heat
480 template that provides the necessary data for network connections,
481 interface connections, internal and external to VNF.
488 The VNF Package **MUST** include VM requirements via a Heat
489 template that provides the necessary data for high availability
497 The VNF Package **MUST** include VM requirements via a Heat
498 template that provides the necessary data for scaling/growth VM
501 Note: Must comply with the *Heat requirements in 5.b*.
509 The VNF provider **MUST** provide the binaries and images
510 needed to instantiate the VNF (VNF and VNFC images).
514 :target: VNF or PNF PROVIDER
518 The VNF or PNF Provider **MUST** provide human readable documentation
519 (not in the on-boarding package) to describe scaling capabilities to manage
520 scaling characteristics of the VNF or PNF.
528 :target: VNF DOCUMENTATION PACKAGE
532 The VNF Documentation Package **MUST** describe
533 the tests that were conducted by the VNF provider and the test results.
541 The VNF provider **MUST** provide their testing scripts to
550 The VNF provider **MUST** provide software components that
551 can be packaged with/near the VNF, if needed, to simulate any functions
552 or systems that connect to the VNF system under test. This component is
553 necessary only if the existing testing environment does not have the
554 necessary simulators.
556 Licensing Requirements
557 ^^^^^^^^^^^^^^^^^^^^^^^
558 ONAP can support external licensing management solution (e.g. vendor specific)
559 in addition to its own licensing management solution. If licensing management
560 solution is provided by ONAP, then ONAP operators build the VNF License using SDC during onboarding.
561 Refer to the ONAP User Guide for details.
562 The operators require certain information regarding VNF licences.
563 This information currently is delivered out of band.
564 HEAT or TOSCA VNF packages may support such information in future.
565 VNF licensing behavior also has some constraints.
573 If ONAP licensing management solution is used, then the VNF or PNF **MUST** provide metrics (e.g., number of sessions,
574 number of subscribers, number of seats, etc.) to ONAP for tracking
583 The VNF or PNF provider **MUST** agree to the process that can
584 be met by Service Provider reporting infrastructure. The Contract
585 shall define the reporting process and the available reporting tools.
593 The VNF or PNF provider **MUST** enumerate all of the open
594 source licenses their VNF or PNF(s) incorporate.
602 The VNF or PNF provider **MUST NOT** require audits
603 of Service Provider's business.
611 If ONAP licensing management solution is used, then the VNF or PNF provider **MUST NOT** require additional
612 infrastructure such as a VNF or PNF provider license server for VNF or PNF provider
613 functions and metrics.
621 The VNF **MUST** provide clear measurements for licensing
622 purposes if needed to allow automated scale up/down by the management system.
629 The VNF provider **MUST** provide the ability to scale
630 up a VNF provider supplied product during growth and scale down a
631 VNF provider supplied product during decline without "real-time"
632 restrictions based upon VNF provider permissions.
636 :target: VNF or PNF PROVIDER
640 If the VNF or PNF requires a license then the VNF or PNF provider **MUST** provide a universal license key
641 per VNF or PNF to be used as needed by services (i.e., not tied to a VM
642 instance) as the recommended solution. The VNF or PNF provider may provide
643 pools of Unique VNF or PNF License Keys, where there is a unique key for
644 each VNF or PNF instance as an alternate solution. In all cases, licensing issues should
645 be resolved without interrupting in-service VNFs or PNFs.
653 If ONAP licensing management solution is used, then the VNF or PNF provider **MUST** support the metadata about
654 licenses (and their applicable entitlements) as defined in this
655 specification for VNF or PNF software, and any license keys required to authorize
656 use of the VNF or PNF software. This metadata will be used to facilitate
657 onboarding the VNF or PNF into the ONAP environment and automating processes
658 for putting the licenses into use and managing the full lifecycle of
659 the licenses. The details of this license model are described in
660 Tables C1 to C8 in the Appendix.
662 Note: License metadata support in ONAP is not currently available
663 and planned for 1Q 2018.