[VNFRQTS] updates to the Heat Section 16/73716/2
authorweinstock, alan <aw2574@att.com>
Tue, 27 Nov 2018 18:48:38 +0000 (18:48 +0000)
committerHagop Bozawglanian <hagop.bozawglanian@att.com>
Tue, 27 Nov 2018 19:43:09 +0000 (19:43 +0000)
Change-Id: Id81d515314776f82e34460aef0da3b6698e0403c
Issue-ID: VNFRQTS-500
Signed-off-by: weinstock, alan <aw2574@att.com>
docs/Chapter5/Heat/ONAP Heat Cinder Volumes.rst
docs/Chapter5/Heat/ONAP Heat Networking.rst
docs/Chapter5/Heat/ONAP Heat Orchestration Templates Overview.rst
docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Contrail Resource Parameters.rst
docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters.rst
docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Parameters.rst
docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{network-role}.rst
docs/Chapter5/Heat/ONAP Heat Template Constructs.rst
docs/Chapter5/Heat/ONAP Heat VNF Modularity.rst
docs/data/needs.json

index 4f2861f..fe5c877 100644 (file)
@@ -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
index 7591a97..79e39c6 100644 (file)
@@ -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
index e770732..f1e2b4e 100644 (file)
@@ -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
index 1fbdec7..8a31cad 100644 (file)
@@ -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.
index 996e370..4342bb0 100644 (file)
@@ -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
index b5501fd..f861615 100644 (file)
@@ -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
index 48ca384..134c383 100644 (file)
@@ -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.
index c7703c0..1af326e 100644 (file)
@@ -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
index 23ce06b..ae44870 100644 (file)
@@ -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).
 
index ee0d75f..de5f038 100644 (file)
@@ -1,5 +1,5 @@
 {
-    "created": "2018-11-26T20:46:04.913880",
+    "created": "2018-11-27T18:42:30.067398",
     "current_version": "dublin",
     "project": "",
     "versions": {
             "needs_amount": 789
         },
         "dublin": {
-            "created": "2018-11-26T20:46:04.913866",
+            "created": "2018-11-27T18:42:30.067379",
             "needs": {
                 "R-00011": {
                     "description": "A VNF's Heat Orchestration Template's parameter defined\nin a nested YAML file\n**MUST NOT** have a parameter constraint defined.",
                     "validation_mode": ""
                 },
                 "R-05201": {
-                    "description": "When a VNF connects to two or more external networks, each external\nnetwork **MUST** be assigned a unique ``{network-role}``\nin the context of the VNF for use in the VNF's Heat Orchestration\nTemplate.",
-                    "docname": "Chapter5/Heat/ONAP Heat Networking",
+                    "description": "When a VNF connects to two or more unique networks, each\nnetwork **MUST** be assigned a unique ``{network-role}``\nin the context of the VNF for use in the VNF's Heat Orchestration\nTemplate.",
+                    "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{network-role}",
                     "full_title": "",
                     "hide_links": "",
                     "id": "R-05201",
                     "links": [],
                     "notes": "",
                     "parts": {},
-                    "section_name": "External Networks",
+                    "section_name": "{network-role}",
                     "sections": [
-                        "External Networks",
-                        "ONAP Heat Networking"
+                        "{network-role}"
                     ],
                     "status": null,
                     "tags": [],
                     "validated_by": "",
                     "validation_mode": ""
                 },
-                "R-07577": {
-                    "description": "If the VNF's ports connected to a unique network (internal or external)\nand the port's IP addresses are cloud assigned IP Addresses,\nall the IPv4 Addresses **MUST** be from\nthe same subnet and all the IPv6 Addresses **MUST** be from the\nsame subnet.",
-                    "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-07577",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Items to Note",
-                    "sections": [
-                        "Items to Note",
-                        "Introduction",
-                        "Resource: OS::Neutron::Port - Parameters"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-07617": {
                     "description": "The VNF **MUST** log success and unsuccessful creation, removal, or\nchange to the inherent privilege level of users.",
                     "docname": "Chapter4/Security",
                     "validated_by": "",
                     "validation_mode": ""
                 },
-                "R-13841": {
-                    "description": "A VNF **MAY** have one or more ports connected to a unique\ninternal network. All VNF ports connected to the unique internal\nnetwork **MUST** have cloud assigned IP Addresses\nor **MUST** have statically assigned IP addresses.",
-                    "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-13841",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MAY",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Items to Note",
-                    "sections": [
-                        "Items to Note",
-                        "Introduction",
-                        "Resource: OS::Neutron::Port - Parameters"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": ""
-                },
                 "R-14198": {
                     "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that\nis applicable to one {vm-type} and one internal network Resource ID **SHOULD**\nuse the naming convention\n\n* ``{vm-type}_int_{network-role}_security_group``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{network-role}`` is the network-role",
                     "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs",
                     "validated_by": "",
                     "validation_mode": "static"
                 },
-                "R-20974": {
-                    "description": "At orchestration time, the VNF's Base Module **MUST**\nbe deployed first, prior to any incremental modules.",
-                    "docname": "Chapter5/Heat/ONAP Heat Orchestration Templates Overview",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-20974",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "ONAP VNF Modularity Overview",
-                    "sections": [
-                        "ONAP VNF Modularity Overview",
-                        "ONAP Heat Orchestration Templates Overview"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": ""
-                },
                 "R-21210": {
                     "description": "The VNF **MUST** implement the following input validation control\non APIs: Validate that any input file has a correct and valid\nMultipurpose Internet Mail Extensions (MIME) type. Input files\nshould be tested for spoofed MIME types.",
                     "docname": "Chapter4/Security",
                     "validation_mode": "static"
                 },
                 "R-22346": {
-                    "description": "The VNF package MUST provide :doc:`VES Event Registration <../../../../vnfsdk/module.git/files/VESEventRegistration_3_0>`\nfor all VES events provided by that xNF.",
+                    "description": "The xNF package MUST provide :doc:`VES Event Registration <../../../../vnfsdk/module.git/files/VESEventRegistration_3_0>`\nfor all VES events provided by that xNF.",
                     "docname": "Chapter7/VNF-On-boarding-and-package-management",
                     "full_title": "",
                     "hide_links": "",
                     ],
                     "status": null,
                     "tags": [],
-                    "target": "VNF PACKAGE",
+                    "target": "XNF PACKAGE",
                     "test": "",
                     "test_case": "",
                     "test_file": "",
                     "validation_mode": ""
                 },
                 "R-304011": {
-                    "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource's\n\n* Resource ID\n* property ``image`` parameter name\n* property ``flavor`` parameter name\n* property ``name`` parameter name\n\n\n**MUST** contain the identical ``{vm-type}``\nand **MUST** follow the naming conventions defined\nin R-58670, R-45188, R-54171, R-87817, and R-29751.",
+                    "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource's\n\n* Resource ID (defined in R-29751)\n* property ``image`` parameter name (defined in R-58670)\n* property ``flavor`` parameter name (defined in R-45188)\n* property ``name`` parameter name (defined in R-54171 & R-87817)\n* property port referenced OS::Neutron::Port Resource ID\n  (defined in R-58670)\n\n**MUST** contain the identical ``{vm-type}``\nand **MUST** follow the naming conventions defined\nin R-58670, R-45188, R-54171, R-87817, and R-29751.  And the ``{index}`` in\nthe ``OS::Nova::Server`` Resource ID (defined in R-29751) **MUST** match\nthe ``{vm-type_index}`` defined in\nthe ``OS::Nova::Server`` property ``port``\nreferenced ``OS::Neutron::Port`` Resource ID.",
                     "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Parameters",
                     "full_title": "",
                     "hide_links": "",
                     "validated_by": "",
                     "validation_mode": ""
                 },
-                "R-32025": {
-                    "description": "When a VNF creates two or more internal networks, each internal\nnetwork **MUST** be assigned a unique ``{network-role}`` in the context\nof the VNF for use in the VNF's Heat Orchestration Template.",
-                    "docname": "Chapter5/Heat/ONAP Heat Networking",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-32025",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Internal Networks",
-                    "sections": [
-                        "Internal Networks",
-                        "ONAP Heat Networking"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-32094": {
                     "description": "A VNF's Heat Orchestration Template parameter declaration **MAY**\ncontain the attribute ``label:``.",
                     "docname": "Chapter5/Heat/ONAP Heat Orchestration Template Format",
                     "validated_by": "",
                     "validation_mode": "none"
                 },
-                "R-40899": {
-                    "description": "When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty ``name`` parameter is defined as a ``string``, a parameter\n**MUST** be delcared for\neach ``OS::Nova::Server`` resource associated with the ``{vm-type}``.",
-                    "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Parameters",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-40899",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Property: Name",
-                    "sections": [
-                        "Property: Name",
-                        "Resource: OS::Nova::Server - Parameters"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-40971": {
                     "description": "When the VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` is attaching to an external network (per the\nONAP definition, see Requirement R-57424),\nand an IPv4 address is assigned\nusing the property ``fixed_ips``\nmap property ``ip_address`` and the parameter type is defined as a string,\nthe parameter name **MUST** follow the\nnaming convention\n\n  * ``{vm-type}_{network-role}_ip_{index}``\n\n  where\n\n  * ``{vm-type}`` is the {vm-type} associated with the\n    ``OS::Nova::Server``\n  * ``{network-role}`` is the {network-role} of the external\n    network\n  * the value for ``{index}`` must start at zero (0) and increment by one",
                     "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters",
                     "validated_by": "",
                     "validation_mode": ""
                 },
-                "R-52530": {
-                    "description": "A VNF's Heat Orchestration Template's Nested YAML file\n**MUST** be in the same directory hierarchy as the VNF's Heat\nOrchestration Templates.",
-                    "docname": "Chapter5/Heat/ONAP Heat Template Constructs",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-52530",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Nested Heat Template Requirements",
-                    "sections": [
-                        "Nested Heat Template Requirements",
-                        "Nested Heat Templates",
-                        "ONAP Heat Heat Template Constructs"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-52753": {
                     "description": "VNF's Heat Orchestration Template's Base Module's output parameter's\nname and type **MUST** match the VNF's Heat Orchestration Template's\nincremental Module's name and type unless the output parameter is of\ntype ``comma_delimited_list``, then the corresponding input parameter\n**MUST** be declared as type ``json``.",
                     "docname": "Chapter5/Heat/ONAP Heat Orchestration Templates Overview",
                     "validation_mode": ""
                 },
                 "R-61001": {
-                    "description": "A shared Heat Orchestration Template resource is a resource that **MUST**\nbe defined in the base module and will be referenced by one or\nmore resources in one or more incremental modules.\n\nThe UUID of the shared resource (created in the base module) **MUST** be\nexposed by declaring a parameter in the\n``outputs`` section of the base module.\n\nFor ECOMP to provided the UUID value of the shared resource to the\nincremental module, the parameter name defined in the ``outputs``\nsection of the base module **MUST** be defined as a parameter\nin the ``parameters`` section of the incremental module.\n\nECOMP will capture the output parameter name and value in the base module\nand provide the value to the corresponding parameter(s) in the\nincremental module(s).",
+                    "description": "A shared Heat Orchestration Template resource is a resource that **MUST**\nbe defined in the base module and will be referenced by one or\nmore resources in one or more incremental modules.\n\nThe UUID of the shared resource (created in the base module) **MUST** be\nexposed by declaring a parameter in the\n``outputs`` section of the base module.\n\nFor ONAP to provided the UUID value of the shared resource to the\nincremental module, the parameter name defined in the ``outputs``\nsection of the base module **MUST** be defined as a parameter\nin the ``parameters`` section of the incremental module.\n\nONAP will capture the output parameter name and value in the base module\nand provide the value to the corresponding parameter(s) in the\nincremental module(s).",
                     "docname": "Chapter5/Heat/ONAP Heat VNF Modularity",
                     "full_title": "",
                     "hide_links": "",
                     "validated_by": "",
                     "validation_mode": ""
                 },
-                "R-68936": {
-                    "description": "When a VNF creates an internal network, a network role, referred to as\nthe ``{network-role}`` **MUST** be assigned to the internal network\nfor use in the VNF's Heat Orchestration Template.",
-                    "docname": "Chapter5/Heat/ONAP Heat Networking",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-68936",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Internal Networks",
-                    "sections": [
-                        "Internal Networks",
-                        "ONAP Heat Networking"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-68990": {
                     "description": "The xNF **MUST** support the ``:startup`` capability. It\nwill allow the running configuration to be copied to this special\ndatabase. It can also be locked and unlocked.",
                     "docname": "Chapter7/Configuration-Management",
                     "validation_mode": ""
                 },
                 "R-69014": {
-                    "description": "When a VNF connects to an external network, a network role, referred to\nas the ``{network-role}`` **MUST** be assigned to the external network for\nuse in the VNF's Heat Orchestration Template.",
-                    "docname": "Chapter5/Heat/ONAP Heat Networking",
+                    "description": "When a VNF's port connects to an internal network or external network,\na network role, referred to\nas the ``{network-role}`` **MUST** be assigned to the network for\nuse in the VNF's Heat Orchestration Template.  The ``{network-role}``\nis used in the VNF's Heat Orchestration Template resource IDs\nand resource property parameter names.",
+                    "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{network-role}",
                     "full_title": "",
                     "hide_links": "",
                     "id": "R-69014",
                     "links": [],
                     "notes": "",
                     "parts": {},
-                    "section_name": "External Networks",
+                    "section_name": "{network-role}",
                     "sections": [
-                        "External Networks",
-                        "ONAP Heat Networking"
+                        "{network-role}"
                     ],
                     "status": null,
                     "tags": [],
                     "validated_by": "",
                     "validation_mode": "in_service"
                 },
-                "R-69874": {
-                    "description": "A VNF's ``{network-role}`` assigned to an internal network **MUST**\nbe different than the ``{network-role}`` assigned to the VNF's external\nnetworks.",
-                    "docname": "Chapter5/Heat/ONAP Heat Networking",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-69874",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Internal Networks",
-                    "sections": [
-                        "Internal Networks",
-                        "ONAP Heat Networking"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-69877": {
                     "description": "The xNF Package **MUST** include documentation for each KPI,\nidentify the suggested actions that need to be performed when a\nthreshold crossing alert event is recorded.",
                     "docname": "Chapter7/VNF-On-boarding-and-package-management",
                     "validated_by": "",
                     "validation_mode": ""
                 },
-                "R-83015": {
-                    "description": "A VNF's ``{network-role}`` assigned to an external network **MUST**\nbe different than the ``{network-role}`` assigned to the VNF's\ninternal networks, if internal networks exist.",
-                    "docname": "Chapter5/Heat/ONAP Heat Networking",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-83015",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "External Networks",
-                    "sections": [
-                        "External Networks",
-                        "ONAP Heat Networking"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-83146": {
                     "description": "The xNF **MUST** support APPC ``StopApplication`` command.",
                     "docname": "Chapter7/Configuration-Management",
                     "validated_by": "",
                     "validation_mode": "static"
                 },
-                "R-85800": {
-                    "description": "When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty ``name`` parameter is defined as a ``comma_delimited_list``,\na parameter **MUST** be delcared once for all ``OS::Nova::Server`` resources\nassociated with the ``{vm-type}``.",
-                    "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Parameters",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-85800",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Property: Name",
-                    "sections": [
-                        "Property: Name",
-                        "Resource: OS::Nova::Server - Parameters"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-859208": {
                     "description": "The VNF **MUST** log automated remote activities performed with\nelevated privileges.",
                     "docname": "Chapter4/Security",
                     "validated_by": "",
                     "validation_mode": "static"
                 },
-                "R-87848": {
-                    "description": "When using the intrinsic function get_file, ONAP does not support\na directory hierarchy for included files. All files must be in a\nsingle, flat directory per VNF. A VNF's Heat Orchestration\nTemplate's ``get_file`` target files **MUST** be in the same\ndirectory hierarchy as the VNF's Heat Orchestration Templates.",
-                    "docname": "Chapter5/Heat/ONAP Heat Template Constructs",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-87848",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MUST",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Heat Files Support (get_file)",
-                    "sections": [
-                        "Heat Files Support (get_file)",
-                        "ONAP Heat Heat Template Constructs"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": "static"
-                },
                 "R-88026": {
                     "description": "The xNF **MUST** include a NETCONF server enabling\nruntime configuration and lifecycle management capabilities.",
                     "docname": "Chapter7/Configuration-Management",
                     "validated_by": "",
                     "validation_mode": "none"
                 },
-                "R-93272": {
-                    "description": "A VNF **MAY** have one or more ports connected to a unique\nexternal network. All VNF ports connected to the unique external\nnetwork **MUST** have cloud assigned IP Addresses\nor **MUST** have ONAP SDN-C assigned IP addresses.",
-                    "docname": "Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Neutron Parameters",
-                    "full_title": "",
-                    "hide_links": "",
-                    "id": "R-93272",
-                    "impacts": "",
-                    "introduced": "",
-                    "is_need": true,
-                    "is_part": false,
-                    "keyword": "MAY",
-                    "links": [],
-                    "notes": "",
-                    "parts": {},
-                    "section_name": "Items to Note",
-                    "sections": [
-                        "Items to Note",
-                        "Introduction",
-                        "Resource: OS::Neutron::Port - Parameters"
-                    ],
-                    "status": null,
-                    "tags": [],
-                    "target": "VNF",
-                    "test": "",
-                    "test_case": "",
-                    "test_file": "",
-                    "title": "",
-                    "title_from_content": "",
-                    "type_name": "Requirement",
-                    "updated": "casablanca",
-                    "validated_by": "",
-                    "validation_mode": ""
-                },
                 "R-93443": {
                     "description": "The xNF **MUST** define all data models in YANG [RFC6020],\nand the mapping to NETCONF shall follow the rules defined in this RFC.",
                     "docname": "Chapter7/Configuration-Management",
                     "validation_mode": "static"
                 }
             },
-            "needs_amount": 790
+            "needs_amount": 780
         }
     }
-}
+}
\ No newline at end of file