As stated in :need:`R-30395`, a VNF's Cinder Volume Module **MAY** utilize
nested heat.
-As stated in :need:`R-89913`, a VNF's Heat Orchestration Template's Cinder Volume
-Module Output Parameter(s) **MUST** include the
+As stated in :need:`R-89913`, a VNF's Heat Orchestration Template's Cinder
+Volume Module Output Parameter(s) **MUST** include the
UUID(s) of the Cinder Volumes created in template,
while others **MAY** be included.
-As stated in :need:`R-07443`, a VNF's Heat Orchestration Templates' Cinder Volume
-Module Output Parameter's name and type **MUST** match the input parameter
-name and type in the corresponding Base Module or Incremental Module unless
-the Output Parameter is of the type ``comma_delimited_list``,
+As stated in :need:`R-07443`, a VNF's Heat Orchestration Templates' Cinder
+Volume Module Output Parameter's name and type **MUST** match the input
+parameter name and type in the corresponding Base Module or Incremental
+Module unless the Output Parameter is of the type ``comma_delimited_list``,
then the corresponding input parameter **MUST** be declared as type ``json``.
A single volume module must create only the volumes
.. req::
:id: R-270358
- :target: VNF
- :keyword: MUST
- :validation_mode: static
+ :target: VNF
+ :keyword: MUST
+ :validation_mode: static
:updated: casablanca
A VNF's Heat Orchestration Template's Cinder Volume Template **MUST**
The parameter attribute ``immutable`` is an OpenStack optional attribute
that defines whether the parameter is updatable. A Heat Orchestration Template
-stack update fails if ``immutable`` is set to ``true`` and the parameter value is
-changed. This attribute ``immutable`` defaults to ``false``.
+stack update fails if ``immutable`` is set to ``true`` and the parameter
+value is changed. This attribute ``immutable`` defaults to ``false``.
.. _resources:
condition: <condition name or expression or boolean>
-
resource ID
+++++++++++++
-
.. req::
:id: R-75141
:target: VNF
+++++
The resource attribute ``type`` is an OpenStack required attribute that
-defines the resource type, such as ``OS::Nova::Server`` or ``OS::Neutron::Port``.
+defines the resource type, such as ``OS::Nova::Server`` or
+``OS::Neutron::Port``.
The resource attribute ``type`` may specify a VNF HEAT
Orchestration Template Nested YAML file.
The resource attribute ``metadata`` is an OpenStack optional attribute.
-
.. req::
:id: R-67386
:target: VNF
A VNF's Heat Orchestration Template's Resource **MAY** declare the
attribute ``metadata``.
-
depends_on
+++++++++++
The resource attribute ``depends_on`` is an OpenStack optional attribute.
See `Section <https://docs.openstack.org/developer/heat/template_guide/hot_spec.html#hot-spec-resources-dependencies>`__ 9.7 for additional details.
-
.. req::
:id: R-46968
:target: VNF
3. fixed_ips, subnet
* Note that earlier versions of this document mentioned the property
- fixed_ips, subnet_id. This property has been removed from the document since
- it has been deprecated.
+ fixed_ips, subnet_id. This property has been removed from the document
+ since it has been deprecated.
See https://github.com/openstack/heat/blob/stable/ocata/heat/engine/resources/openstack/neutron/port.py
4. allowed_address_pairs, ip_address
*Example: comma_delimited_list parameters for IPv4 and IPv6 Address
Assignments to an external network*
-In this example, the ``{network-role}`` has been defined as ``oam`` to represent
-an oam network and the ``{vm-type}`` has been defined as ``db`` for database.
+In this example, the ``{network-role}`` has been defined as ``oam`` to
+represent an oam network and the ``{vm-type}`` has been defined as ``db``
+for database.
.. code-block:: yaml
* ``{network-role}_subnet_id``
where
-
+
* ``{network-role}`` is the network role of the network.
.. req::
and the external network IPv6 subnet is to be specified
using the property ``fixed_ips``
map property ``subnet``, the parameter
- **MUST** follow the naming convention
+ **MUST** follow the naming convention
* ``{network-role}_v6_subnet_id``
- where
-
+ where
+
* ``{network-role}`` is the network role of the network.
.. req::
*Example: One Cloud Assigned IPv4 Address (DHCP) assigned to a network
that has two or more IPv4 subnets*
-In this example, the ``{network-role}`` has been defined as ``oam`` to represent
-an oam network and the ``{vm-type}`` has been defined as ``lb`` for load
-balancer. The cloud assigned IP Address uses the OpenStack DHCP service
-to assign IP addresses.
+In this example, the ``{network-role}`` has been defined as ``oam`` to
+represent an oam network and the ``{vm-type}`` has been defined as ``lb``
+for load balancer. The cloud assigned IP Address uses the OpenStack
+DHCP service to assign IP addresses.
.. code-block:: yaml
address assigned to a network that has at least one IPv4 subnet and one
IPv6 subnet*
-In this example, the ``{network-role}`` has been defined as ``oam`` to represent
-an oam network and the ``{vm-type}`` has been defined as ``lb`` for load
-balancer.
+In this example, the ``{network-role}`` has been defined as ``oam`` to
+represent an oam network and the ``{vm-type}`` has been defined as
+``lb`` for load balancer.
.. code-block:: yaml
using the property ``fixed_ips`` map property ``subnet``,
the parameter **MUST** follow the naming convention
-
+
* ``int_{network-role}_subnet_id``
where
* the VNF's Heat Orchestration Template's
resource ``OS::Neutron::Port`` in an Incremental Module is attaching
- to an internal network (per the ONAP definition, see Requirements
+ to an internal network (per the ONAP definition, see Requirements
R-52425 and R-46461)
that is created in the Base Module, AND
* an IPv6 address is being cloud assigned by OpenStack's DHCP Service AND
OS::Nova::Server
* ``{network-role}`` is the {network-role} of the external
network
-
+
And the parameter **MUST** be declared as type ``string``.
.. req::
and an IPv6 Virtual IP (VIP)
address is assigned via ONAP automation
using the property ``allowed_address_pairs``
- map property ``ip_address``,
+ map property ``ip_address``,
the parameter name **MUST** follow the
naming convention
Resource: OS::Nova::Server - Metadata Parameters
--------------------------------------------------------------------------------
-The ``OS::Nova::Server`` resource property ``metadata`` is an optional OpenStack
-property.
+The ``OS::Nova::Server`` resource property ``metadata`` is an optional
+OpenStack property.
Table 2 summarizes the mandatory and optional ``metadata`` supported by ONAP.
The sections that follow provides the requirements associated with each
``metadata`` parameter.
:updated: casablanca
If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property
+ property
``metadata`` key/value pair ``vnf_id`` is passed into a Nested YAML
file, the key/value pair name ``vnf_id`` **MUST NOT** change.
:validation_mode: static
:updated: casablanca
- A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
+ A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
property ``metadata`` **MUST**
contain the key/value pair ``vf_module_id``
and the value MUST be obtained via a ``get_param``.
:updated: casablanca
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property ``metadata`` key/value pair ``vnf_name``
+ property ``metadata`` key/value pair ``vnf_name``
parameter ``vnf_name`` **MUST NOT**
have parameter constraints defined.
If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property
+ property
``metadata`` key/value pair ``vnf_name`` is passed into a Nested YAML
file, the key/value pair name ``vnf_name`` **MUST NOT** change.
vf_module_name
^^^^^^^^^^^^^^^^^^
-The ``OS::Nova::Server`` Resource ``metadata`` map value parameter
+The ``OS::Nova::Server`` Resource ``metadata`` map value parameter
``vf_module_name``
is the deployment name of the heat stack created (e.g., ``<STACK_NAME>``)
from the
:keyword: SHOULD
:updated: casablanca
- A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
+ A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
property ``metadata`` **SHOULD**
contain the key/value pair ``vf_module_name`` and the value **MUST**
be obtained via a ``get_param``.
:updated: casablanca
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property
+ property
``metadata`` key/value pair ``vf_module_name`` parameter **MUST** be
declared as ``vf_module_name`` and the parameter **MUST**
be defined as type: ``string``.
:updated: casablanca
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property
+ property
``metadata`` key/value pair ``vf_module_name`` parameter ``vf_module_name``
**MUST NOT** have parameter constraints defined.
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property ``metadata`` key/value pair ``vf_module_name``
+ property ``metadata`` key/value pair ``vf_module_name``
parameter ``vf_module_name`` **MUST NOT**
be enumerated in the Heat Orchestration Template's environment file.
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource property
``metadata`` **MAY**
- contain the key/value pair ``vm_role`` and the value **MUST** be
+ contain the key/value pair ``vm_role`` and the value **MUST** be
obtained either via
- ``get_param``
If a VNF's Heat Orchestration Template's ``OS::Nova::Server``
resource property
- ``metadata`` key/value pair ``vm_role`` value is obtained via
- ``get_param``, the parameter **MUST** be declared as ``vm_role``
+ ``metadata`` key/value pair ``vm_role`` value is obtained via
+ ``get_param``, the parameter **MUST** be declared as ``vm_role``
and the parameter **MUST** be defined as type: ``string``.
.. req::
:updated: casablanca
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property ``metadata`` key/value pair ``workload_context``
+ property ``metadata`` key/value pair ``workload_context``
parameter **MUST**
be declared as ``workload_context`` and the parameter **MUST**
be defined as type: ``string``.
:updated: casablanca
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property ``metadata`` key/value pair ``workload_context``
+ property ``metadata`` key/value pair ``workload_context``
parameter ``workload_context`` **MUST NOT**
have parameter constraints defined.
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property ``metadata`` key/value pair ``workload_context``
+ property ``metadata`` key/value pair ``workload_context``
parameter ``workload_context`` **MUST NOT**
be enumerated in the Heat Orchestration Template's environment file.
:updated: casablanca
If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property ``metadata`` key/value pair ``workload_context``
+ property ``metadata`` key/value pair ``workload_context``
is passed into a Nested YAML
file, the key/value pair name ``workload_context`` **MUST NOT** change.
:updated: casablanca
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property ``metadata`` key/value pair ``environment_context``
+ property ``metadata`` key/value pair ``environment_context``
parameter **MUST** be declared as ``environment_context`` and the
parameter type **MUST** be defined as type: ``string``.
:updated: casablanca
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource
- property
+ property
``metadata`` key/value pair ``environment_context`` **MUST NOT**
be enumerated in the Heat Orchestration Template's environment file.
.. req::
:id: R-304011
- :target: VNF
- :keyword: MUST
- :validation_mode: static
+ :target: VNF
+ :keyword: MUST
+ :validation_mode: static
:updated: casablanca
A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource's
* property ``image`` parameter name
* property ``flavor`` parameter name
* property ``name`` parameter name
-
+
**MUST** contain the identical ``{vm-type}``
and **MUST** follow the naming conventions defined
If the VNF's OAM Management IP Address is cloud assigned and
and the OAM IP Address is required to be inventoried in ONAP A&AI,
- then the parameter **MUST** be obtained by the
+ then the parameter **MUST** be obtained by the
resource ``OS::Neutron::Port``
attribute ``ip_address``.
----------------------------
The parameter naming convention of the property ``name`` for the resource
-``OS::Nova::Server`` has been defined in
+``OS::Nova::Server`` has been defined in
:ref:`Nova Server - Metadata Parameters`.
This section provides specifies how the property ``name`` for non
As stated in :need:`R-38474`, :need:`R-81725`, and :need:`R-53433`:
+
* A VNF's Base Module **MUST** have a corresponding Environment File.
* A VNF's Incremental Module **MUST** have a corresponding Environment File.
- * A VNF's Cinder Volume Module **MUST** have a corresponding environment File.
+ * A VNF's Cinder Volume Module **MUST** have a corresponding environment
+ File.
A nested heat template must not have an environment file; OpenStack does
not support it.
A VNF's Heat Orchestration Template **MUST** have no more than
two levels of nesting.
-.. req::
+.. req::
:id: R-70112
:target: VNF
:keyword: MUST
properties:
...
scheduler_hints:
- group: {get_resource: lb_server_group}
+ group: {get_resource: lb_server_group}
Resource Data Synchronization
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3. a Cinder Volume Module Heat Orchestration Template (referred to as
Cinder Volume Module).
-As stated in :need:`R-20974`, at orchestration time, the VNF's Base Module **MUST**
-be deployed first, prior to any incremental modules.
+As stated in :need:`R-20974`, at orchestration time, the VNF's Base
+Module **MUST** be deployed first, prior to any incremental modules.
As stated in :need:`R-28980`, :need:`R-86926`, and :need:`R-91497`, a
VNF's incremental module **MAY** be used for
A shared Heat Orchestration Template resource is a resource that **MUST**
- be defined in the base module and will be referenced by one or
+ be defined in the base module and will be referenced by one or
more resources in one more more incremental modules.
The UUID of the shared resource (created in the base module) **MUST** be
1. TOACA data type extension tosca.datatypes.nfv.injectFile is used for vCPE
use case.
2. ONAP extensions for VNF package that is currently proposed for Dublin
- release is VES extension described below.
+ release is VES extension described below.
TOSCA Introduction
^^^^^^^^^^^^^^^^^^^
NFV, which shall be based on [TOSCA-1.0] and [TOSCA-Simple-Profile-YAML
V1.0], or new type based on ETSI NFV requirements, etc.
-TOSCA VNF Descriptor
+TOSCA VNF Descriptor
^^^^^^^^^^^^^^^^^^^^^^^^^
General
Connection Point Descriptors (VduCpd), Virtual Link Descriptors
(VnfVld) and VNF External Connection Point Descriptors
(VnfExternalCpd);
-
+
- VNF deployment aspects: they are described in one or more
deployment flavours, including configurable parameters, instantiation
levels, placement constraints (affinity / antiaffinity), minimum and
flavours;
**Note**: The deployment aspects (deployment flavour etc.) are postponed
- for future ONAP releases.
+ for future ONAP releases.
- VNF lifecycle management (LCM) operations: describes the LCM operations
supported per deployment flavour, and their input parameters;
data definitions/attributes used in VNFD **MUST** comply with the below
table.
-
.. csv-table:: **NFV Data Types**
:file: NFV_data_type.csv
:header-rows: 1
:align: center
:widths: auto
-
Artifact Types
~~~~~~~~~~~~~~~~~~~~~~~~
-No artifact type is currently supported in ONAP.
-
+No artifact type is currently supported in ONAP.
Capability Types
~~~~~~~~~~~~~~~~~~~~~~~~
**Note**: This capability type is used in Casablanca how it does
not exist in the last SOL001 draft
-
+
**tosca.capabilities.nfv.VirtualCompute** and
**tosca.capabilities.nfv.VirtualStorage** includes flavours of VDU
be in the form of asynchronous interfaces for event, fault notifications, and
autonomous data streams. They can also be synchronous interfaces for on-demand
requests to retrieve various performance, usage, and other event information.
-It should be understood that events are well structured packages of information,
-identified by an eventName, which are communicated to subscribers who are
-interested in the eventName. Events are simply a way of communicating
+It should be understood that events are well structured packages of
+information, identified by an eventName, which are communicated to subscribers
+who are interested in the eventName. Events are simply a way of communicating
well-structured packages of information to one or more instances of an Event
Listener service.
This section describes the data model for the collection of telemetry data from
xNFs by Service Providers (SPs) to manage xNF health and run-time life cycle.
-This data model is referred to as the VES Data Model. The VES acronym originally
-stood for Virtual-function Event Streaming, but VES has been generalized to
-support network-function event streaming, whether virtualized or not.
+This data model is referred to as the VES Data Model. The VES acronym
+originally stood for Virtual-function Event Streaming, but VES has been
+generalized to support network-function event streaming, whether virtualized or
+not.
The VES Data Model describes a vendor-agnostic common vocabulary of event
payloads. Vendor-specific, product-specific or service-specific data is
-supported by the inclusion of a flexible additional information field structure.
-The VES Data Models' common vocabulary is used to drive standard and automated
-data analytics (policy-driven analytics) within the ONAP DCAE Framework.
+supported by the inclusion of a flexible additional information field
+structure. The VES Data Models' common vocabulary is used to drive
+standard and automated data analytics (policy-driven analytics) within the
+ONAP DCAE Framework.
While this document is focused on specifying some of the records from the ONAP
perspective, there may be other external bodies using the same framework to
SDN controllers). It uses ONAP’s VES Agent to generate VES events from the xNF
and Intel’s collectD agent to generate infrastructure VES events. Note that any
configurable parameters for these data records (e.g., frequency, granularity,
-policy-based configuration) will be managed using the “Configuration” framework
-described in the prior sections of this document. The infrastructure metrics have
-been funneled via the ONAP Multi-VIM Project and are now included in current
-specifications.
+policy-based configuration) will be managed using the "Configuration" framework
+described in the prior sections of this document. The infrastructure metrics
+have been funneled via the ONAP Multi-VIM Project and are now included in
+current specifications.
The Data Model consists of:
* Technology Independent Records: This version of the document specifies the
model for Fault, Heartbeat, Measurements, Notification, pnfRegistration,
- State Change, Syslog, and Threshold Crossing Alerts records. In the future,
- these may be extended to support other types of technology independent
- records (work is currently progressing to define a new Performance Domain
- that would be able to support already defined 3GPP Metrics for xNF, e.g.
- 5G RAN device Use Case in Casablanca). Each of these records allows
- additional fields (name/ value pairs) for extensibility. The xNF provider
- may use these xNF provider-specific additional fields to provide additional
- information that may be relevant to the managing systems.
+ State Change, Syslog, and Threshold Crossing Alerts records. In the
+ future, these may be extended to support other types of technology
+ independent records (work is currently progressing to define a new
+ Performance Domain that would be able to support already defined 3GPP
+ Metrics for xNF, e.g. 5G RAN device Use Case in Casablanca). Each of
+ these records allows additional fields (name/ value pairs) for
+ extensibility. The xNF provider may use these xNF provider-specific
+ additional fields to provide additional information that may be relevant
+ to the managing systems.
* Technology Specific Records: This version of the document specifies the
- model for Mobile Flow records, Signaling and Voice Quality records. In the
- future, these may be extended to support other types of records (e.g.
- Network Fabric, Security records, etc.). Each of these records allows
- additional fields (name/value pairs) for extensibility. The xNF provider
- can use these xNF-specific additional fields to provide additional
- information that may be relevant to the managing systems. A placeholder for
- additional technology specific areas of interest to be defined in the
- future documents has been depicted.
+ model for Mobile Flow records, Signaling and Voice Quality records.
+ In the future, these may be extended to support other types of records
+ (e.g. Network Fabric, Security records, etc.). Each of these records
+ allows additional fields (name/value pairs) for extensibility. The xNF
+ provider can use these xNF-specific additional fields to provide
+ additional information that may be relevant to the managing systems.
+ A placeholder for additional technology specific areas of interest to
+ be defined in the future documents has been depicted.
|image0|
etc.
* ``Heartbeat`` - the Heartbeat Record provides an optional structure for
- communicating information about device health. Heartbeat records would only
- have the Common Event Header block. An optional heartbeat domain is
- available to specify information such as heartbeat interval and recommended
- action upon missing heartbeat interval. Heartbeat avoids the need to ping
- a device. A communication failure can be determined via missing heartbeat
- events being delivered to DCAE and appropriate action (e.g. restart VM,
- rebuild xNF or create ticket) can be taken by DCAE CLAMP.
+ communicating information about device health. Heartbeat records would
+ only have the Common Event Header block. An optional heartbeat domain is
+ available to specify information such as heartbeat interval and
+ recommended action upon missing heartbeat interval. Heartbeat avoids the
+ need to ping a device. A communication failure can be determined via
+ missing heartbeat events being delivered to DCAE and appropriate action
+ (e.g. restart VM, rebuild xNF or create ticket) can be taken by DCAE
+ CLAMP.
* ``Measurements`` - the Measurements Record contains information about xNF
and xNF resource structure and its condition to help in the management of
domain ideas.)
* ``pnfRegistration`` - the pnfRegistration Record provides a structure for
- registration of a physical network function. The pnfRegistration Record can
- contain information about attributes related to the physical network function
- including serial number, software revision, unit type and vendor name.
+ registration of a physical network function. The pnfRegistration Record
+ can contain information about attributes related to the physical network
+ function including serial number, software revision, unit type and vendor
+ name.
* ``State Change`` - the State Change Record provides a structure for
communicating information about data flow through the xNF. The State
conditions repeat within a specified time interval, using the semantics and
syntax described by the :doc:`VES Event Registration specification<../../../../vnfsdk/module.git/files/VESEventRegistration_3_0>`.
-**NOTE:** The Service Provider may override xNF provider Event Registrations using
-the ONAP SDC Design Studio to finalizes Service Provider engineering rules
-for the processing of the xNF events. These changes may modify any of the
-following:
+**NOTE:** The Service Provider may override xNF provider Event
+Registrations using the ONAP SDC Design Studio to finalizes Service
+Provider engineering rules for the processing of the xNF events.
+These changes may modify any of the following:
* Threshold levels
* Specified actions related to conditions
Figure 3. xNF Telemetry using Google Protocol Buffers
-**NOTE:** For high-volume xNF telemetry, native (binary) Google Protocol Buffers
-(GPB) is the preferred serialization method. While supporting the GPB
+**NOTE:** For high-volume xNF telemetry, native (binary) Google Protocol
+Buffers (GPB) is the preferred serialization method. While supporting the GPB
telemetry delivery approach described above, the default delivery method
is the VES/REST JSON based model in DCAE. The purpose of the diagram above
is to illustrate the GPB delivery concept only and not to imply a specific
-
.. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
.. Licensed under the Creative Commons License, Attribution 4.0 Intl.
.. req::
:id: R-56718
- :target: XNF
+ :target: PNF
:keyword: MAY
:introduced: casablanca
- The PNF Vendor **MAY** (optional) provide software Version(s) to be supported by PNF for SDC Design Studio PNF Model. This is set in the PNF Model property software_versions.
+ The PNF Vendor **MAY** provide software version(s) to be supported by PNF
+ for SDC Design Studio PNF Model. This is set in the PNF Model property
+ software_versions.
.. req::
:id: R-106240
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- The following VES Events **MUST** be supported by the PNF: pnfRegistration VES Event, HVol VES Event, and Fault VES Event. These are onboarded via the SDC Design Studio.
- Note: these VES Events are emitted from the PNF to support PNF Plug and Play, High Volume Measurements, and Fault events respectively."
+ The following VES Events **MUST** be supported by the PNF: pnfRegistration
+ VES Event, HVol VES Event, and Fault VES Event. These are onboarded via
+ he SDC Design Studio.
+
+ Note: these VES Events are emitted from the PNF to support PNF Plug and
+ Play, High Volume Measurements, and Fault events respectively.
.. req::
:id: R-258352
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- The PNF **MUST** support & accept the provisioning of an ONAP contact IP address (in IPv4 or IPv6 format).
- Note: For example, it a possibility is that an external EMS would configure & provision the ONAP contact IP address to the PNF (in either IPv4 or IPv6 format). For the PNF Plug and Play Use Case, this IP address is the service provider's ""point of entry"" to the DCAE VES Listener.
+ The PNF **MUST** support & accept the provisioning of an ONAP contact IP
+ address (in IPv4 or IPv6 format).
+
+ Note: For example, it a possibility is that an external EMS would configure
+ & provision the ONAP contact IP address to the PNF (in either IPv4 or
+ IPv6 format). For the PNF Plug and Play Use Case, this IP address is the
+ service provider's "point of entry" to the DCAE VES Listener.
- Note: different service provider's network architecture may also require special setup to allow an external PNF to contact the ONAP installation. For example, in the AT&T network, a maintenance tunnel is used to access ONAP.
+ Note: different service provider's network architecture may also require
+ special setup to allow an external PNF to contact the ONAP installation.
+ For example, in the AT&T network, a maintenance tunnel is used to access
+ ONAP.
.. req::
:id: R-793716
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- The PNF **MUST** have ""ONAP Aware"" software which is capable of performing PNF PnP registration with ONAP. The ""ONAP Aware"" software is capable of performing the PNF PnP Registration with ONAP MUST either be loaded separately or integrated into the PNF software upon physical delivery and installation of the PNF.
+ The PNF **MUST** have "ONAP Aware" software which is capable of performing
+ PNF PnP registration with ONAP. The "ONAP Aware" software is capable of
+ performing the PNF PnP Registration with ONAP MUST either be loaded
+ separately or integrated into the PNF software upon physical delivery
+ and installation of the PNF.
- Note: It is up to the specific vendor to design the software management functions. "
+ Note: It is up to the specific vendor to design the software management
+ functions.
.. req::
:id: R-01427
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
-
- The PNF **MUST** support the provisioning of security and authentication parameters (HTTP username and password) in order to be able to authenticate with DCAE (in ONAP).
- Note: In R3, a username and password are used with the DCAE VES Event Listener which are used for HTTP Basic Authentication.
+ The PNF **MUST** support the provisioning of security and authentication
+ parameters (HTTP username and password) in order to be able to authenticate
+ with DCAE (in ONAP).
- Note: The configuration management and provisioning software are specific to a vendor architecture. "
+ Note: In R3, a username and password are used with the DCAE VES Event
+ Listener which are used for HTTP Basic Authentication.
+
+ Note: The configuration management and provisioning software are specific
+ to a vendor architecture.
.. req::
:id: R-894004
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- When the PNF sets up a HTTP or HTTPS connection, it **MUST** provide a username and password to the DCAE VES Collector for HTTP Basic Authentication.
+ When the PNF sets up a HTTP or HTTPS connection, it **MUST** provide a
+ username and password to the DCAE VES Collector for HTTP Basic
+ Authentication.
- Note: HTTP Basic Authentication has 4 steps: Request, Authenticate, Authorization with Username/Password Credentials, and Authentication Status as per RFC7617 and RFC 2617
+ Note: HTTP Basic Authentication has 4 steps: Request, Authenticate,
+ Authorization with Username/Password Credentials, and Authentication Status
+ as per RFC7617 and RFC 2617.
.. req::
:id: R-952314
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- If the PNF set up a TLS connection and mutual (two-way) authentication is being used, then the PNF **MUST** provide its own X.509v3 Certificate to the DCAE VES Collector for authentication.
+ If the PNF set up a TLS connection and mutual (two-way) authentication is
+ being used, then the PNF **MUST** provide its own X.509v3 Certificate to
+ the DCAE VES Collector for authentication.
- Note: This allows TLS authentication by DCAE VES Collector..
+ Note: This allows TLS authentication by DCAE VES Collector.
- Note: The PNF got its X.509 certificate through Enrollment with an operator certificate authority or a X.509 vendor certificate from the vendor factory CA.
+ Note: The PNF got its X.509 certificate through Enrollment with an
+ operator certificate authority or a X.509 vendor certificate from the
+ vendor factory CA.
Note: In R3 three authentication options are supported:
- (1) HTTP with Username & Password and no TLS
+ (1) HTTP with Username & Password and no TLS.
- (2) HTTP with Username & Password & TLS with two-way certificate authentication;
+ (2) HTTP with Username & Password & TLS with two-way certificate
+ authentication.
- (3) HTTP with Username & Password & TLS with server-side certificate authentication."
+ (3) HTTP with Username & Password & TLS with server-side
+ certificate authentication.
.. req::
:id: R-809261
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
The PNF **MUST** use a IP address to contact ONAP.
- Note: it is expected that an ONAP operator can ascertain the ONAP IP address or the security gateway to reach ONAP on the VID or ONAP portal GUI. Note: The ONAP contact IP address has been previously configured and provisioned prior to this step.
+ Note: it is expected that an ONAP operator can ascertain the ONAP IP
+ address or the security gateway to reach ONAP on the VID or ONAP portal
+ GUI.
+
+ Note: The ONAP contact IP address has been previously configured and
+ provisioned prior to this step.
- Note: The ONAP IP address could be provisioned or resolved through FQDN & DNS.
+ Note: The ONAP IP address could be provisioned or resolved through
+ FQDN & DNS.
.. req::
:id: R-763774
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- The PNF **MUST** support a HTTPS connection to the DCAE VES Event Listener.
+ The PNF **MUST** support a HTTPS connection to the DCAE VES Event
+ Listener.
.. req::
:id: R-579051
- :target: XNF
+ :target: PNF
:keyword: MAY
:introduced: casablanca
The PNF **MAY** support a HTTP connection to the DCAE VES Event Listener.
- Note: HTTP is allowed but not recommended."
+ Note: HTTP is allowed but not recommended.
.. req::
:id: R-686466
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
.. req::
:id: R-980039
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
.. req::
:id: R-981585
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
The pnfRegistration VES event periodicity **MUST** be configurable.
- Note: The PNF uses the service configuration request as a semaphore to stop sending the pnfRegistration sent. See the requirement PNP-5360 requirement."
+ Note: The PNF uses the service configuration request as a semaphore to
+ stop sending the pnfRegistration sent. See the requirement PNP-5360
+ requirement.
.. req::
:id: R-284934
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- If the PNF encounters an error authenticating, reaching the ONAP DCAE VES Event listener or recieves an error response from sending the pnfRegistration VES Event, it **MAY** log the error, and notify the operator.
+ If the PNF encounters an error authenticating, reaching the ONAP DCAE VES
+ Event listener or recieves an error response from sending the pnfRegistration
+ VES Event, it **MAY** log the error, and notify the operator.
- Note: the design of how errors are logged, retrieved and reported will be a vendor-specific architecture. Reporting faults and errors is also a vendor specific design. It is expected that the PNF shall have a means to log an error and notify a user when a fault condition occurs in trying to contact ONAP, authenticate or send a pnfRegistration event."
+ Note: the design of how errors are logged, retrieved and reported
+ will be a vendor-specific architecture. Reporting faults and errors
+ is also a vendor specific design. It is expected that the PNF shall
+ have a means to log an error and notify a user when a fault condition
+ occurs in trying to contact ONAP, authenticate or send a pnfRegistration
+ event.
.. req::
:id: R-256347
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- The PNF **MUST** support the Ansible protocol for a Service Configuration message exchange between the PNF and PNF Controller (in ONAP).
+ The PNF **MUST** support the Ansible protocol for a Service Configuration
+ message exchange between the PNF and PNF Controller (in ONAP).
- Note: this exchange may be either Ansible, Chef, or NetConf depending on the PNF. Note: The PNF Controller may be VF-C, APP-C or SDN-C based on the PNF and PNF domain. Note: for R3 (Casablanca) only Ansible is supported."
+ Note: this exchange may be either Ansible, Chef, or NetConf depending on
+ the PNF. Note: The PNF Controller may be VF-C, APP-C or SDN-C based on the
+ PNF and PNF domain. Note: for R3 (Casablanca) only Ansible is supported.
.. req::
:id: R-707977
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- When the PNF receives a Service configuration from ONAP, the PNF **MUST** cease sending the pnfRegistration VES Event.
+ When the PNF receives a Service configuration from ONAP, the PNF **MUST**
+ cease sending the pnfRegistration VES Event.
.. req::
:id: R-17624
- :target: XNF
+ :target: PNF
:keyword: MAY
:introduced: casablanca
- The PNF **MAY** support the optional parameters for Service Configuration Parameters.
+ The PNF **MAY** support the optional parameters for Service
+ Configuration Parameters.
- Note: These are detailed in the Stage 5 PnP
+ Note: These are detailed in the Stage 5 PnP
- Note: These parameters are optional, and not all PNFs will support any or all of these parameters, it is up to the vendor and service provider to ascertain which ones are supported up to an including all of the ones that have been defined. Note: It is expected that there will be a growing list of supported configuration parameters in future releases of ONAP."
+ Note: These parameters are optional, and not all PNFs will support any
+ or all of these parameters, it is up to the vendor and service provider
+ to ascertain which ones are supported up to an including all of the ones
+ that have been defined. Note: It is expected that there will be a growing
+ list of supported configuration parameters in future releases of ONAP.
.. req::
:id: R-378131
- :target: XNF
+ :target: PNF
:keyword: MAY
:introduced: casablanca
- (Error Case) - If an error is encountered by the PNF during a Service Configuration exchange with ONAP, the PNF **MAY** log the error and notify an operator.
+ (Error Case) - If an error is encountered by the PNF during a
+ Service Configuration exchange with ONAP, the PNF **MAY** log the
+ error and notify an operator.
.. req::
:id: R-638216
- :target: XNF
+ :target: PNF
:keyword: MUST
:introduced: casablanca
- (Error Case) - The PNF **MUST** support a configurable timer to stop the periodicity sending of the pnfRegistration VES event. If this timer expires during a Service Configuration exchange between the PNF and ONAP, it MAY log a time-out error and notify an operator.
-
- Note: It is expected that each vendor will enforce and define a PNF service configuration timeout period. This is because the PNF cannot wait indefinitely as there may also be a technician on-site trying to complete installation & commissioning. The management of the VES event exchange is also a requirement on the PNF to be developed by the PNF vendor."
+ (Error Case) - The PNF **MUST** support a configurable timer to stop the
+ periodicity sending of the pnfRegistration VES event. If this timer expires
+ during a Service Configuration exchange between the PNF and ONAP, it
+ MAY log a time-out error and notify an operator.
+
+ Note: It is expected that each vendor will enforce and define a PNF
+ service configuration timeout period. This is because the PNF cannot
+ wait indefinitely as there may also be a technician on-site trying to
+ complete installation & commissioning. The management of the VES event
+ exchange is also a requirement on the PNF to be developed by the PNF
+ vendor.