From a7c65c3c94a997cc215a33f81e274329c9850bec Mon Sep 17 00:00:00 2001 From: "weinstock, alan" Date: Tue, 27 Nov 2018 18:48:38 +0000 Subject: [VNFRQTS] updates to the Heat Section Change-Id: Id81d515314776f82e34460aef0da3b6698e0403c Issue-ID: VNFRQTS-500 Signed-off-by: weinstock, alan --- docs/Chapter5/Heat/ONAP Heat Cinder Volumes.rst | 2 +- docs/Chapter5/Heat/ONAP Heat Networking.rst | 97 +--------------------- .../ONAP Heat Orchestration Templates Overview.rst | 15 +--- .../Contrail Resource Parameters.rst | 2 +- .../Neutron Parameters.rst | 30 ++----- .../Nova Parameters.rst | 42 +++------- .../{network-role}.rst | 54 +++++++++++- .../Heat/ONAP Heat Template Constructs.rst | 6 +- docs/Chapter5/Heat/ONAP Heat VNF Modularity.rst | 11 +-- 9 files changed, 88 insertions(+), 171 deletions(-) (limited to 'docs/Chapter5') diff --git a/docs/Chapter5/Heat/ONAP Heat Cinder Volumes.rst b/docs/Chapter5/Heat/ONAP Heat Cinder Volumes.rst index 4f2861f..fe5c877 100644 --- a/docs/Chapter5/Heat/ONAP Heat Cinder Volumes.rst +++ b/docs/Chapter5/Heat/ONAP Heat Cinder Volumes.rst @@ -49,7 +49,7 @@ Module unless the Output Parameter is of the type ``comma_delimited_list``, then the corresponding input parameter **MUST** be declared as type ``json``. A volume template must define ``outputs`` for each Cinder volume resource -universally unique identifier (UUID) (i.e. ECOMP Volume Template Output +universally unique identifier (UUID) (i.e. ONAP Volume Template Output Parameters. - The VNF Incremental Module or Base Module must define input diff --git a/docs/Chapter5/Heat/ONAP Heat Networking.rst b/docs/Chapter5/Heat/ONAP Heat Networking.rst index 7591a97..79e39c6 100644 --- a/docs/Chapter5/Heat/ONAP Heat Networking.rst +++ b/docs/Chapter5/Heat/ONAP Heat Networking.rst @@ -57,40 +57,6 @@ independently of VNFs. A VNF's port connected to an external network **MAY** use the port for the purpose of reaching VMs in the same VNF. -.. req:: - :id: R-69014 - :target: VNF - :keyword: MUST - :validation_mode: static - :updated: casablanca - - When a VNF connects to an external network, a network role, referred to - as the ``{network-role}`` **MUST** be assigned to the external network for - use in the VNF's Heat Orchestration Template. - -.. req:: - :id: R-05201 - :target: VNF - :keyword: MUST - :validation_mode: static - :updated: casablanca - - When a VNF connects to two or more external networks, each external - network **MUST** be assigned a unique ``{network-role}`` - in the context of the VNF for use in the VNF's Heat Orchestration - Template. - -.. req:: - :id: R-83015 - :target: VNF - :keyword: MUST - :validation_mode: static - :updated: casablanca - - A VNF's ``{network-role}`` assigned to an external network **MUST** - be different than the ``{network-role}`` assigned to the VNF's - internal networks, if internal networks exist. - .. req:: :id: R-99794 :target: VNF @@ -101,33 +67,9 @@ independently of VNFs. An external network **MUST** have one subnet. An external network **MAY** have more than one subnet. -Note that this document refers to ``{network-role}`` which in reality -is the ``{network-role-tag}``. The value of the -``{network-role}`` / ``{network-role-tag}`` -is determined by the designer of the VNF's Heat Orchestration Template and -there is no requirement for ``{network-role}`` / ``{network-role-tag}`` -uniqueness across Heat Orchestration Templates for -different VNFs. - -When an external network is created by ONAP, the network is assigned a -``{network-role}``. The ``{network-role}`` of the network is not required to -match the ``{network-role}`` of the VNF Heat Orchestration Template. - -For example, the VNF Heat Orchestration Template can assign a -``{network-role}`` -of ``oam`` to a network which attaches to an external network with a -``{network-role}`` of ``oam_protected_1`` . - -When the Heat Orchestration Template is on-boarded into ONAP - * each ``{network-role}`` value in the Heat Orchestration Template - is mapped to the ``{network-role-tag}`` in the ONAP - data structure. - * each ``OS::Neutron::Port`` is associated with the external network it is - connecting to, thus creating the VNF Heat Orchestration Template - ``{network-role}`` / ``{network-role-tag}`` - to external network ``{network-role}`` mapping. - -ONAP enforces a naming convention for parameters associated with +ONAP enforces a naming convention for +resource IDs and resource property +parameters associated with external networks. :ref:`ONAP Heat Resource ID and Parameter Naming Convention` provides additional details. @@ -194,39 +136,6 @@ Contrail Heat Resources. external gateway and/or external router. -.. req:: - :id: R-68936 - :target: VNF - :keyword: MUST - :validation_mode: static - :updated: casablanca - - When a VNF creates an internal network, a network role, referred to as - the ``{network-role}`` **MUST** be assigned to the internal network - for use in the VNF's Heat Orchestration Template. - -.. req:: - :id: R-32025 - :target: VNF - :keyword: MUST - :validation_mode: static - :updated: casablanca - - When a VNF creates two or more internal networks, each internal - network **MUST** be assigned a unique ``{network-role}`` in the context - of the VNF for use in the VNF's Heat Orchestration Template. - -.. req:: - :id: R-69874 - :target: VNF - :keyword: MUST - :validation_mode: static - :updated: casablanca - - A VNF's ``{network-role}`` assigned to an internal network **MUST** - be different than the ``{network-role}`` assigned to the VNF's external - networks. - .. req:: :id: R-16241 :target: VNF diff --git a/docs/Chapter5/Heat/ONAP Heat Orchestration Templates Overview.rst b/docs/Chapter5/Heat/ONAP Heat Orchestration Templates Overview.rst index e770732..f1e2b4e 100644 --- a/docs/Chapter5/Heat/ONAP Heat Orchestration Templates Overview.rst +++ b/docs/Chapter5/Heat/ONAP Heat Orchestration Templates Overview.rst @@ -59,15 +59,6 @@ deployed incrementally to create the complete VNF. A VNF **MAY** be composed of zero to many Incremental Modules. -.. req:: - :id: R-20974 - :target: VNF - :keyword: MUST - :updated: casablanca - - At orchestration time, the VNF's Base Module **MUST** - be deployed first, prior to any incremental modules. - .. req:: :id: R-28980 :target: VNF @@ -591,14 +582,14 @@ ONAP VNF On-Boarding The VNF's Heat Orchestration Template's ZIP file must include the base module YAML file (R-37028) and corresponding environment file -(R-38474). +(R-38474). The VNF's Heat Orchestration Template's ZIP file **MAY** include * One or more incremental module YAML files (R-13196) and corresponding environment files (R-81725). -* One or more volume module YAML files (R-03251) and corresponding - environment files (R-53433). +* One or more volume module YAML files (R-03251) and corresponding + environment files (R-53433). * One or more nested YAML files (R-36582, R-56721, R-30395). * One or more files that are retrieved via the intrinsic function ``get_file``. The ``get_file`` function returns the content of a file diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Contrail Resource Parameters.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Contrail Resource Parameters.rst index 1fbdec7..8a31cad 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Contrail Resource Parameters.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Contrail Resource Parameters.rst @@ -234,7 +234,7 @@ instance_ip_address* The property instance_ip_address uses the same parameter naming convention as the property fixed_ips and Map Property ip_address in -OS::Neutron::Port. The resource is assigning an ECOMP SDN-C Assigned IP +OS::Neutron::Port. The resource is assigning an ONAP SDN-C Assigned IP Address. The {network-role} has been defined as oam_protected to represent an oam protected network and the {vm-type} has been defined as fw for firewall. diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters.rst index 996e370..4342bb0 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters.rst @@ -62,27 +62,15 @@ This will be described in the forth coming sections. Items to Note ~~~~~~~~~~~~~~ -.. req:: - :id: R-93272 - :target: VNF - :keyword: MAY - :updated: casablanca - - A VNF **MAY** have one or more ports connected to a unique - external network. All VNF ports connected to the unique external - network **MUST** have cloud assigned IP Addresses - or **MUST** have ONAP SDN-C assigned IP addresses. - -.. req:: - :id: R-13841 - :target: VNF - :keyword: MAY - :updated: casablanca - - A VNF **MAY** have one or more ports connected to a unique - internal network. All VNF ports connected to the unique internal - network **MUST** have cloud assigned IP Addresses - or **MUST** have statically assigned IP addresses. +A VNF **MAY** have one or more ports connected to a unique +external network. All VNF ports connected to the unique external +network **MUST** have cloud assigned IP Addresses +or **MUST** have ONAP SDN-C assigned IP addresses. + +A VNF **MAY** have one or more ports connected to a unique +internal network. All VNF ports connected to the unique internal +network **MUST** have cloud assigned IP Addresses +or **MUST** have statically assigned IP addresses. .. req:: :id: R-45602 diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Parameters.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Parameters.rst index b5501fd..f861615 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Parameters.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Parameters.rst @@ -35,15 +35,21 @@ Requirement R-82481 defines how the ``{vm-type}`` is used. A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource's - * Resource ID - * property ``image`` parameter name - * property ``flavor`` parameter name - * property ``name`` parameter name - + * Resource ID (defined in R-29751) + * property ``image`` parameter name (defined in R-58670) + * property ``flavor`` parameter name (defined in R-45188) + * property ``name`` parameter name (defined in R-54171 & R-87817) + * property port referenced OS::Neutron::Port Resource ID + (defined in R-58670) **MUST** contain the identical ``{vm-type}`` and **MUST** follow the naming conventions defined - in R-58670, R-45188, R-54171, R-87817, and R-29751. + in R-58670, R-45188, R-54171, R-87817, and R-29751. And the ``{index}`` in + the ``OS::Nova::Server`` Resource ID (defined in R-29751) **MUST** match + the ``{vm-type_index}`` defined in + the ``OS::Nova::Server`` property ``port`` + referenced ``OS::Neutron::Port`` Resource ID. + The table below provides a summary. The sections that follow provides the detailed requirements. @@ -240,18 +246,6 @@ Property: Name value that starts at zero and increments by one. -.. req:: - :id: R-40899 - :target: VNF - :keyword: MUST - :validation_mode: static - :updated: casablanca - - When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` - property ``name`` parameter is defined as a ``string``, a parameter - **MUST** be delcared for - each ``OS::Nova::Server`` resource associated with the ``{vm-type}``. - .. req:: :id: R-87817 :target: VNF @@ -264,18 +258,6 @@ Property: Name the parameter name **MUST** follow the naming convention ``{vm-type}_names``. -.. req:: - :id: R-85800 - :target: VNF - :keyword: MUST - :validation_mode: static - :updated: casablanca - - When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` - property ``name`` parameter is defined as a ``comma_delimited_list``, - a parameter **MUST** be delcared once for all ``OS::Nova::Server`` resources - associated with the ``{vm-type}``. - .. req:: :id: R-22838 :target: VNF diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{network-role}.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{network-role}.rst index 48ca384..134c383 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{network-role}.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{network-role}.rst @@ -5,8 +5,31 @@ {network-role} ----------------------------- -The assignment of a {network-role} is discussed in -:ref:`ONAP Heat Networking`. +.. req:: + :id: R-69014 + :target: VNF + :keyword: MUST + :validation_mode: static + :updated: casablanca + + When a VNF's port connects to an internal network or external network, + a network role, referred to + as the ``{network-role}`` **MUST** be assigned to the network for + use in the VNF's Heat Orchestration Template. The ``{network-role}`` + is used in the VNF's Heat Orchestration Template resource IDs + and resource property parameter names. + +.. req:: + :id: R-05201 + :target: VNF + :keyword: MUST + :validation_mode: static + :updated: casablanca + + When a VNF connects to two or more unique networks, each + network **MUST** be assigned a unique ``{network-role}`` + in the context of the VNF for use in the VNF's Heat Orchestration + Template. .. req:: :id: R-21330 @@ -108,3 +131,30 @@ For example, if a VNF has a '{vm-type}' of 'oam' and a A VNF's Heat Orchestration Template's ``{network-role}`` case in Resource property parameter names **SHOULD** match the case of ``{network-role}`` in Resource IDs and vice versa. + + +Note that this document refers to ``{network-role}`` which in reality +is the ``{network-role-tag}``. The value of the +``{network-role}`` / ``{network-role-tag}`` +is determined by the designer of the VNF's Heat Orchestration Template and +there is no requirement for ``{network-role}`` / ``{network-role-tag}`` +uniqueness across Heat Orchestration Templates for +different VNFs. + +When an external network is created by ECOMP, the network is also assigned a +``{network-role}``. The ``{network-role}`` of the network is not required to +match the ``{network-role}`` of the VNF Heat Orchestration Template. + +For example, the VNF Heat Orchestration Template can assign a +``{network-role}`` +of ``oam`` to a network which attaches to an external network with a +``{network-role}`` of ``oam_protected`` . + +When the Heat Orchestration Template is on-boarded into ECOMP + * each ``{network-role}`` value in the Heat Orchestration Template + is mapped to the ``{network-role-tag}`` in the ECOMP + data structure. + * each ``OS::Neutron::Port`` is associated with the external network it is + connecting to, thus creating the VNF Heat Orchestration Template + ``{network-role}`` / ``{network-role-tag}`` + to external network ``{network-role}`` mapping. diff --git a/docs/Chapter5/Heat/ONAP Heat Template Constructs.rst b/docs/Chapter5/Heat/ONAP Heat Template Constructs.rst index c7703c0..1af326e 100644 --- a/docs/Chapter5/Heat/ONAP Heat Template Constructs.rst +++ b/docs/Chapter5/Heat/ONAP Heat Template Constructs.rst @@ -614,11 +614,11 @@ unique name. Heat Files Support (get_file) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -A VNF's Heat Orchestration Template may contain the inclusion of text files +A VNF's Heat Orchestration Template may contain the inclusion of text files containing scripts or configuration files. The ``get_file`` intrinsic function returns the content of a file into a Heat Orchestration Template. -The support for the ``get_file`` intrinsic function in ECOMP is subject to the +The support for the ``get_file`` intrinsic function in ONAP is subject to the following limitations: .. req:: @@ -634,7 +634,7 @@ following limitations: The ``get_file`` target files are on-boarded to SDC in the same zip file that contains the VNF's complete Heat Orchestration Template. -See requirement R-511776. +See requirement R-511776. .. req:: :id: R-41888 diff --git a/docs/Chapter5/Heat/ONAP Heat VNF Modularity.rst b/docs/Chapter5/Heat/ONAP Heat VNF Modularity.rst index 23ce06b..ae44870 100644 --- a/docs/Chapter5/Heat/ONAP Heat VNF Modularity.rst +++ b/docs/Chapter5/Heat/ONAP Heat VNF Modularity.rst @@ -22,7 +22,7 @@ As stated in :need:`R-33132`, a VNF's Heat Orchestration Template **MAY** be 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 +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 @@ -36,12 +36,9 @@ As stated in :need:`R-68122`, a VNF's incremental module **MAY** be deployed more than once, either during initial VNF deployment and/or scale out As stated in :need:`R-37028` and :need:`R-13196`, a VNF **MUST** be composed -of one Base Module and *MAY** be composed of zero to many Incremental +of one Base Module and **MAY** be composed of zero to many 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. - ONAP also supports the concept of an optional, independently deployed Cinder volume via a separate Heat Orchestration Templates, referred to as a Cinder Volume Module. This allows the volume to persist after a VM @@ -73,12 +70,12 @@ Incremental Module. exposed by declaring a parameter in the ``outputs`` section of the base module. - For ECOMP to provided the UUID value of the shared resource to the + For ONAP to provided the UUID value of the shared resource to the incremental module, the parameter name defined in the ``outputs`` section of the base module **MUST** be defined as a parameter in the ``parameters`` section of the incremental module. - ECOMP will capture the output parameter name and value in the base module + ONAP will capture the output parameter name and value in the base module and provide the value to the corresponding parameter(s) in the incremental module(s). -- cgit 1.2.3-korg