summaryrefslogtreecommitdiffstats
path: root/docs/Chapter7/VNF-On-boarding-and-package-management.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Chapter7/VNF-On-boarding-and-package-management.rst')
-rw-r--r--docs/Chapter7/VNF-On-boarding-and-package-management.rst272
1 files changed, 272 insertions, 0 deletions
diff --git a/docs/Chapter7/VNF-On-boarding-and-package-management.rst b/docs/Chapter7/VNF-On-boarding-and-package-management.rst
new file mode 100644
index 0000000..7628aaa
--- /dev/null
+++ b/docs/Chapter7/VNF-On-boarding-and-package-management.rst
@@ -0,0 +1,272 @@
+.. This work is 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.
+
+
+VNF On-boarding and package management
+--------------------------------------
+
+Design Definition
+^^^^^^^^^^^^^^^^^^
+
+The ONAP Design Time Framework provides the ability to design NFV
+resources including VNFs, Services, and products. The VNF provider must
+provide VNF packages that include a rich set of recipes, management and
+functional interfaces, policies, configuration parameters, and
+infrastructure requirements that can be utilized by the ONAP Design
+module to onboard and catalog these resources. Initially this
+information may be provided in documents, but in the near future a
+method will be developed to automate as much of the transfer of data as
+possible to satisfy its long term requirements.
+
+The current VNF Package Requirement is based on a subset of the
+Requirements contained in the ETSI Document: ETSI GS NFV-MAN 001 v1.1.1
+and GS NFV IFA011 V0.3.0 (2015-10) - Network Functions Virtualization
+(NFV), Management and Orchestration, VNF Packaging Specification.
+
+Resource Description
+^^^^^^^^^^^^^^^^^^^^^^
+
+* R-77707 The xNF provider **MUST** include a Manifest File that
+ contains a list of all the components in the xNF package.
+* R-66070 The xNF Package **MUST** include xNF Identification Data to
+ uniquely identify the resource for a given xNF provider. The identification
+ data must include: an identifier for the xNF, the name of the xNF as was
+ given by the xNF provider, xNF description, xNF provider, and version.
+* R-69565 The xNF Package **MUST** include documentation describing xNF
+ Management APIs, which must include information and tools for ONAP to
+ deploy and configure (initially and ongoing) the xNF application(s)
+ (e.g., NETCONF APIs) which includes a description of configurable
+ parameters for the xNF and whether the parameters can be configured
+ after xNF instantiation.
+* R-00156 The xNF Package **MUST** include documentation describing xNF
+ Management APIs, which must include information and tools for ONAP
+ to monitor the health of the xNF (conditions that require healing
+ and/or scaling responses).
+* R-00068 The xNF Package **MUST** include documentation which includes
+ a description of parameters that can be monitored for the xNF and
+ event records (status, fault, flow, session, call, control plane,
+ etc.) generated by the xNF after instantiation.
+* R-12678 The xNF Package **MUST** include documentation which includes a
+ description of runtime lifecycle events and related actions (e.g.,
+ control responses, tests) which can be performed for the xNF.
+* R-84366 The xNF Package **MUST** include documentation describing
+ xNF Functional APIs that are utilized to build network and
+ application services. This document describes the externally exposed
+ functional inputs and outputs for the xNF, including interface
+ format and protocols supported.
+* R-36280 The xNF provider **MUST** provide documentation describing
+ xNF Functional Capabilities that are utilized to operationalize the
+ xNF and compose complex services.
+* R-98617 The xNF provider **MUST** provide information regarding any
+ dependency (e.g., affinity, anti-affinity) with other xNFs and resources.
+
+Resource Configuration
+^^^^^^^^^^^^^^^^^^^^^^^
+
+* R-89571 The xNF **MUST** support and provide artifacts for configuration
+ management using at least one of the following technologies;
+ a) Netconf/YANG, b) Chef, or c) Ansible.
+
+ Note: The requirements for Netconf/YANG, Chef, and Ansible protocols
+ are provided separately and must be supported only if the corresponding
+ protocol option is provided by the xNF providor.
+
+Configuration Management via NETCONF/YANG
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* R-30278 The xNF provider **MUST** provide a Resource/Device YANG model
+ as a foundation for creating the YANG model for configuration. This will
+ include xNF attributes/parameters and valid values/attributes configurable
+ by policy.
+
+Configuration Management via Chef
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* R-13390 The xNF provider **MUST** provide cookbooks to be loaded
+ on the appropriate Chef Server.
+* R-18525 The xNF provider **MUST** provide a JSON file for each
+ supported action for the xNF. The JSON file must contain key value
+ pairs with all relevant values populated with sample data that illustrates
+ its usage. The fields and their description are defined in Tables A1
+ and A2 in the Appendix.
+
+ Note: Chef support in ONAP is not currently available and planned for 4Q 2017.
+
+Configuration Management via Ansible
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* R-75608 The xNF provider **MUST** provide playbooks to be loaded
+ on the appropriate Ansible Server.
+* R-16777 The xNF provider **MUST** provide a JSON file for each
+ supported action for the xNF. The JSON file must contain key value
+ pairs with all relevant values populated with sample data that illustrates
+ its usage. The fields and their description are defined in Table B1
+ in the Appendix.
+
+* R-46567 The xNF Package **MUST** include configuration scripts
+ for boot sequence and configuration.
+* R-16065 The xNF provider **MUST** provide configurable parameters
+ (if unable to conform to YANG model) including xNF attributes/parameters
+ and valid values, dynamic attributes and cross parameter dependencies
+ (e.g., customer provisioning data).
+
+Resource Control Loop
+^^^^^^^^^^^^^^^^^^^^^^^
+
+* R-22888 The xNF provider **MUST** provide documentation for the xNF
+ Policy Description to manage the xNF runtime lifecycle. The document
+ must include a description of how the policies (conditions and actions)
+ are implemented in the xNF.
+* R-01556 The xNF Package **MUST** include documentation describing the
+ fault, performance, capacity events/alarms and other event records
+ that are made available by the xNF.
+* R-16875 The xNF Package **MUST** include documentation which must include
+ a unique identification string for the specific xNF, a description of
+ the problem that caused the error, and steps or procedures to perform
+ Root Cause Analysis and resolve the issue.
+* R-35960 The xNF Package **MUST** include documentation which must include
+ all events, severity level (e.g., informational, warning, error) and
+ descriptions including causes/fixes if applicable for the event.
+* R-42018 The xNF Package **MUST** include documentation which must include
+ all events (fault, measurement for xNF Scaling, Syslogs, State Change
+ and Mobile Flow), that need to be collected at each VM, VNFC (defined in `VNF Guidelines <http://onap.readthedocs.io/en/latest/submodules/vnfrqts/guidelines.git/docs/vnf_guidelines/vnf_guidelines.html#a-glossary>`__ ) and for the overall xNF.
+* R-27711 The xNF provider **MUST** provide an XML file that contains a
+ list of xNF error codes, descriptions of the error, and possible
+ causes/corrective action.
+* R-01478 The xNF Package **MUST** include documentation describing all
+ parameters that are available to monitor the xNF after instantiation
+ (includes all counters, OIDs, PM data, KPIs, etc.) that must be
+ collected for reporting purposes.
+* R-73560 The xNF Package **MUST** include documentation about monitoring
+ parameters/counters exposed for virtual resource management and xNF
+ application management.
+* R-90632 The xNF Package **MUST** include documentation about KPIs and
+ metrics that need to be collected at each VM for capacity planning
+ and performance management purposes.
+* R-86235 The xNF Package **MUST** include documentation about the monitoring
+ parameters that must include latencies, success rates, retry rates, load
+ and quality (e.g., DPM) for the key transactions/functions supported by
+ the xNF and those that must be exercised by the xNF in order to perform
+ its function.
+* R-33904 The xNF Package **MUST** include documentation for each KPI, provide
+ lower and upper limits.
+* R-53598 The xNF Package **MUST** include documentation to, when relevant,
+ provide a threshold crossing alert point for each KPI and describe the
+ significance of the threshold crossing.
+* R-69877 The xNF Package **MUST** include documentation for each KPI,
+ identify the suggested actions that need to be performed when a
+ threshold crossing alert event is recorded.
+* R-22680 The xNF Package **MUST** include documentation that describes
+ any requirements for the monitoring component of tools for Network
+ Cloud automation and management to provide these records to components
+ of the xNF.
+* R-33694 The xNF Package **MUST** include documentation to when applicable,
+ provide calculators needed to convert raw data into appropriate reporting
+ artifacts.
+* R-56815 The xNF Package **MUST** include documentation describing
+ supported xNF scaling capabilities and capacity limits (e.g., number
+ of users, bandwidth, throughput, concurrent calls).
+* R-48596 The xNF Package **MUST** include documentation describing
+ the characteristics for the xNF reliability and high availability.
+* R-74763 The xNF provider **MUST** provide an artifact per xNF that contains
+ all of the xNF Event Records supported. The artifact should include
+ reference to the specific release of the xNF Event Stream Common Event
+ Data Model document it is based on. (e.g.,
+ `VES Event Listener <https://github.com/att/evel-test-collector/tree/master/docs/att_interface_definition>`__)
+
+Compute, Network, and Storage Requirements
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+* R-35851 The xNF Package **MUST** include xNF topology that describes
+ basic network and application connectivity internal and external to the
+ xNF including Link type, KPIs, Bandwidth, latency, jitter, QoS (if
+ applicable) for each interface.
+* R-97102 The VNF Package **MUST** include VM requirements via a Heat
+ template that provides the necessary data for VM specifications
+ for all VNF components - for hypervisor, CPU, memory, storage.
+* R-20204 The VNF Package **MUST** include VM requirements via a Heat
+ template that provides the necessary data for network connections,
+ interface connections, internal and external to VNF.
+* R-44896 The VNF Package **MUST** include VM requirements via a Heat
+ template that provides the necessary data for high availability
+ redundancy model.
+* R-55802 The VNF Package **MUST** include VM requirements via a Heat
+ template that provides the necessary data for scaling/growth VM
+ specifications.
+
+ Note: Must comply with the *Heat requirements in 5.b*.
+
+* R-26881 The xNF provider **MUST** provide the binaries and images
+ needed to instantiate the xNF (xNF and VNFC images).
+* R-96634 The xNF provider **MUST** describe scaling capabilities
+ to manage scaling characteristics of the xNF.
+
+
+Testing
+^^^^^^^^^^
+
+* R-43958 The xNF Package **MUST** include documentation describing
+ the tests that were conducted by the xNF providor and the test results.
+* R-04298 The xNF provider **MUST** provide their testing scripts to
+ support testing.
+* R-58775 The xNF provider **MUST** provide software components that
+ can be packaged with/near the xNF, if needed, to simulate any functions
+ or systems that connect to the xNF system under test. This component is
+ necessary only if the existing testing environment does not have the
+ necessary simulators.
+
+Licensing Requirements
+^^^^^^^^^^^^^^^^^^^^^^^
+
+* R-85653 The xNF **MUST** provide metrics (e.g., number of sessions,
+ number of subscribers, number of seats, etc.) to ONAP for tracking
+ every license.
+* R-44125 The xNF provider **MUST** agree to the process that can
+ be met by Service Provider reporting infrastructure. The Contract
+ shall define the reporting process and the available reporting tools.
+* R-40827 The xNF provider **MUST** enumerate all of the open
+ source licenses their xNF(s) incorporate.
+* R-97293 The xNF provider **MUST NOT** require audits of
+ Service Provider’s business.
+* R-44569 The xNF provider **MUST NOT** require additional
+ infrastructure such as a xNF provider license server for xNF provider
+ functions and metrics.
+* R-13613 The VNF **MUST** provide clear measurements for licensing
+ purposes to allow automated scale up/down by the management system.
+* R-27511 The VNF provider **MUST** provide the ability to scale
+ up a VNF provider supplied product during growth and scale down a
+ VNF provider supplied product during decline without “real-time”
+ restrictions based upon VNF provider permissions.
+* R-85991 The xNF provider **MUST** provide a universal license key
+ per xNF to be used as needed by services (i.e., not tied to a VM
+ instance) as the recommended solution. The xNF provider may provide
+ pools of Unique xNF License Keys, where there is a unique key for
+ each xNF instance as an alternate solution. Licensing issues should
+ be resolved without interrupting in-service xNFs.
+* R-47849 The xNF provider **MUST** support the metadata about
+ licenses (and their applicable entitlements) as defined in this
+ document for xNF software, and any license keys required to authorize
+ use of the xNF software. This metadata will be used to facilitate
+ onboarding the xNF into the ONAP environment and automating processes
+ for putting the licenses into use and managing the full lifecycle of
+ the licenses. The details of this license model are described in
+ Tables C1 to C8 in the Appendix. Note: License metadata support in
+ ONAP is not currently available and planned for 1Q 2018.
+
+.. |image0| image:: Data_Model_For_Event_Records.png
+ :width: 7in
+ :height: 8in
+
+.. |image1| image:: VES_JSON_Driven_Model.png
+ :width: 5in
+ :height: 3in
+
+.. |image2| image:: YANG_Driven_Model.png
+ :width: 5in
+ :height: 3in
+
+.. |image3| image:: Protocol_Buffers_Driven_Model.png
+ :width: 4.74in
+ :height: 3.3in
+