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 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 ^^^^^^^^^^^^^^^^^^^^^^^
183 :target: VNF or PNF PROVIDER
187 The VNF or PNF PROVIDER **MUST** provide artifacts for configuration
188 management using at least one of the following technologies;
189 a) Netconf/YANG, b) Chef, or c) Ansible.
192 Configuration Management via NETCONF/YANG
193 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
197 :target: VNF or PNF PROVIDER
201 The VNF or PNF PROVIDER **SHOULD** provide a Resource/Device YANG model
202 as a foundation for creating the YANG model for configuration.
204 Configuration Management via Chef
205 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
214 The VNF or PNF provider **MUST** provide cookbooks to be loaded
215 on the appropriate Chef Server.
223 The VNF or PNF provider **MUST** provide a JSON file for each
224 supported action for the VNF or PNF. The JSON file must contain key value
225 pairs with all relevant values populated with sample data that illustrates
226 its usage. The fields and their description are defined in Tables A1
227 and A2 in the Appendix.
229 Note: Chef support in ONAP is not currently available and planned for 4Q 2017.
232 Configuration Management via Ansible
233 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
242 The VNF or PNF provider **MUST** provide playbooks to be loaded
243 on the appropriate Ansible Server.
251 The VNF or PNF provider **MUST** provide a JSON file for each
252 supported action for the VNF or PNF. The JSON file must contain key value
253 pairs with all relevant values populated with sample data that illustrates
254 its usage. The fields and their description are defined in Table B1
263 The VNF or PNF Package **MUST** include configuration scripts
264 for boot sequence and configuration.
272 The VNF or PNF provider **MUST** provide configurable parameters
273 (if unable to conform to YANG model) including VNF or PNF attributes/parameters
274 and valid values, dynamic attributes and cross parameter dependencies
275 (e.g., customer provisioning data).
277 Resource Control Loop
278 ^^^^^^^^^^^^^^^^^^^^^^^
283 :target: VNF or PNF DOCUMENTATION PACKAGE
287 The VNF or PNF Documentation Package **MUST** provide the VNF or PNF
288 Policy Description to manage the VNF or PNF runtime lifecycle. The document
289 must include a description of how the policies (conditions and actions)
290 are implemented in the VNF or PNF.
294 :target: VNF or PNF DOCUMENTATION PACKAGE
298 The VNF or PNF Documentation Package **MUST** describe the
299 fault, performance, capacity events/alarms and other event records
300 that are made available by the VNF or PNF.
304 :target: VNF or PNF DOCUMENTATION PACKAGE
308 The VNF or PNF Documentation Package **MUST** include documentation which must
309 include a unique identification string for the specific VNF or PNF, a description
310 of the problem that caused the error, and steps or procedures to perform
311 Root Cause Analysis and resolve the issue.
319 The VNF or PNF Package **MUST** include documentation which must include
320 all events, severity level (e.g., informational, warning, error) and
321 descriptions including causes/fixes if applicable for the event.
329 The VNF or PNF Package **MUST** include documentation which must include
330 all events (fault, measurement for VNF or PNF Scaling, Syslogs, State Change
331 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.
336 :target: VNF or PNF DOCUMENTATION PACKAGE
340 The VNF or PNF Documentation Package **MUST** describe all
341 parameters that are available to monitor the VNF or PNF after instantiation
342 (includes all counters, OIDs, PM data, KPIs, etc.) that must be
343 collected for reporting purposes.
351 The VNF or PNF Package **MUST** include documentation about monitoring
352 parameters/counters exposed for virtual resource management and VNF or PNF
353 application management.
361 The VNF Package **MUST** include documentation about KPIs and
362 metrics that need to be collected at each VM for capacity planning
363 and performance management purposes.
371 The VNF or PNF Package **MUST** include documentation about the monitoring
372 parameters that must include latencies, success rates, retry rates, load
373 and quality (e.g., DPM) for the key transactions/functions supported by
374 the VNF or PNF and those that must be exercised by the VNF or PNF in order to perform
383 The VNF or PNF Package **MUST** include documentation for each KPI, provide
384 lower and upper limits.
388 :target: VNF or PNF DOCUMENTATION PACKAGE
392 The VNF or PNF Documentation Package **MUST**, when relevant,
393 provide a threshold crossing alert point for each KPI and describe the
394 significance of the threshold crossing.
402 The VNF or PNF Package **MUST** include documentation for each KPI,
403 identify the suggested actions that need to be performed when a
404 threshold crossing alert event is recorded.
408 :target: VNF or PNF DOCUMENTATION PACKAGE
412 The VNF or PNF Documentation Package **MUST** describe
413 any requirements for the monitoring component of tools for Network
414 Cloud automation and management to provide these records to components
423 The VNF or PNF Package **MUST** include documentation to when applicable,
424 provide calculators needed to convert raw data into appropriate reporting
429 :target: VNF or PNF DOCUMENTATION PACKAGE
433 The VNF or PNF Documentation Package **MUST** describe
434 supported VNF or PNF scaling capabilities and capacity limits (e.g., number
435 of users, bandwidth, throughput, concurrent calls).
439 :target: VNF or PNF DOCUMENTATION PACKAGE
443 The VNF or PNF Documentation Package **MUST** describe
444 the characteristics for the VNF or PNF reliability and high availability.
448 Compute, Network, and Storage Requirements
449 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
454 :target: VNF HEAT PACKAGE
458 The VNF HEAT Package **MUST** include VNF topology that describes basic
459 network and application connectivity internal and external to the VNF
460 including Link type, KPIs, Bandwidth, latency, jitter, QoS (if applicable)
468 The VNF Package **MUST** include VM requirements via a Heat
469 template that provides the necessary data for VM specifications
470 for all VNF components - for hypervisor, CPU, memory, storage.
477 The VNF Package **MUST** include VM requirements via a Heat
478 template that provides the necessary data for network connections,
479 interface connections, internal and external to VNF.
486 The VNF Package **MUST** include VM requirements via a Heat
487 template that provides the necessary data for high availability
495 The VNF Package **MUST** include VM requirements via a Heat
496 template that provides the necessary data for scaling/growth VM
499 Note: Must comply with the *Heat requirements in 5.b*.
507 The VNF provider **MUST** provide the binaries and images
508 needed to instantiate the VNF (VNF and VNFC images).
512 :target: VNF or PNF PROVIDER
516 The VNF or PNF Provider **MUST** provide human readable documentation
517 (not in the on-boarding package) to describe scaling capabilities to manage
518 scaling characteristics of the VNF or PNF.
526 :target: VNF DOCUMENTATION PACKAGE
530 The VNF Documentation Package **MUST** describe
531 the tests that were conducted by the VNF provider and the test results.
539 The VNF provider **MUST** provide their testing scripts to
548 The VNF provider **MUST** provide software components that
549 can be packaged with/near the VNF, if needed, to simulate any functions
550 or systems that connect to the VNF system under test. This component is
551 necessary only if the existing testing environment does not have the
552 necessary simulators.
554 Licensing Requirements
555 ^^^^^^^^^^^^^^^^^^^^^^^
556 ONAP operators build the VNF License using SDC during onboarding.
557 Refer to the ONAP User Guide for details.
558 The operators require certain information regarding VNF licences.
559 This information currently is delivered out of band.
560 HEAT or TOSCA VNF packages may support such information in future.
561 VNF licensing behavior also has some constraints.
569 The VNF or PNF **MUST** provide metrics (e.g., number of sessions,
570 number of subscribers, number of seats, etc.) to ONAP for tracking
579 The VNF or PNF provider **MUST** agree to the process that can
580 be met by Service Provider reporting infrastructure. The Contract
581 shall define the reporting process and the available reporting tools.
589 The VNF or PNF provider **MUST** enumerate all of the open
590 source licenses their VNF or PNF(s) incorporate.
598 The VNF or PNF provider **MUST NOT** require audits
599 of Service Provider's business.
607 The VNF or PNF provider **MUST NOT** require additional
608 infrastructure such as a VNF or PNF provider license server for VNF or PNF provider
609 functions and metrics.
616 The VNF **MUST** provide clear measurements for licensing
617 purposes to allow automated scale up/down by the management system.
624 The VNF provider **MUST** provide the ability to scale
625 up a VNF provider supplied product during growth and scale down a
626 VNF provider supplied product during decline without "real-time"
627 restrictions based upon VNF provider permissions.
635 The VNF or PNF provider **MUST** provide a universal license key
636 per VNF or PNF to be used as needed by services (i.e., not tied to a VM
637 instance) as the recommended solution. The VNF or PNF provider may provide
638 pools of Unique VNF or PNF License Keys, where there is a unique key for
639 each VNF or PNF instance as an alternate solution. Licensing issues should
640 be resolved without interrupting in-service VNFs or PNFs.
648 The VNF or PNF provider **MUST** support the metadata about
649 licenses (and their applicable entitlements) as defined in this
650 specification for VNF or PNF software, and any license keys required to authorize
651 use of the VNF or PNF software. This metadata will be used to facilitate
652 onboarding the VNF or PNF into the ONAP environment and automating processes
653 for putting the licenses into use and managing the full lifecycle of
654 the licenses. The details of this license model are described in
655 Tables C1 to C8 in the Appendix.
657 Note: License metadata support in ONAP is not currently available
658 and planned for 1Q 2018.