summaryrefslogtreecommitdiffstats
path: root/docs/Chapter5.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Chapter5.rst')
-rw-r--r--docs/Chapter5.rst208
1 files changed, 103 insertions, 105 deletions
diff --git a/docs/Chapter5.rst b/docs/Chapter5.rst
index 55d49c7..030925f 100644
--- a/docs/Chapter5.rst
+++ b/docs/Chapter5.rst
@@ -1,19 +1,17 @@
-:tocdepth: 2
-
.. 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.
-**5. VNF Modeling Requirements**
+**VNF Modeling Requirements**
=====================================
-a. TOSCA YAML
-=============
+TOSCA YAML
+----------------------
Introduction
--------------
+^^^^^^^^^^^
This reference document is the VNF TOSCA Template Requirements for
ONAP, which provides recommendations and standards for building VNF
@@ -29,13 +27,13 @@ Network Cloud. It has the following features:
Threading, SRIOV, etc.
Intended Audience
------------------
+^^^^^^^^^^^^^^^^
This document is intended for persons developing VNF TOSCA templates
that will be orchestrated by ONAP.
Scope
------
+^^^^^^^^^^^^^^^^
ONAP implementations of Network Cloud supports TOSCA Templates, also
referred to as TOSCA in this document.
@@ -45,7 +43,7 @@ document provides the mandatory, recommended, and optional requirements
associated with this format.
Overview
----------
+^^^^^^^^^^^^^^^^
The document includes three charters to help the VNF providers to use the
VNF model design tools and understand the VNF package structure and VNF
@@ -64,13 +62,13 @@ supports multiple TOSCA template yaml files, and also supports
self-defined node or other extensions.
NFV TOSCA Template
-------------------
+^^^^^^^^^^^^^^^^^^^^
TOSCA templates supported by ONAP must follow the requirements
enumerated in this section.
TOSCA Introduction
-------------------
+^^^^^^^^^^^^^^^^^^^^
TOSCA defines a Meta model for defining IT services. This Meta model
defines both the structure of a service as well as how to manage it. A
@@ -95,14 +93,14 @@ how many times the component can occur.
Figure 1: Structural Elements of Service Template and their Relations
TOSCA Modeling Principles & Data Model
---------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This section describing TOSCA modeling principles and data model for
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.
VNF Descriptor Template
------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^
The VNF Descriptor (VNFD) describes the topology of the VNF by means of
ETSI NFV IFA011 [IFA011] terms such as VDUs, Connection Points, Virtual
@@ -189,7 +187,7 @@ specification [TOSCA-Simple-Profile-NFV-v1.0] for NFV VNFD.
+--------------------------------------------------------------------+
EPA Requirements
-----------------
+^^^^^^^^^^^^^^^^
1. SR-IOV Passthrought
@@ -410,7 +408,7 @@ supports dpdk. Here is an example.
+------------------------------------------------------+
NFV TOSCA Type Definition
--------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^
tosca.capabilites.nfv.VirtualCompute
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -426,7 +424,7 @@ tosca.capabilites.nfv.VirtualCompute
+---------------------------+-----------------------------------------+
Properties
-^^^^^^^^^^
++++++++++
+-------------------------------------+------------+-----------------------------------------------------+---------------+---------------------------------------------------------+
| Name | Required | Type | Constraints | Description |
@@ -442,7 +440,7 @@ Properties
+-------------------------------------+------------+-----------------------------------------------------+---------------+---------------------------------------------------------+
Definition
-^^^^^^^^^^
++++++++++
+-----------------------------------------------------------+
| tosca.capabilities.nfv.VirtualCompute: |
@@ -495,13 +493,13 @@ NFV IFA011].**
Attributes
-^^^^^^^^^^
++++++++++
None
Capabilities
-^^^^^^^^^^^^
++++++++++++
+-------------------------+-------------------------------------------------+---------------+-----------------------------------------------------------------------------------------------------+
| Name | Type | Constraints | Description |
@@ -518,7 +516,7 @@ Capabilities
+-------------------------+-------------------------------------------------+---------------+-----------------------------------------------------------------------------------------------------+
Definition
-^^^^^^^^^^
++++++++++++
+-----------------------------------------------------------------------------------------------------+
| tosca.nodes.nfv.VDU.Compute: |
@@ -659,7 +657,7 @@ Definition
+-----------------------------------------------------------------------------------------------------+
Artifact
-^^^^^^^^
++++++++++++
+-----------+------------+-------------------------------+---------------+------------------------------------------------+
| Name | Required | Type | Constraints | Description |
+===========+============+===============================+===============+================================================+
@@ -689,7 +687,7 @@ used as parent for the various Cpd types.
Attributes
-^^^^^^^^^^
++++++++++++
+--------+------------+--------+---------------+---------------+
| Name | Required | Type | Constraints | Description |
@@ -697,17 +695,17 @@ Attributes
+--------+------------+--------+---------------+---------------+
Requirements
-^^^^^^^^^^^^
++++++++++++
None
Capabilities
-^^^^^^^^^^^^
++++++++++++
None
Definition
-^^^^^^^^^^
++++++++++++
+----------------------------------------------------------------------+
| tosca.nodes.nfv.Cpd: |
@@ -754,7 +752,7 @@ Definition
+----------------------------------------------------------------------+
Additional Requirement
-^^^^^^^^^^^^^^^^^^^^^^
+++++++++++++++++++++++++
None.
@@ -774,7 +772,7 @@ internal VL as defined by [ETSI GS NFV-IFA 011].
+-----------------------+--------------------------+
Properties
-^^^^^^^^^^
+++++++++++++
+-------------------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
@@ -787,12 +785,12 @@ Properties
+-------------------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
Attributes
-^^^^^^^^^^
+++++++++++++
None
Requirements
-^^^^^^^^^^^^
+++++++++++++
+--------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
| Name | Required | Type | Constraints | Description |
@@ -803,7 +801,7 @@ Requirements
+--------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
Definition
-^^^^^^^^^^
+++++++++++++
+----------------------------------------------------------------+
| tosca.nodes.nfv.VduCpd: |
@@ -883,7 +881,7 @@ tosca.artifacts.nfv.SwImage
+---------------------------+------------------------------------+
Properties
-^^^^^^^^^^
+++++++++++++
+------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
| Name | Required | Type | Constraints | Description |
@@ -912,7 +910,7 @@ Properties
+------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
Definition
-^^^^^^^^^^
+++++++++++++
+-----------------------------------------------------+
| tosca.artifacts.nfv.SwImage: |
@@ -997,7 +995,7 @@ Definition
+-----------------------------------------------------+
vNAT Example
-------------
+^^^^^^^^^^^^^
openovnf\_\_vOpenNAT.yaml
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1550,21 +1548,21 @@ openonfv\_\_tosca.nodes.nfv.VduCpd.yaml
:height: 2.46042in
-b. Heat
-=======
+Heat
+---------
General Guidelines
-------------------
+^^^^^^^^^^^^^^^^^
YAML Format
------------
+^^^^^^^^^^^^^^^^^
Heat Orchestration Templates must use valid YAML. YAML (YAML Ain't
Markup Language) is a human friendly data serialization standard for all
programming languages. See http://www.yaml.org/.
Heat Orchestration Template Format
-----------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Heat Orchestration templates must be defined in YAML.
@@ -1626,24 +1624,24 @@ sections:
- outputs:
heat\_template\_version
-^^^^^^^^^^^^^^^^^^^^^^^
+++++++++++++++++++++++
This section is ONAP mandatory. The heat\_template\_version must be set
to a date that is supported by the OpenStack environment.
description
-^^^^^^^^^^^
+++++++++++++++++++++++
This ONAP mandatory section allows for a description of the template.
parameter\_groups
-^^^^^^^^^^^^^^^^^
+++++++++++++++++++++++
This ONAP optional section allows for specifying how the input
parameters should be grouped and the order to provide the parameters in.
parameters
-^^^^^^^^^^
+++++++++++++++++++++++
The parameter section is ONAP mandatory. This section allows for
specifying input parameters that have to be provided when instantiating
@@ -1789,7 +1787,7 @@ availability\_zone.
- This attribute is optional and defaults to false.
resources
-^^^^^^^^^
++++++++++++
This section is ONAP mandatory; it must be provided. This section
contains the declaration of the single resources of the template. This
@@ -1883,7 +1881,7 @@ with the following syntax.
create the resource or not. This attribute is optional.
outputs
-^^^^^^^
++++++++++
This ONAP optional section allows for specifying output parameters
available to users once the template has been instantiated. If the
@@ -1891,7 +1889,7 @@ section is specified, it will need to adhere to specific requirements.
See `ONAP Parameter Classifications Overview`_ and `ONAP Output Parameter Names`_ for additional details.
Environment File Format
------------------------
+^^^^^^^^^^^^^^^^^^^^^^
The environment file is a yaml text file.
(https://docs.openstack.org/developer/heat/template_guide/environment.html)
@@ -1953,7 +1951,7 @@ environment file and what parameter must not be enumerated in the
environment file. See `ONAP Parameter Classifications Overview`_ and `ONAP Resource ID and Parameter Naming Convention`_ for more details.
Nested Heat Orchestration Templates Overview
---------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ONAP supports nested Heat Orchestration Templates per OpenStack
specifications.
@@ -1977,7 +1975,7 @@ dynamically (via OS::Heat::ResourceGroup).
See `Nested Heat Templates`_ for additional details.
ONAP Heat Orchestration Template Filenames
-------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In order to enable ONAP to understand the relationship between Heat
files, the following Heat file naming convention must be utilized.
@@ -2054,7 +2052,7 @@ nested heat file must be passed in as properties in the resource
definition defined in the parent heat template.
ONAP Parameter Classifications Overview
----------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In order for ONAP to support workflow automation, Heat Orchestration
Template resource property parameters must adhere to specific naming
@@ -2093,7 +2091,7 @@ categories: **ONAP Orchestration Parameters** and **VNF Orchestration
Parameters**
ONAP Orchestration Parameters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++
ONAP Orchestration Parameters are per instance parameters where the
value is assigned via ONAP automation. (Note that in some cases,
@@ -2115,7 +2113,7 @@ prior to instantiation.)
additional details.
VNF Orchestration Parameters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++
VNF Orchestration Parameters are per instance parameters where the
values are assigned manually. They are not supported by ONAP automation.
@@ -2143,7 +2141,7 @@ VNF instances (e.g., image, flavor). The constant parameters are
subdivided into two categories: **ONAP Constant Parameters** and **VNF Constant Parameters.**
ONAP Constant Parameters
-^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++
- ONAP Constant Parameters must be enumerated in the environment file.
These parameter values are not assigned by ONAP.
@@ -2159,7 +2157,7 @@ ONAP Constant Parameters
parameter naming convention. `ONAP Resource ID and Parameter Naming Convention`_ provides additional details.
VNF Constant Parameters
-^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++
- VNF Constant Parameters must be enumerated in the environment file.
These parameter values are not assigned by ONAP.
@@ -2189,7 +2187,7 @@ into three categories:
3. ONAP Predefined Output Parameters.
ONAP Base Module Output Parameters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++
ONAP Base Module Output Parameters are declared in the outputs: section
of the base module Heat Orchestration Template. A Base Module Output
@@ -2217,7 +2215,7 @@ Additional details on ONAP Base Module Output Parameters are provided in
`ONAP Output Parameter Names`_ and ONAP VNF Modularity.
ONAP Volume Module Output Parameters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+++++++++++++++++++++++++++++++++++++
The volume template output parameters are only available for the module
(base or add on) that the volume is associated with.
@@ -2253,7 +2251,7 @@ capture resource attributes for inventory in ONAP. These output
parameters are optional and are specified in `OAM Management IP Addresses`_.
Support of heat stack update
-----------------------------
++++++++++++++++++++++++++++++
VNF Heat Orchestration Templates must not be designed to utilize the
OpenStack heat stack-update command for scaling (growth/de-growth). ONAP
@@ -2263,7 +2261,7 @@ It is important to note that ONAP only supports heat stack-update for
image upgrades.
Networking
-----------
++++++++++++++
ONAP defines two types of networks: External Networks and Internal
Networks.
@@ -2283,7 +2281,7 @@ only connects VMs in a single VNF. It must not connect to other VNFs or
an external gateway or router.
External Networks
------------------
++++++++++++++++++++
VNF Heat Orchestration Templates must not include any resources for
external networks connected to the VNF. External networks must be
@@ -2336,7 +2334,7 @@ VNF Heat Orchestration Templates must pass the appropriate external
network IDs into nested VM templates when nested Heat is used.
Internal Networks
------------------
++++++++++++++++++
The VNF Heat Orchestration Templates must include the resource(s) to
create the internal network. The internal network must be either a
@@ -2375,7 +2373,7 @@ parameters for internal network. However, a naming convention is
provided that must be followed. `ONAP Resource ID and Parameter Naming Convention`_ provides additional details.
ONAP Resource ID and Parameter Naming Convention
-------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This section provides the ONAP naming requirements for
@@ -2384,7 +2382,7 @@ This section provides the ONAP naming requirements for
2. Resource Property Parameters
{vm-type}
----------
+^^^^^^^^^^^
The Heat Orchestration Templates for a VNF must assign a VNF unique
{vm-type} for each Virtual Machine type (i.e., OS::Nova::Server)
@@ -2427,7 +2425,7 @@ There are two exceptions to the above rules:
identifier. availability\_zone is described in `Property: availability_zone`_.
{network-role}
---------------
+^^^^^^^^^^^^^
The assignment of a {network-role} is discussed in `Networking`_.
@@ -2462,7 +2460,7 @@ It is recommended that the {network-role} case in the parameter names
matches the {network-role} case in the Resource IDs.
Resource IDs
-------------
+^^^^^^^^^^^
Heat Orchestration Template resources are described in `resources`_
@@ -2580,7 +2578,7 @@ only associated with one {vm-type} and/or one network.
Table 2: Example Contrail Heat resource ID
Resource: OS::Nova::Server - Parameters
----------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The resource OS::Nova::Server manages the running virtual machine (VM)
instance within an OpenStack cloud. (See
@@ -2769,7 +2767,7 @@ balancer.
...
Contrail Issue with Values for OS::Nova::Server Property Name
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++++++++++++++++++++++++++
The Contrail GUI has a limitation displaying special characters. The
issue is documented in
@@ -2877,7 +2875,7 @@ for dns and a string for oam.
. . .
Resource: OS::Nova::Server – Metadata Parameters
-------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The resource OS::Nova::Server has an OpenStack optional property
metadata. The metadata property is mandatory for ONAP Heat Orchestration
@@ -3130,7 +3128,7 @@ this section. The {vm-type} has been defined as lb for load balancer.
vm_role: lb
Resource: OS::Neutron::Port - Parameters
-----------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The resource OS::Neutron::Port is for managing Neutron ports (See
https://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Neutron::Port.)
@@ -3154,7 +3152,7 @@ external network or internal network. External networks and internal
networks are defined in `Networking`_.
External Networks
-^^^^^^^^^^^^^^^^^
+++++++++++++++++
When the parameter references an external network
@@ -3200,7 +3198,7 @@ Table 5: OS::Neutron::Port Resource Property Parameters (External
Networks)
Internal Networks
-^^^^^^^^^^^^^^^^^
+++++++++++++++++
When the parameter references an internal network
@@ -3250,7 +3248,7 @@ referenced by Neutron Network ID, a UUID value, or by the network name
defined in OpenStack.
External Networks
-^^^^^^^^^^^^^^^^^
+++++++++++++++++
When the parameter associated with the property network is referencing
an “external” network, the parameter must adhere to the following naming
@@ -3297,7 +3295,7 @@ to assign IP addresses.
network: { get_param: oam_net_id }
Internal Networks
-^^^^^^^^^^^^^^^^^
+++++++++++++++++
When the parameter associated with the property network is referencing
an “internal” network, the parameter must adhere to the following naming
@@ -3345,7 +3343,7 @@ Note that DHCP assignment of IP addresses is also referred to as cloud
assigned IP addresses.
Subnet of an External Networks
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++
When the parameter is referencing a subnet of an “external” network, the
property fixed\_ips and Map Property subnet\_id parameter must adhere to
@@ -3431,7 +3429,7 @@ balancer.
- subnet_id: { get_param: oam_v6_subnet_id }
Internal Networks
-^^^^^^^^^^^^^^^^^
+++++++++++++++++
When the parameter is referencing the subnet of an “internal” network,
the property fixed\_ips and Map Property subnet\_id parameter must
@@ -3485,7 +3483,7 @@ network, the parameter name must contain {vm-type} and
int\_{network-role}.
IP Address Assignments on External Networks
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++++++++++++
When the property fixed\_ips and Map Property ip\_address is used to
assign IP addresses to an external network, the parameter name is
@@ -3624,7 +3622,7 @@ database.
- “ip_address”: {get_param: db_oam_v6_ip_1}}]
IP Address Assignment on Internal Networks
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+++++++++++++++++++++++++++++++++++++++
When the property fixed\_ips and Map Property ip\_address is used to
assign IP addresses to an internal network, the parameter name is
@@ -3805,7 +3803,7 @@ of public IPs to VMs is via OpenStack commands. ONAP does not support
Neutron-style Floating IPs.
External Networks
-^^^^^^^^^^^^^^^^^
+++++++++++++++++
When the parameter is referencing an “external” network, the property
allowed\_address\_pairs and Map Property ip\_address parameter must
@@ -3869,7 +3867,7 @@ an oam network and the {vm-type} has been defined as db for database.
allowed_address_pairs: [ { “ip_address”: {get_param: db_oam_floating_ip}}]
Internal Networks
-^^^^^^^^^^^^^^^^^
+++++++++++++++++
When the parameter is referencing an “internal” network, the property
allowed\_address\_pairs and Map Property ip\_address parameter must
@@ -3898,7 +3896,7 @@ The parameter must be enumerated in the Heat environment file.
description: VIP for {vm-type} VMs on the int_{network-role} network
Multiple allowed\_address\_pairs for a {vm-type} / {network-role} combination
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The parameter {vm-type}\_{network-role}\_floating\_ip provides only one
allowed address pair IPv4 address per {vm-type} and {network-role} pair.
@@ -3994,7 +3992,7 @@ As a general rule, provide the fixed IPs for the VMs indexed first in
the CDL and then the VIPs as shown in the examples above.
ONAP SDN-C Assignment of allowed\_address\_pair IP Addresses
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The following items must be taken into consideration when designing Heat
Orchestration Templates that expect ONAP’s SDN-C to assign
@@ -4005,7 +4003,7 @@ The VMs must be of the same {vm-type}.
The VMs must be created in the same module (base or incremental).
Resource Property “name”
-------------------------
+^^^^^^^^^^^^^^^^^^^^^^^
The parameter naming convention of the property name for the resource
OS::Nova::Server has been defined in `Resource: OS::Nova::Server – Metadata Parameters`_.
@@ -4090,7 +4088,7 @@ the only special characters supported are:
- “ ! $ ‘ ( ) = ~ ^ \| @ \` { } [ ] > , . \_
ONAP Output Parameter Names
----------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ONAP defines three types of Output Parameters as detailed in `Output Parameters`_.
@@ -4114,7 +4112,7 @@ ONAP currently defines one predefined output parameter the OAM
Management IP Addresses.
OAM Management IP Addresses
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++
A VNF may have a management interface for application controllers to
interact with and configure the VNF. Typically, this will be via a
@@ -4227,7 +4225,7 @@ oam\_management\_v4\_address
value: {get_attr: [admin_server, networks, {get_param: oam_net_id}, 0] }
Contrail Resource Parameters
-----------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^
ONAP requires the parameter names of certain Contrail Resources to
follow specific naming conventions. This section provides these
@@ -4240,7 +4238,7 @@ Contrail based resources may require references to a Contrail network
using the network FQDN.
External Networks
-^^^^^^^^^^^^^^^^^
+++++++++++++++++
When the parameter associated with the Contrail Network is referencing
an “external” network, the parameter must adhere to the following naming
@@ -4349,7 +4347,7 @@ The parameter must not be enumerated in the Heat environment file.
- service_instance_refs_data_interface_type: { get_param: int_fw_interface_type }
Parameter Names in Contrail Resources
--------------------------------------
+++++++++++++++++++++++++++++++++++
Contrail Heat resource properties will use, when appropriate, the same
naming convention as OpenStack Heat resources. For example, the resource
@@ -4403,7 +4401,7 @@ represent an oam protected network and the {vm-type} has been defined as
subnet_uuid: { get_param: oam_protected_subnet_id }
Cinder Volume Templates
------------------------
+^^^^^^^^^^^^^^^^^^^^^^
ONAP supports the independent deployment of a Cinder volume via separate
Heat Orchestration Templates, the Cinder Volume module. This allows the
@@ -4509,7 +4507,7 @@ incremental.yaml
volume_id: { get_param: lb_volume_id_0 }
ONAP Support of Environment Files
----------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The use of an environment file in OpenStack is optional. In ONAP, it is
mandatory. A Heat Orchestration Template uploaded to ONAP must have a
@@ -4546,7 +4544,7 @@ Orchestration Parameters). These parameters are supplied to the Heat by
ONAP at orchestration time.
SDC Treatment of Environment Files
-----------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Parameter values enumerated in the environment file are used by SDC as
the default value. However, the SDC user may use the SDC GUI to
@@ -4560,7 +4558,7 @@ updates, the SDC generated environment file will contain the same values
as the uploaded file.
Use of Environment Files when using OpenStack “heat stack-create” CLI
----------------------------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When ONAP is instantiating the Heat Orchestration Template, certain
parameter must not be enumerated in the environment file. This document
@@ -4572,10 +4570,10 @@ stack-create”, all parameters must be enumerated in the environment
file.
Heat Template Constructs
-------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nested Heat Templates
----------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ONAP supports nested Heat templates per the OpenStack specifications.
Nested templates may be suitable for larger VNFs that contain many
@@ -4629,7 +4627,7 @@ Note that:
get\_attribute targets against the “parent” resource.
Nested Heat Template Example: Static
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++++++
incremental.yaml
@@ -4749,7 +4747,7 @@ You can then reference within the nested template as:
{ get\_param: [names, {get\_param: index} ] }
ResourceGroup Property count
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++++++
ONAP requires that the OS::Heat::ResourceGroup property count be defined
(even if the value is one) and that the value must be enumerated in the
@@ -4769,7 +4767,7 @@ the VNF.
index: index
Availability Zone and ResourceGroups
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
++++++++++++++++++++++++++++++++++
The resource OS::Heat::ResourceGroup and the property availability\_zone
has been an “issue” with a few VNFs since ONAP only supports
@@ -4820,7 +4818,7 @@ In the nested heat
OS::Heat::ResourceGroup is created for each availability zone.
External References
--------------------
+^^^^^^^^^^^^^^^^^^
Heat templates *should not* reference any HTTP-based resource
definitions, any HTTP-based nested configurations, or any HTTP-based
@@ -4837,7 +4835,7 @@ environment files.
is accessing information with the VM private/internal network.
Heat Files Support (get\_file)
-------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Heat Templates may contain the inclusion of text files into Heat
templates via the Heat get\_file directive. This may be used, for
@@ -4865,7 +4863,7 @@ Support for Heat Files is subject to the following limitations:
templates
Key Pairs
----------
+^^^^^^^^^^^^^^^^^^
When Nova Servers are created via Heat templates, they may be passed a
“keypair” which provides an ssh key to the ‘root’ login on the newly
@@ -4930,7 +4928,7 @@ of lb (for load balancer)):*
save_private_key: false
Security Groups
----------------
+^^^^^^^^^^^^^^^^^^
OpenStack allows a tenant to create Security groups and define rules
within the security groups.
@@ -4945,7 +4943,7 @@ network or it can vary by VM (i.e., {vm-type}) and network type (i.e.,
{network-role}).
Anti-Affinity and Affinity Rules
---------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Anti-affinity or affinity rules are supported using normal OpenStack
OS::Nova::ServerGroup resources. Separate ServerGroups are typically
@@ -5006,7 +5004,7 @@ balancer and db for database.
group: {get_resource: lb_server_group} 
Resource Data Synchronization
------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For cases where synchronization is required in the orchestration of Heat
resources, two approaches are recommended:
@@ -5076,7 +5074,7 @@ oam server.
instance_uuid: {get_resource: oam_server_01}
High Availability
------------------
+^^^^^^^^^^^^^^^^^^
VNF/VM parameters may include availability zone IDs for VNFs that
require high availability.
@@ -5088,7 +5086,7 @@ availability zone IDs:
availability zones as desired
Post Orchestration & VNF Configuration
---------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Heat templates should contain a minimum amount of post-orchestration
configuration data. For instance, *do not* embed complex user-data
@@ -5101,8 +5099,8 @@ to the Heat template.
*Note:* It is important to follow this convention to the extent possible
even in the short-term as of the long-term direction.
-c. VNFM Driver Development Steps
-================================
+VNFM Driver Development Steps
+---------------------------------------------------------
Refer to the ONAP documentation for VNF Provider instructions on integrating
vendor-specific VNFM adaptors with VF-C. The VNF driver development steps are
@@ -5117,8 +5115,8 @@ is a microservice providing a translation interface from VF-C to
the vendor-specific VNFM. The interface definitions of vendor-specific VNFM adaptors are supplied by
the VNF Providers themselves.
-d. Creating Vendor-Specific VNFM Adaptor Microservices
-======================================================
+Creating Vendor-Specific VNFM Adaptor Microservices
+------------------------------------------------------------------------------------------------------------------
VNFs can be managed by vendor-specific VNFMs. To add a vendor-specific VNFM to ONAP, a
vendor-specific VNFM adaptor is added to ONAP implementing the interface of the vendor-specific VNFM.