diff options
author | 2018-09-13 13:17:01 -0700 | |
---|---|---|
committer | 2018-09-13 17:49:14 -0700 | |
commit | 7188bd47e219f83405ba8296ebfcdf054e25a998 (patch) | |
tree | 05f6efb4ff52590213d0a80da86fea17a1319d5e | |
parent | efb8f384941889d8d7fa469fecebe9b0e8169065 (diff) |
[VNFRQTS] update heat reqs for casablanca
commit #3
section 5.4 and 5.5
Change-Id: Ied69ffb23d9678455a964ed55ed8c193048dcd5e
Issue-ID: VNFRQTS-438
Signed-off-by: stark, steven <ss820f@att.com>
11 files changed, 2588 insertions, 2333 deletions
diff --git a/docs/Chapter5/Heat/ONAP Heat Networking.rst b/docs/Chapter5/Heat/ONAP Heat Networking.rst index 308a5e3..cce7988 100644 --- a/docs/Chapter5/Heat/ONAP Heat Networking.rst +++ b/docs/Chapter5/Heat/ONAP Heat Networking.rst @@ -24,6 +24,8 @@ An External Network may be a Neutron Network or a Contrail Network. :id: R-16968 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Templates **MUST NOT** include heat resources to create external networks. @@ -37,6 +39,7 @@ independently of VNFs. :id: R-00606 :target: VNF :keyword: MAY + :updated: casablanca A VNF **MAY** be connected to zero, one or more than one external networks. @@ -45,84 +48,84 @@ independently of VNFs. :id: R-57424 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca A VNF's port connected to an external network **MUST** - use the port for the purpose of reaching VMs in another VNF - and/or an external gateway and/or external router. 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-29865 - :target: VNF - :keyword: MUST - - 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. + use the port for the purpose of reaching + VMs in another VNF and/or an external gateway and/or external router. + 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. + 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. + 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. + 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 :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca 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}' +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}' +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. +``{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' . +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 + * 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 + * 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. + ``{network-role}`` / ``{network-role-tag}`` + to external network ``{network-role}`` mapping. ONAP enforces a naming convention for parameters associated with external networks. :ref:`ONAP Heat Resource ID and Parameter Naming Convention` @@ -142,6 +145,7 @@ or an external gateway or router :id: R-87096 :target: VNF :keyword: MAY + :updated: casablanca A VNF **MAY** contain zero, one or more than one internal networks. @@ -149,14 +153,17 @@ or an external gateway or router :id: R-35666 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - If a VNF has an internal network, the VNF Heat Orchestration - Template **MUST** include the heat resources to create the internal network. + If a VNF has an internal network, the VNF Heat Orchestration Template + **MUST** include the heat resources to create the internal network. .. req:: :id: R-86972 :target: VNF :keyword: SHOULD + :updated: casablanca A VNF **SHOULD** create the internal network in the VNF's Heat Orchestration Template Base Module. @@ -169,14 +176,18 @@ Contrail Heat Resources. :id: R-52425 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's port connected to an internal network **MUST** connect - the port to VMs in the same VNF. + A VNF's port connected to an internal network **MUST** + use the port for the purpose of reaching VMs in the same VNF. .. req:: :id: R-46461 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca A VNF's port connected to an internal network **MUST NOT** connect the port to VMs in another VNF and/or an external gateway and/or @@ -186,61 +197,58 @@ Contrail Heat Resources. :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. + 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. + 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 + 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 :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's internal network **MUST** have one subnet. A VNF's internal network **MAY** have more than one subnet. .. req:: - :id: R-34726 - :target: VNF - :keyword: MUST - - If a VNF's port is connected to an internal network and the port - is created in the same Heat Orchestration Template as the internal network, - then the port resource **MUST** use a 'get_resource' to obtain - the network UUID. - -.. req:: :id: R-22688 :target: VNF :keyword: MUST - - If a VNF's port is connected to an internal network and the - port is created in an Incremental Module and the internal - network is created in the Base Module then the UUID of the - internal network **MUST** be exposed - as a parameter in the 'outputs:' section of the Base Module and the port - resource **MUST** use a 'get_param' to obtain the network UUID. + :validation_mode: static + :updated: casablanca + + If a VNF's port is connected to an internal network and the port is + created in an Incremental Module and the internal network is created + in the Base Module then the UUID of the internal network **MUST** be + exposed as a parameter in the ``outputs:`` section of the Base Module + and the port resource **MUST** use a ``get_param`` to obtain the network + UUID. ONAP does not programmatically enforce a naming convention for parameters for internal network. However, a naming convention is 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 3d06902..523bf8b 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 @@ -22,42 +22,38 @@ External Networks :id: R-02164 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca When a VNF's Heat Orchestration Template's Contrail resource has a property that references an external network that requires the network's Fully Qualified Domain Name (FQDN), the property parameter - * **MUST** follow the format '{network-role}_net_fqdn' - * **MUST** be declared as type 'string' - * **MUST NOT** be enumerated in the NF's Heat Orchestration Template's - Environment File + * **MUST** follow the format ``{network-role}_net_fqdn`` + * **MUST** be declared as type ``string`` + * **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's + Environment File .. req:: :id: R-73228 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's parameter - '{network-role}_net_fqdn' - **MUST** be declared as type 'string'. + ``{network-role}_net_fqdn`` + **MUST** be declared as type ``string``. .. req:: :id: R-92193 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static A VNF's Heat Orchestration Template's parameter - '{network-role}_net_fqdn' + ``{network-role}_net_fqdn`` **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's Environment File. @@ -96,7 +92,6 @@ virtual_network_refs references a contrail network FQDN. security_group_refs: - get_param: fw_sec_grp_id - Interface Route Table Prefixes for Contrail InterfaceRoute Table ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -104,56 +99,54 @@ Interface Route Table Prefixes for Contrail InterfaceRoute Table :id: R-28222 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF's Heat Orchestration Template - 'OS::ContrailV2::InterfaceRouteTable' resource - 'interface_route_table_routes' property - 'interface_route_table_routes_route' map property parameter name + ``OS::ContrailV2::InterfaceRouteTable`` resource + ``interface_route_table_routes`` property + ``interface_route_table_routes_route`` map property parameter name **MUST** follow the format - * {vm-type}_{network-role}_route_prefixes + * ``{vm-type}_{network-role}_route_prefixes`` .. req:: :id: R-19756 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF's Heat Orchestration Template - 'OS::ContrailV2::InterfaceRouteTable' resource - 'interface_route_table_routes' property - 'interface_route_table_routes_route' map property parameter - '{vm-type}_{network-role}_route_prefixes' - **MUST** be defined as type 'json'. + ``OS::ContrailV2::InterfaceRouteTable`` resource + ``interface_route_table_routes`` property + ``interface_route_table_routes_route`` map property parameter + ``{vm-type}_{network-role}_route_prefixes`` + **MUST** be defined as type ``json``. .. req:: :id: R-76682 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF's Heat Orchestration Template - 'OS::ContrailV2::InterfaceRouteTable' resource - 'interface_route_table_routes' property - 'interface_route_table_routes_route' map property parameter - '{vm-type}_{network-role}_route_prefixes' + ``OS::ContrailV2::InterfaceRouteTable`` resource + ``interface_route_table_routes`` property + ``interface_route_table_routes_route`` map property parameter + ``{vm-type}_{network-role}_route_prefixes`` **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's Environment File. -The parameter '{vm-type}_{network-role}_route_prefixes' +The parameter ``{vm-type}_{network-role}_route_prefixes`` supports IP addresses in the format: 1. Host IP Address (e.g., 10.10.10.10) 2. CIDR Notation format (e.g., 10.0.0.0/28) + *Example Parameter Definition* .. code-block:: yaml @@ -195,12 +188,13 @@ supports IP addresses in the format: service_instance_refs_data: - service_instance_refs_data_interface_type: { get_param: oam_interface_type } + Resource OS::ContrailV2::InstanceIp ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The Contrail resource OS::ContrailV2::InstanceIp has two properties +The Contrail resource ``OS::ContrailV2::InstanceIp`` has two properties that parameters **MUST** follow an explicit naming convention. The -properties are 'instance_ip_address' and 'subnet_uuid'. +properties are ``instance_ip_address`` and ``subnet_uuid``. *Example OS::ContrailV2::InstanceIp Resource* @@ -235,21 +229,23 @@ properties are 'instance_ip_address' and 'subnet_uuid'. virtual_machine_interface_refs: [{ get_param: virtual_machine_interface_refs }] virtual_network_refs: [{ get_param: virtual_network_refs }] + Resource OS::ContrailV2::InstanceIp Property instance_ip_address ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A VNF's Heat Orchestration Templates resource 'OS::ContrailV2::InstanceIp' -property 'instance_ip_address' parameter +A VNF's Heat Orchestration Templates resource ``OS::ContrailV2::InstanceIp`` +property ``instance_ip_address`` parameter **MUST** follow the same requirements -that apply to the resource 'OS::Neutron' property 'fixed_ips' map -property 'ip_address' parameter. +that apply to the resource ``OS::Neutron`` property ``fixed_ips`` map +property ``ip_address`` parameter. + *Example: Contrail Resource OS::ContrailV2::InstanceIp, Property 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 ONAP SDN-C Assigned IP +OS::Neutron::Port. The resource is assigning an ECOMP 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. @@ -270,18 +266,18 @@ fw for firewall. Resource OS::ContrailV2::InstanceIp Property subnet_uuid ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A VNF's Heat Orchestration Templates resource 'OS::ContrailV2::InstanceIp' -property 'subnet_uuid' parameter +A VNF's Heat Orchestration Templates resource ``OS::ContrailV2::InstanceIp`` +property ``subnet_uuid`` parameter **MUST** follow the same requirements -that apply to the resource 'OS::Neutron' property 'fixed_ips' map -property 'subnet'/'subnet_id' parameter. +that apply to the resource ``OS::Neutron`` property ``fixed_ips`` map +property ``subnet``/``subnet_id`` parameter. *Example: Contrail Resource OS::ContrailV2::InstanceIp, Property subnet_uuid* The property instance_ip_address uses the same parameter naming convention as the property fixed_ips and Map Property subnet_id in -OS::Neutron::Port. The resource is assigning a Cloud Assigned IP +OS::Neutron::Port. The resource is assigning a cloud 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. @@ -303,14 +299,14 @@ OS::ContrailV2::VirtualMachineInterface Property virtual_machine_interface_allow ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A VNF's Heat Orchestration Templates resource -'OS::ContrailV2::VirtualMachineInterface' map property, -virtual_machine_interface_allowed_address_pairs, +``OS::ContrailV2::VirtualMachineInterface`` map property, +``virtual_machine_interface_allowed_address_pairs, virtual_machine_interface_allowed_address_pairs_allowed_address_pair, virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip, -virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix +virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix`` parameter **MUST** follow the same requirements that apply to the -resource 'OS::Neutron::Port' property -'allowed_address_pairs', map property 'ip_address' parameter. +resource ``OS::Neutron::Port`` property +``allowed_address_pairs``, map property ``ip_address`` parameter. *Example OS::ContrailV2::VirtualMachineInterface* 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 049967e..c3cd308 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 @@ -12,14 +12,17 @@ The resource OS::Neutron::Port is for managing Neutron ports. Introduction ^^^^^^^^^^^^^ -Four properties of the resource OS::Neutron::Port that must follow the -ONAP parameter naming convention. The four properties are: +Four properties of the resource ``OS::Neutron::Port`` must follow the ONAP +naming convention. The four properties are: 1. network 2. fixed_ips, ip_address 3. fixed_ips, subnet_id or fixed_ips, subnet - * Note that in many examples in this document fixed_ips, subnet_id is used. + * These two properties represent the same construct. + ONAP currently has a Sev-2 issues associated with fixed_ips, subnet_id + and it is recommended to use fixed_ips, subnet + * Note that in many examples in this document fixed_ips, subnet_id is used. 4. allowed_address_pairs, ip_address @@ -46,13 +49,13 @@ The values associated with these properties may reference an external network or internal network. External networks and internal networks are defined in :ref:`ONAP Heat Networking`. -When the OS::Neutron::Port is attaching to an external network, all +When the ``OS::Neutron::Port`` is attaching to an external network, all property values are parameters that are retrieved via the intrinsic -function 'get_param'. +function ``get_param``. -When the OS::Neutron::Port is attaching to an internal network, a +When the ``OS::Neutron::Port`` is attaching to an internal network, a property value maybe retrieved via the intrinsic -function 'get_param', 'get_resource', or 'get_attr'. +function ``get_param``, ``get_resource``, or ``get_attr``. This will be described in the forth coming sections. @@ -63,9 +66,7 @@ Items to Note :id: R-93272 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca A VNF **MAY** have one or more ports connected to a unique external network. All VNF ports connected to the unique external @@ -76,9 +77,7 @@ Items to Note :id: R-13841 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca A VNF **MAY** have one or more ports connected to a unique internal network. All VNF ports connected to the unique internal @@ -89,9 +88,8 @@ Items to Note :id: R-07577 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If the VNF's ports connected to a unique network (internal or external) and the port's IP addresses are Cloud Assigned IP Addresses, @@ -103,24 +101,22 @@ Items to Note :id: R-45602 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF's Port is attached to a network (internal or external) - and the port's IP addresses are Cloud Assigned by OpenStack's DHCP - Service, the 'OS::Neutron::Port' Resource's + and the port's IP addresses are cloud assigned by OpenStack's DHCP + Service, the ``OS::Neutron::Port`` Resource's - * property 'fixed_ips' map property 'ip_address' **MUST NOT** be used - * property 'fixed_ips' map property 'subnet'/'subnet_id' **MAY** be used + * property ``fixed_ips`` map property ``ip_address`` **MUST NOT** be used + * property ``fixed_ips`` map property ``subnet``/``subnet_id`` + **MAY** be used .. req:: :id: R-63956 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca If the VNF's ports connected to a unique external network and the port's IP addresses are ONAP SDN-C assigned IP Addresses, @@ -131,24 +127,22 @@ Items to Note :id: R-48880 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF's Port is attached to an external network and the port's IP addresses are assigned by ONAP's SDN-Controller, - the 'OS::Neutron::Port' Resource's + the ``OS::Neutron::Port`` Resource's - * property 'fixed_ips' map property 'ip_address' **MUST** be used - * property 'fixed_ips' map property 'subnet'/'subnet_id' **MUST NOT** be used + * property ``fixed_ips`` map property ``ip_address`` **MUST** be used + * property ``fixed_ips`` map property ``subnet``/``subnet_id`` + **MUST NOT** be used .. req:: :id: R-18001 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca If the VNF's ports connected to a unique internal network and the port's IP addresses are statically assigned IP Addresses, @@ -159,95 +153,111 @@ Items to Note :id: R-70964 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF's Port is attached to an internal network and the port's IP addresses are statically assigned by the VNF's Heat Orchestration\ Template (i.e., enumerated in the Heat Orchestration Template's - environment file), the 'OS::Neutron::Port' Resource's + environment file), the ``OS::Neutron::Port`` Resource's - * property 'fixed_ips' map property 'ip_address' **MUST** be used - * property 'fixed_ips' map property 'subnet'/'subnet_id' - **MUST NOT** be used + * property ``fixed_ips`` map property ``ip_address`` **MUST** be used + * property ``fixed_ips`` map property ``subnet``/``subnet_id`` + **MUST NOT** be used Property: network ^^^^^^^^^^^^^^^^^^ -The Resource 'OS::Neutron::Port' property 'network' determines what network +The Resource ``OS::Neutron::Port`` property ``network`` determines what network the port is attached to. - .. req:: :id: R-18008 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port' - property 'network' parameter **MUST** be declared as type: 'string'. + The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` + property ``network`` parameter **MUST** be declared as type: ``string``. .. req:: :id: R-62983 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When the VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port' - is attaching to an external network, the 'network' parameter name **MUST** + When the VNF's Heat Orchestration Template's Resource + ``OS::Neutron::Port`` is attaching to an external network (per the + ONAP definition, see Requirement R-57424), the + ``network`` parameter name **MUST** - - follow the naming convention '{network-role}_net_id' if the Neutron - network UUID value is used to reference the network - - follow the naming convention '{network-role}_net_name' if the OpenStack - network name is used to reference the network. + * follow the naming convention ``{network-role}_net_id`` if the Neutron + network UUID value is used to reference the network + * follow the naming convention ``{network-role}_net_name`` if the + OpenStack network name is used to reference the network. - where '{network-role}' is the network-role of the external network and - a 'get_param' **MUST** be used as the intrinsic function. + where ``{network-role}`` is the network-role of the external network + and a ``get_param`` **MUST** be used as the intrinsic function. .. req:: :id: R-86182 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When the VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port' - is attaching to an internal network, and the internal network is created in a different - Heat Orchestration Template than the 'OS::Neutron::Port', the 'network' - parameter name **MUST** + When the VNF's Heat Orchestration Template's Resource + ``OS::Neutron::Port`` is attaching to an internal network (per the + ONAP definition, see Requirements R-52425 and R-46461), + and the internal network is created in a + different Heat Orchestration Template than the ``OS::Neutron::Port``, + the ``network`` parameter name **MUST** - - follow the naming convention 'int\_{network-role}_net_id' if the Neutron - network UUID value is used to reference the network - - follow the naming convention 'int\_{network-role}_net_name' if the - OpenStack network name in is used to reference the network. + * follow the naming convention ``int_{network-role}_net_id`` if the Neutron + network UUID value is used to reference the network + * follow the naming convention ``int_{network-role}_net_name`` if the + OpenStack network name in is used to reference the network. - where '{network-role}' is the network-role of the internal network and a 'get_param' **MUST** be used as the intrinsic function. + where ``{network-role}`` is the network-role of the internal network and + a ``get_param`` **MUST** be used as the intrinsic function. -In Requirement :need:`R-86182`, the internal network is created in the VNF's +In Requirement R-86182, the internal network is created in the VNF's Base Module (Heat Orchestration Template) and the parameter name is -declared in the Base Module's outputs' section. +declared in the Base Module's ``outputs`` section. The output parameter name will be declared as a parameter in the -'parameters' section of the incremental module. +``parameters`` section of the incremental module. .. req:: :id: R-93177 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When the VNF's Heat Orchestration Template's - Resource 'OS::Neutron::Port' is attaching to an internal - network, and the internal network is created in the same Heat - Orchestration Template than the 'OS::Neutron::Port', the 'network' - parameter name **MUST** obtain the UUID of the internal network - by using the intrinsic function 'get_resource' or 'get_attr' + When the VNF's Heat Orchestration Template's resource + ``OS::Neutron::Port`` is attaching to an internal network (per the + ONAP definition, see Requirements R-52425 and R-46461), + and the internal network is created in the + same Heat Orchestration Template as the ``OS::Neutron::Port``, + the ``network`` property value **MUST** obtain the UUID + of the internal network by using the intrinsic function + ``get_resource`` and referencing the Resource ID of the internal network. .. req:: :id: R-29872 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource 'OS::Nova::Server' - property 'network' parameter **MUST NOT** be enumerated in the Heat - Orchestration Template's Environment File. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property ``network`` + parameter **MUST NOT** be enumerated in the Heat Orchestration + Template's Environment File. The parameter values for external networks are provided by ONAP to the VNF's Heat Orchestration Template at orchestration time. @@ -272,6 +282,7 @@ at orchestration time. description: Neutron name for the external {network-role} network + *Example Parameter Definition of Internal Networks in an Incremental Module* .. code-block:: yaml @@ -289,51 +300,65 @@ at orchestration time. Property: fixed_ips, Map Property: ip_address ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The resource 'OS::Neutron::Port' property 'fixed_ips' -map property 'ip_address' +The resource ``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` is used to assign one IPv4 or IPv6 addresses to port. -One 'OS::Neutron::Port' resource may assign one or more +One ``OS::Neutron::Port`` resource may assign one or more IPv4 and/or IPv6 addresses. - .. req:: :id: R-34037 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's resource 'OS::Neutron::Port' - property 'fixed_ips' map property 'ip_address' parameter **MUST** - be declared as either type 'string' or type 'comma_delimited_list'. + The VNF's Heat Orchestration Template's + resource ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + **MUST** be declared as either type ``string`` or type + ``comma_delimited_list``. .. req:: :id: R-40971 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an external network, and an IPv4 - address is assigned using the property 'fixed_ips' map property - 'ip_address' and the parameter type is defined - as a string, the parameter name **MUST** follow the naming - convention - - '{vm-type}_{network-role}\_ip\_{index}' + ``OS::Neutron::Port`` is attaching to an external network (per the + ONAP definition, see Requirement R-57424), + and an IPv4 address is assigned + using the property ``fixed_ips`` + map property ``ip_address`` and the parameter type is defined as a string, + the parameter name **MUST** follow the + naming convention - where + * ``{vm-type}_{network-role}_ip_{index}`` - - '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - - '{network-role}' is the {network-role} of the external network - - the value for {index} must start at zero (0) and increment by one + where + + * ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` + * ``{network-role}`` is the {network-role} of the external + network + * the value for ``{index}`` must start at zero (0) and increment by one .. req:: :id: R-39841 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port' - property 'fixed_ips' map property 'ip_address' parameter - '{vm-type}_{network-role}_ip_{index}' **MUST NOT** be enumerated in the + The VNF's Heat Orchestration Template's Resource + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + ``{vm-type}_{network-role}_ip_{index}`` + **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's Environment File. ONAP's SDN-Controller assigns the IP Address and ONAP provides @@ -347,36 +372,47 @@ the value at orchestration to the Heat Orchestration Template. {vm-type}_{network-role}_ip_{index}: type: string - description: Fixed IPv4 assignment for {vm-type} VM {index} on the{network-role} network - + description: Fixed IPv4 assignment for {vm-type} VM {index} on the {network-role} network .. req:: :id: R-04697 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When the VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port' - is attaching to an external network, and an IPv4 address is assigned using - the property 'fixed_ips' map property 'ip_address' and the parameter type - is defined as a comma_delimited_list, the parameter name **MUST** follow the + When the VNF's Heat Orchestration Template's Resource + ``OS::Neutron::Port`` is attaching to an external network (per the + ONAP definition, see Requirement R-57424), + and an IPv4 address is assigned + using the property ``fixed_ips`` + map property ``ip_address`` and the parameter type is defined as a + ``comma_delimited_list``, + the parameter name **MUST** follow the naming convention - * '{vm-type}_{network-role}_ips', + * ``{vm-type}_{network-role}_ips`` - where + where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the external network + * ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` + * ``{network-role}`` is the {network-role} of the external + network .. req:: :id: R-98905 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port' - property 'fixed_ips' map property 'ip_address' parameter - '{vm-type}_{network-role}_ips' **MUST NOT** be enumerated in the VNF's - Heat Orchestration Template's Environment File. + The VNF's Heat Orchestration Template's Resource + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + ``{vm-type}_{network-role}_ips`` + **MUST NOT** be enumerated in the + VNF's Heat Orchestration Template's Environment File. ONAP's SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template. @@ -397,31 +433,41 @@ Parameter Definition* :id: R-71577 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an external network, and an IPv6 address - is assigned using the property 'fixed_ips' map property 'ip_address' and - the parameter type is defined as a string, the parameter name **MUST** follow - the naming convention + ``OS::Neutron::Port`` is attaching to an external network (per the + ONAP definition, see Requirement R-57424), + and an IPv6 address is assigned + using the property ``fixed_ips`` + map property ``ip_address`` and the parameter type is defined as a string, + the parameter name **MUST** follow the + naming convention - * '{vm-type}_{network-role}_v6_ip_{index}' + * ``{vm-type}_{network-role}_v6_ip_{index}`` - where + where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the external network - * the value for {index} must start at zero (0) and increment by one + * ``{vm-type}`` is the {vm-type} associated with the + OS::Nova::Server + * ``{network-role}`` is the {network-role} of the external + network + * the value for ``{index}`` must start at zero (0) and increment by one .. req:: :id: R-87123 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address' - parameter '{vm-type}_{network-role}_v6_ip_{index}' - **MUST NOT** be enumerated in the VNF's Heat Orchestration - Template's Environment File. + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + ``{vm-type}_{network-role}_v6_ip_{index}`` + **MUST NOT** be enumerated in the + VNF's Heat Orchestration Template's Environment File. ONAP's SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template. @@ -436,33 +482,44 @@ the value at orchestration to the Heat Orchestration Template. type: string description: Fixed IPv6 assignment for {vm-type} VM {index} on the {network-role} network - .. req:: :id: R-23503 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an external network, and an IPv6 - address is assigned using the property 'fixed_ips' map property 'ip_address' - and the parameter type is defined as a comma_delimited_list, the parameter - name **MUST** follow the naming convention + ``OS::Neutron::Port`` is attaching to an external network (per the + ONAP definition, see Requirement Requirement R-57424), + and an IPv6 address is assigned + using the property ``fixed_ips`` + map property ``ip_address`` and the parameter type is defined as a + ``comma_delimited_list``, + the parameter name **MUST** follow the + naming convention - * '{vm-type}_{network-role}_v6_ips' + * ``{vm-type}_{network-role}_v6_ips`` where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the external network + * ``{vm-type}`` is the {vm-type} associated with the + OS::Nova::Server + * ``{network-role}`` is the {network-role} of the external + network .. req:: :id: R-93030 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address' - parameter '{vm-type}_{network-role}_v6_ips' **MUST NOT** be enumerated in the + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + ``{vm-type}_{network-role}_v6_ips`` + **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's Environment File. ONAP's SDN-Controller assigns the IP Address and ONAP provides @@ -484,30 +541,42 @@ Definition* :id: R-78380 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an internal network, and an IPv4 address - is assigned using the property 'fixed_ips' map property 'ip_address' and - the parameter type is defined as a string, the parameter name **MUST** follow - the naming convention + ``OS::Neutron::Port`` is attaching to an internal network (per the + ONAP definition, see Requirements R-52425 and R-46461), + and an IPv4 address is assigned + using the property ``fixed_ips`` + map property ``ip_address`` and the parameter type is + defined as a ``string``, + the parameter name **MUST** follow the + naming convention - * '{vm-type}\_int\_{network-role}\_ip\_{index}' + * ``{vm-type}_int_{network-role}_ip_{index}`` where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the internal network - * the value for {index} must start at zero (0) and increment by one + * ``{vm-type}`` is the {vm-type} associated with the + OS::Nova::Server + * ``{network-role}`` is the {network-role} of the internal + network + * the value for ``{index`` must start at zero (0) and increment by one .. req:: :id: R-28795 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address' - parameter '{vm-type}\_int\_{network-role}\_ip\_{index}' **MUST** be enumerated - in the VNF's Heat Orchestration Template's Environment File. + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + ``{vm-type}_int_{network-role}_ip_{index}`` + **MUST** be enumerated in the + VNF's Heat Orchestration Template's Environment File. The IP address is local to the VNF's internal network and is (re)used in every VNF spin up, thus the constant value is declared in the VNF's @@ -523,34 +592,45 @@ Heat Orchestration Template's Environment File. type: string description: Fixed IPv4 assignment for {vm-type} VM {index} on the int_{network-role} network - .. req:: :id: R-85235 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an internal network, and an IPv4 - address is assigned using the property 'fixed_ips' map property 'ip_address' - and the parameter type is defined as a comma_delimited_list, the parameter - name **MUST** follow the naming convention + ``OS::Neutron::Port`` is attaching to an internal network (per the + ONAP definition, see Requirement Requirements R-52425 and R-46461), + and an IPv4 address is assigned + using the property ``fixed_ips`` + map property ``ip_address`` and the parameter type is defined as a + ``comma_delimited_list``, + the parameter name **MUST** follow the + naming convention - * '{vm-type}\_int\_{network-role}_ips' + * ``{vm-type}_int_{network-role}_ips`` where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the internal network + * ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` + * ``{network-role}`` is the {network-role} of the internal + network .. req:: :id: R-90206 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address' - parameter '{vm-type}\_int\_{network-role}_int_ips' **MUST** be enumerated in - the VNF's Heat Orchestration Template's Environment File. + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + ``{vm-type}_int_{network-role}_int_ips`` + **MUST** be enumerated in the + VNF's Heat Orchestration Template's Environment File. The IP address is local to the VNF's internal network and is (re)used in every VNF spin up, thus the constant value is declared in the VNF's @@ -569,31 +649,43 @@ Heat Orchestration Template's Environment File. :id: R-27818 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an internal network, and an IPv6 address - is assigned using the property 'fixed_ips' map property 'ip_address' and - the parameter type is defined as a string, the parameter name **MUST** follow - the naming convention + ``OS::Neutron::Port`` is attaching to an internal network (per the + ONAP definition, see RRequirements R-52425 and R-46461), + and an IPv6 address is assigned + using the property ``fixed_ips`` + map property ``ip_address`` and the parameter type is defined as a + ``string``, + the parameter name **MUST** follow the + naming convention - * '{vm-type}\_int\_{network-role}\_v6\_ip\_{index}' + * ``{vm-type}_int_{network-role}_v6_ip_{index}`` where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the internal network - * the value for {index} must start at zero (0) and increment by one + * ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` + * ``{network-role}`` is the {network-role} of the internal + network + * the value for ``{index}`` must start at zero (0) and increment by one + .. req:: :id: R-97201 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address' - parameter '{vm-type}\_int\_{network-role}\_v6\_ip\_{index}' - **MUST** be enumerated in the VNF's Heat Orchestration - Template's Environment File. + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + ``{vm-type}_int_{network-role}_v6_ip_{index}`` + **MUST** be enumerated in the + VNF's Heat Orchestration Template's Environment File. The IP address is local to the VNF's internal network and is (re)used in every VNF spin up, thus the constant value is declared in the VNF's @@ -609,24 +701,31 @@ Heat Orchestration Template's Environment File. type: string description: Fixed IPv6 assignment for {vm-type} VM {index} on the int_{network-role} network - .. req:: :id: R-29765 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an internal network, and an IPv6 - address is assigned using the property 'fixed_ips' map property 'ip_address' - and the parameter type is defined as a comma_delimited_list, the parameter - name **MUST** follow the naming convention + ``OS::Neutron::Port`` is attaching to an internal network (per the + ONAP definition, see Requirement Requirements R-52425 and R-46461), + and an IPv6 address is assigned + using the property ``fixed_ips`` + map property ``ip_address`` and the parameter type is defined as a + ``comma_delimited_list``, + the parameter name **MUST** follow the + naming convention - * '{vm-type}\_int\_{network-role}_v6_ips' + * ``{vm-type}_int_{network-role}_v6_ips`` where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the internal network + * ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` + * ``{network-role}`` is the {network-role} of the internal + network *Example Internal Network IPv6 Address comma_delimited_list Parameter Definition* @@ -644,67 +743,88 @@ Definition* :id: R-98569 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address' - parameter '{vm-type}\_int\_{network-role}_v6_ips' **MUST** be enumerated in - the VNF's Heat Orchestration Template's Environment File. + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``ip_address`` parameter + ``{vm-type}_int_{network-role}_v6_ips`` + **MUST** be enumerated in the + VNF's Heat Orchestration Template's Environment File. The IP address is local to the VNF's internal network and is (re)used in every VNF spin up, thus the constant value is declared in the VNF's Heat Orchestration Template's Environment File. +.. code-block:: yaml + + parameters: + + {vm-type}_int_{network-role}_v6_ips: + type: comma_delimited_list + description: Fixed IPv6 assignments for {vm-type} VMs on the int_{network-role} network .. req:: :id: R-62590 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address' + The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` + property ``fixed_ips`` + map property ``ip_address`` parameter associated with an external network, i.e., - - {vm-type}_{network-role}\_ip\_{index} - - {vm-type}_{network-role}\_ip\_v6\_{index} - - {vm-type}_{network-role}_ips - - {vm-type}_{network-role}_v6_ips + * ``{vm-type}_{network-role}_ip_{index}`` + * ``{vm-type}_{network-role}_ip_v6_{index}`` + * ``{vm-type}_{network-role}_ips`` + * ``{vm-type}_{network-role}_v6_ips`` - **MUST NOT** be enumerated in the Heat Orchestration Template's Environment File. - ONAP provides the IP address assignments at orchestration time. + + **MUST NOT** be enumerated in the Heat Orchestration + Template's Environment File. ONAP provides the IP address + assignments at orchestration time. .. req:: :id: R-93496 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address' + The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` + property ``fixed_ips`` + map property ``ip_address`` parameter associated with an internal network, i.e., - - {vm-type}\_int\_{network-role}\_ip\_{index} - - {vm-type}\_int\_{network-role}\_ip\_v6\_{index} - - {vm-type}\_int\_{network-role}_ips - - {vm-type}\_int\_{network-role}_v6_ips + * ``{vm-type}_int_{network-role}_ip_{index}`` + * ``{vm-type}_int_{network-role}_ip_v6_{index}`` + * ``{vm-type}_int_{network-role}_ips`` + * ``{vm-type}_int_{network-role}_v6_ips`` + - **MUST** be enumerated in the Heat Orchestration Template's Environment - File and IP addresses **MUST** be assigned. + **MUST** be enumerated in the Heat Orchestration + Template's Environment File and IP addresses **MUST** be + assigned. Summary Table ~~~~~~~~~~~~~~~~~ -.. csv-table:: **Table # OS::Neutron::Port Property fixed_ips map property ip_address Parameter Naming Convention** +.. csv-table:: **Table 4 OS::Neutron::Port Property fixed_ips map property ip_address Parameter Naming Convention** :header: Resource,Property,Map Property,Network Type,IP Address,Parameter Type,Parameter Name, Environment File :align: center :widths: auto - OS::Neutron::Port, fixed_ips, ip_address, external, IPv4, string, {vm-type}\_{network-role}\_ip\_{index}, NO - OS::Neutron::Port, fixed_ips, ip_address, external, IPv4, comma\_delimited\_list, {vm-type}\_{network-role}\_ips, NO - OS::Neutron::Port, fixed_ips, ip_address, external, IPv6, string, {vm-type}\_{network-role}\_v6\_ip\_{index}, NO - OS::Neutron::Port, fixed_ips, ip_address, external, IPv6, comma\_delimited\_list, {vm-type}\_{network-role}\_v6\_ips, NO - OS::Neutron::Port, fixed_ips, ip_address, internal, IPv4, string, {vm-type}\_int\_{network-role}\_ip\_{index}, YES - OS::Neutron::Port, fixed_ips, ip_address, internal, IPv4, comma\_delimited\_list, {vm-type}\_int\_{network-role}\_ips, YES - OS::Neutron::Port, fixed_ips, ip_address, internal, IPv6, string, {vm-type}\_int\_{network-role}\_v6\_ip\_{index}, YES - OS::Neutron::Port, fixed_ips, ip_address, internal, IPv6, comma\_delimited\_list, {vm-type}\_int\_{network-role}\_v6\_ips, YES + OS::Neutron::Port, fixed_ips, ip_address, external, IPv4, string, {vm-type}_{network-role}_ip_{index}, NO + OS::Neutron::Port, fixed_ips, ip_address, external, IPv4, comma_delimited_list, {vm-type}_{network-role}_ips, NO + OS::Neutron::Port, fixed_ips, ip_address, external, IPv6, string, {vm-type}_{network-role}_v6_ip_{index}, NO + OS::Neutron::Port, fixed_ips, ip_address, external, IPv6, comma_delimited_list, {vm-type}_{network-role}_v6_ips, NO + OS::Neutron::Port, fixed_ips, ip_address, internal, IPv4, string, {vm-type}_int_{network-role}_ip_{index}, YES + OS::Neutron::Port, fixed_ips, ip_address, internal, IPv4, comma_delimited_list, {vm-type}_int_{network-role}_ips, YES + OS::Neutron::Port, fixed_ips, ip_address, internal, IPv6, string, {vm-type}_int_{network-role}_v6_ip_{index}, YES + OS::Neutron::Port, fixed_ips, ip_address, internal, IPv6, comma_delimited_list, {vm-type}_int_{network-role}_v6_ips, YES Examples @@ -713,8 +833,8 @@ Examples *Example: comma_delimited_list parameters for IPv4 and IPv6 Address Assignments to an external network* -In this example, the '{network-role}' has been defined as 'oam' to represent -an oam network and the '{vm-type}' has been defined as 'db' for database. +In this example, the ``{network-role}`` has been defined as ``oam`` to represent +an oam network and the ``{vm-type}`` has been defined as ``db`` for database. .. code-block:: yaml @@ -746,8 +866,8 @@ an oam network and the '{vm-type}' has been defined as 'db' for database. *Example: string parameters for IPv4 and IPv6 Address Assignments to an external network* -In this example, the '{network-role}' has been defined as 'oam' to -represent an oam network and the '{vm-type}' has been defined as 'db' for +In this example, the ``{network-role}`` has been defined as ``oam`` to +represent an oam network and the ``{vm-type}`` has been defined as ``db`` for database. .. code-block:: yaml @@ -783,12 +903,12 @@ database. - "ip_address": {get_param: db_oam_v6_ip_1} -*Example: comma_delimited_list parameters for IPv4 and IPv6 Address +*Example*: comma_delimited_list parameters for IPv4 and IPv6 Address Assignments to an internal network* -In this example, the '{network-role}' has been defined as 'ctrl' to +In this example, the ``{network-role}`` has been defined as ``ctrl`` to represent an ctrl network internal to the vnf. -The '{vm-type}' has been defined as 'db' for +The ``{vm-type}`` has been defined as ``db`` for database. .. code-block:: yaml @@ -824,9 +944,9 @@ database. *Example: string parameters for IPv4 and IPv6 Address Assignments to an internal network* -In this example, the int_{network-role} has been defined as -int_ctrl to represent a control network internal to the vnf. -The {vm-type} has been defined as db for database. +In this example, the ``int_{network-role}`` has been defined as +``int_ctrl`` to represent a control network internal to the vnf. +The ``{vm-type}`` has been defined as ``db`` for database. .. code-block:: yaml @@ -865,10 +985,10 @@ The {vm-type} has been defined as db for database. Property: fixed_ips, Map Property: subnet_id ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The resource 'OS::Neutron::Port' property 'fixed_ips' map -property 'subnet'/'subnet_id' is used when a +The resource ``OS::Neutron::Port`` property ``fixed_ips`` map +property ``subnet``/``subnet_id`` is used when a port is requesting an IP assignment via -OpenStack's DHCP Service (i.e., Cloud Assigned). +OpenStack’s DHCP Service (i.e., cloud assigned). The IP address assignment will be made from the specified subnet. @@ -881,55 +1001,65 @@ subnet. If the network (external or internal) that the port is attaching to contains two or more subnets, specifying the subnet in the -'fixed_ips' map property 'subnet'/'subnet_id' determines which +``fixed_ips`` map property ``subnet``/``subnet_id`` determines which subnet the IP address will be assigned from. If the network (external or internal) that the port is attaching to contains two or more subnets, and the subnet is not is not -specified, OpenStack will randomly(?) determine which subnet +specified, OpenStack will randomly determine which subnet the IP address will be assigned from. -The property fixed_ips is used to assign IPs to a port. The Map Property -subnet_id specifies the subnet the IP is assigned from. - +The property ``fixed_ips`` is used to assign IPs to a port. The Map Property +``subnet_id`` specifies the subnet the IP is assigned from. .. req:: :id: R-38236 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's resource - 'OS::Neutron::Port' property 'fixed_ips' map property - 'subnet'/'subnet_id' parameter **MUST** be declared type 'string'. + The VNF's Heat Orchestration Template's + resource ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``subnet``/``subnet_id`` parameter + **MUST** be declared type ``string``. .. req:: :id: R-62802 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When the VNF's Heat Orchestration Template's resource - 'OS::Neutron::Port' is attaching to an external network, and an IPv4 - address is being Cloud Assigned by OpenStack's DHCP Service and the - external network IPv4 subnet is to be specified using the property - 'fixed_ips' map property 'subnet'/'subnet_id', the parameter **MUST** - follow the naming convention + When the VNF's Heat Orchestration Template's + resource ``OS::Neutron::Port`` is attaching + to an external network (per the ONAP definition, see + Requirement R-57424), + and an IPv4 address is being cloud assigned by OpenStack's DHCP Service + and the external network IPv4 subnet is to be specified + using the property ``fixed_ips`` + map property ``subnet``/``subnet_id``, the parameter + **MUST** follow the naming convention - * '{network-role}_subnet_id' + * ``{network-role}_subnet_id`` where - - * '{network-role}' is the network role of the network. + + * ``{network-role}`` is the network role of the network. .. req:: :id: R-83677 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property - subnet'/'subnet_id' parameter '{network-role}_subnet_id' - **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's - Environment File. + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``subnet``/``subnet_id`` parameter + ``{network-role}_subnet_id`` + **MUST NOT** be enumerated in the + VNF's Heat Orchestration Template's Environment File. ONAP's SDN-Controller provides the network's subnet's UUID value at orchestration to the Heat Orchestration Template. @@ -949,51 +1079,45 @@ value at orchestration to the Heat Orchestration Template. :id: R-15287 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When the VNF's Heat Orchestration Template's resource - 'OS::Neutron::Port' is attaching to an external network, and an IPv6 - address is being Cloud Assigned by OpenStack's DHCP Service and the - external network IPv6 subnet is to be specified using the property - 'fixed_ips' map property 'subnet'/'subnet_id', the parameter **MUST** - follow the naming convention - - * '{network-role}_subnet_v6_id' + When the VNF's Heat Orchestration Template's + resource ``OS::Neutron::Port`` is attaching + to an external network (per the ONAP definition, see + Requirement R-57424), + and an IPv6 address is being cloud assigned by OpenStack's DHCP Service + and the external network IPv6 subnet is to be specified + using the property ``fixed_ips`` + map property ``subnet``/``subnet_id``, the parameter + **MUST** follow the naming convention - where + * ``{network-role}_v6_subnet_id`` - * '{network-role}' is the network role of the network. + where + + * ``{network-role}`` is the network role of the network. .. req:: :id: R-80829 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property - subnet'/'subnet_id' parameter '{network-role}_subnet_v6_id' - **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's - Environment File. - -ONAP's SDN-Controller provides the network's subnet's UUID -value at orchestration to the Heat Orchestration Template. - -*Example Parameter Definition* - -.. code-block:: yaml - - parameters: - - {network-role}_v6_subnet_id: - type: string - description: Neutron IPv6 subnet UUID for the {network-role} network - + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``subnet``/``subnet_id`` parameter + ``{network-role}_v6_subnet_id`` + **MUST NOT** be enumerated in the + VNF's Heat Orchestration Template's Environment File. *Example: One Cloud Assigned IPv4 Address (DHCP) assigned to a network that has two or more IPv4 subnets* -In this example, the '{network-role}' has been defined as 'oam' to represent -an oam network and the '{vm-type}' has been defined as 'lb' for load -balancer. The Cloud Assigned IP Address uses the OpenStack DHCP service +In this example, the ``{network-role}`` has been defined as ``oam`` to represent +an oam network and the ``{vm-type}`` has been defined as ``lb`` for load +balancer. The cloud assigned IP Address uses the OpenStack DHCP service to assign IP addresses. .. code-block:: yaml @@ -1017,8 +1141,8 @@ to assign IP addresses. address assigned to a network that has at least one IPv4 subnet and one IPv6 subnet* -In this example, the '{network-role}' has been defined as 'oam' to represent -an oam network and the '{vm-type}' has been defined as 'lb' for load +In this example, the ``{network-role}`` has been defined as ``oam`` to represent +an oam network and the ``{vm-type}`` has been defined as ``lb`` for load balancer. .. code-block:: yaml @@ -1042,39 +1166,48 @@ balancer. - subnet_id: { get_param: oam_subnet_id } - subnet_id: { get_param: oam_v6_subnet_id } - .. req:: :id: R-84123 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When - - the VNF's Heat Orchestration Template's resource 'OS::Neutron::Port' - in an Incremental Module is attaching to an internal network - that is created in the Base Module, AND - - an IPv4 address is being Cloud Assigned by OpenStack's DHCP Service AND - - the internal network IPv4 subnet is to be specified using the - property 'fixed_ips' map property 'subnet'/'subnet_id', + * the VNF's Heat Orchestration Template's + resource ``OS::Neutron::Port`` in an Incremental Module is attaching + to an internal network (per the ONAP definition, see + Requirements R-52425 and R-46461) + that is created in the Base Module, AND + * an IPv4 address is being cloud assigned by OpenStack's DHCP Service AND + * the internal network IPv4 subnet is to be specified + using the property ``fixed_ips`` map property ``subnet``/``subnet_id``, the parameter **MUST** follow the naming convention - * 'int\_{network-role}_subnet_id' + + * ``int_{network-role}_subnet_id`` + where - * '{network-role}' is the network role of the internal network - - Note that the parameter **MUST** be defined as an 'output' parameter in - the base module. + * ``{network-role}`` is the network role of the internal network + + Note that the parameter **MUST** be defined as an ``output`` parameter in + the base module. .. req:: :id: R-69634 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property - subnet'/'subnet_id' parameter 'int\_{network-role}_subnet_id' - **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's - Environment File. + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``subnet``/``subnet_id`` parameter + ``int_{network-role}_subnet_id`` + **MUST NOT** be enumerated in the + VNF's Heat Orchestration Template's Environment File. The assumption is that internal networks are created in the base module. The Neutron subnet network ID will be passed as an output parameter @@ -1092,39 +1225,44 @@ input parameter. type: string description: Neutron IPv4 subnet UUID for the int_{network-role} network - .. req:: :id: R-76160 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When - - the VNF's Heat Orchestration Template's resource - 'OS::Neutron::Port' in an Incremental Module is attaching to an - internal network that is created in the Base Module, AND - - an IPv6 address is being Cloud Assigned by OpenStack's DHCP Service AND - - the internal network IPv6 subnet is to be specified using the property - 'fixed_ips' map property 'subnet'/'subnet_id', + * the VNF's Heat Orchestration Template's + resource ``OS::Neutron::Port`` in an Incremental Module is attaching + to an internal network (per the ONAP definition, see Requirement TBD) + that is created in the Base Module, AND + * an IPv6 address is being cloud assigned by OpenStack's DHCP Service AND + * the internal network IPv6 subnet is to be specified + using the property ``fixed_ips`` map property ``subnet``/``subnet_id``, the parameter **MUST** follow the naming convention - * 'int\_{network-role}_v6_subnet_id' - where - * '{network-role}' is the network role of the internal network + ``int_{network-role}_v6_subnet_id``, + where ``{network-role}`` is the network role of the internal network. - - Note that the parameter **MUST** be defined as an 'output' parameter in - the base module. + Note that the parameter **MUST** be defined as an ``output`` parameter in + the base module. .. req:: :id: R-22288 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'fixed_ips' map property - 'subnet'/'subnet_id' parameter 'int\_{network-role}_v6_subnet_id' - **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's - Environment File. + ``OS::Neutron::Port`` property ``fixed_ips`` + map property ``subnet``/``subnet_id`` parameter + ``int_{network-role}_v6_subnet_id`` + **MUST NOT** be enumerated in the + VNF's Heat Orchestration Template's Environment File. + *Example Parameter Definition* @@ -1136,11 +1274,10 @@ input parameter. type: string description: Neutron subnet UUID for the int_{network-role} network - Property: allowed\_address\_pairs, Map Property: ip\_address ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The property 'allowed_address_pairs' in the resource 'OS::Neutron::Port' +The property ``allowed_address_pairs`` in the resource ``OS::Neutron::Port`` allows the user to specify a mac_address and/or ip_address that will pass through a port regardless of subnet. This enables the use of protocols, such as VRRP, which allow for a Virtual IP (VIP) address @@ -1153,26 +1290,29 @@ Note that the management of the VIP IP addresses (i.e. transferring ownership between active and standby VMs) is the responsibility of the VNF application. - .. req:: :id: R-62300 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca If a VNF has two or more ports that require a Virtual IP Address (VIP), - a VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port' property - 'allowed_address_pairs' map property 'ip_address' parameter **MUST** be used. + a VNF's Heat Orchestration Template's Resource + ``OS::Neutron::Port`` property ``allowed_address_pairs`` + map property ``ip_address`` parameter + **MUST** be used. -The 'allowed_address_pairs' is an optional property. It is not required. +The ``allowed_address_pairs`` is an optional property. It is not required. ONAP automation supports the assignment of VIP addresses -for external networks. ONAP support the assignment of one IPv4 VIP address +for external networks. ONAP support the assignment of one IPv4 VIP address and/or one IPv6 VIP address to a set of ports associated with a -'{vm-type}' and '{network-role}'. +``{vm-type}`` and ``{network-role}``. If a VNF requires more than one IPv4 VIP address and/or more than one IPv6 VIP address to a set of ports associated with a -'{vm-type}' and '{network-role}', there are "manual" work-around +``{vm-type}`` and ``{network-role}``, there are "manual" work-around procedures that can be utilized. VIP Assignment, External Networks, Supported by Automation @@ -1182,9 +1322,8 @@ VIP Assignment, External Networks, Supported by Automation :id: R-91810 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF requires ONAP to assign a Virtual IP (VIP) Address to ports connected an external network, the port @@ -1194,9 +1333,8 @@ VIP Assignment, External Networks, Supported by Automation :id: R-41956 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF requires ONAP to assign a Virtual IP (VIP) Address to ports connected an external network, the port @@ -1206,9 +1344,8 @@ VIP Assignment, External Networks, Supported by Automation :id: R-10754 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF has two or more ports that attach to an external network that require a Virtual IP Address (VIP), @@ -1221,50 +1358,53 @@ VIP Assignment, External Networks, Supported by Automation :id: R-98748 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'allowed_address_pairs' - map property 'ip_address' parameter - **MUST** be declared as type 'string'. + ``OS::Neutron::Port`` property ``allowed_address_pairs`` + map property ``ip_address`` parameter + **MUST** be declared as type ``string``. .. req:: :id: R-41492 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an external network, - and an IPv4 Virtual IP (VIP) address is assigned via ONAP automation - using the property 'allowed_address_pairs' map property 'ip_address' and - the parameter name **MUST** follow the naming convention + ``OS::Neutron::Port`` is attaching to an external network (per the + ONAP definition, see Requirement R-57424), + and an IPv4 Virtual IP (VIP) + address is assigned via ONAP automation + using the property ``allowed_address_pairs`` + map property ``ip_address`` and + the parameter name **MUST** follow the + naming convention - * '{vm-type}_{network-role}_floating_ip' + * ``{vm-type}_{network-role}_floating_ip`` where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the external network - - And the parameter **MUST** be declared as type 'string'. + * ``{vm-type}`` is the {vm-type} associated with the + OS::Nova::Server + * ``{network-role}`` is the {network-role} of the external + network + + And the parameter **MUST** be declared as type ``string``. .. req:: :id: R-83412 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'allowed_address_pairs' - map property 'ip_address' parameter - '{vm-type}_{network-role}_floating_ip' + ``OS::Neutron::Port`` property ``allowed_address_pairs`` + map property ``ip_address`` parameter + ``{vm-type}_{network-role}_floating_ip`` **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's Environment File. @@ -1282,37 +1422,41 @@ VIP Assignment, External Networks, Supported by Automation :id: R-35735 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca When the VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' is attaching to an external network, - and an IPv6 Virtual IP (VIP) address is assigned via ONAP automation - using the property 'allowed_address_pairs' map property 'ip_address', - the parameter name **MUST** follow the naming convention + ``OS::Neutron::Port`` is attaching to an external network (per the + ONAP definition, see Requirement R-57424), + and an IPv6 Virtual IP (VIP) + address is assigned via ONAP automation + using the property ``allowed_address_pairs`` + map property ``ip_address``, + the parameter name **MUST** follow the + naming convention - * '{vm-type}_{network-role}_v6_floating_ip' + * ``{vm-type}_{network-role}_v6_floating_ip`` where - * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server - * '{network-role}' is the {network-role} of the external network + * ``{vm-type}`` is the {vm-type} associated with the + OS::Nova::Server + * ``{network-role}`` is the {network-role} of the external + network - And the parameter **MUST** be declared as type 'string'. + And the parameter **MUST** be declared as type ``string``. .. req:: :id: R-83418 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Neutron::Port' property 'allowed_address_pairs' - map property 'ip_address' parameter - '{vm-type}_{network-role}_floating_v6_ip' + ``OS::Neutron::Port`` property ``allowed_address_pairs`` + map property ``ip_address`` parameter + ``{vm-type}_{network-role}_floating_v6_ip`` **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's Environment File. @@ -1332,31 +1476,29 @@ addresses that are mapped to specific VM ports. In that case, the individual VMs are not even aware of the public IPs, and all assignment of public IPs to VMs is via OpenStack commands. ONAP does not support Neutron-style Floating IPs. That is, ONAP does not support the -resources 'OS::Neutron::FloatingIP' -and 'OS::Neutron::FloatingIPAssociation'. +resources ``OS::Neutron::FloatingIP`` +and ``OS::Neutron::FloatingIPAssociation``. .. req:: :id: R-05257 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's **MUST NOT** - contain the Resource 'OS::Neutron::FloatingIP'. + contain the Resource ``OS::Neutron::FloatingIP``. .. req:: :id: R-76449 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's **MUST NOT** - contain the Resource 'OS::Neutron::FloatingIPAssociation'. + contain the Resource ``OS::Neutron::FloatingIPAssociation``. The Floating IP functions as a NAT. They are allocated within Openstack, and always "terminate" within the Openstack infrastructure. @@ -1367,10 +1509,10 @@ port. The VM never sees or knows about the Openstack Floating IP. The process to use is: - User allocates a floating IP from the Openstack pool. - - User 'attaches' that floating IP to one of the VM ports. + - User ‘attaches’ that floating IP to one of the VM ports. If there is a high-availability VNF that wants to "float" the IP to a -different VM, it requires a Neutron command to request Openstack to 'attach' +different VM, it requires a Neutron command to request Openstack to ‘attach’ the floating IP to a different VM port. The pool of such addresses is managed by Openstack infrastructure. Users cannot create new ones, they can only choose from those in the pool. @@ -1392,7 +1534,7 @@ additional IPs. Floating IPs are not used in ONAP due to the NAT-ting nature of the IPs, the inability to reserve such IPs for specific use, the need to manage them via Openstack commands (i.e. a HA VNF would require direct access to -Openstack to 'float' such an IP from one VM to another). +Openstack to ‘float’ such an IP from one VM to another). *Example:* @@ -1427,16 +1569,15 @@ 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}}] - VIP Assignment, External Networks, Additional Options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The parameter {'vm-type}_{network-role}_floating_ip' allows for only one -allowed address pair IPv4 address per '{vm-type}' and '{network-role}' +The parameter ``{vm-type}_{network-role}_floating_ip`` allows for only one +allowed address pair IPv4 address per ``{vm-type}`` and ``{network-role}`` combination. -The parameter '{vm-type}_{network-role}_floating_v6_ip' allows for only one -allowed address pair IPv6 address per '{vm-type}' and '{network-role}' +The parameter ``{vm-type}_{network-role}_floating_v6_ip`` allows for only one +allowed address pair IPv6 address per ``{vm-type}`` and ``{network-role}`` combination. If there is a need for multiple allowed address pair IPs for a given @@ -1446,10 +1587,10 @@ options. **Option One** If there is a need for multiple allowed address pair IPs for a given -'{vm-type}' and '{network-role}' combination within a VNF, then the -parameter names defined for the Property 'fixed_ips' Map Property -'ip_address' should be used or the Property 'allowed_address_pairs' -Map Property 'ip_address'. The +``{vm-type}`` and ``{network-role}`` combination within a VNF, then the +parameter names defined for the Property ``fixed_ips`` Map Property +``ip_address`` should be used or the Property ``allowed_address_pairs`` +Map Property ``ip_address``. The parameter names are provided in the table below. .. csv-table:: **Table 5 OS::Neutron::Port Property allowed_address_pairs map property ip_address Parameter Naming Convention** @@ -1548,7 +1689,7 @@ the CDL and then the VIPs as shown in the examples above. **Option Two** If there is a need for multiple allowed address pair IPs for a given -'{vm-type}' and '{network-role}' combination within a VNF, then the +``{vm-type}`` and ``{network-role}`` combination within a VNF, then the parameter names defined for the table below can be used. **Resource OS::Neutron::Port** @@ -1567,7 +1708,7 @@ Table 6: Multiple allowed_address_pairs Option 2A If there is a need for multiple allowed address pair IPs for a given -'{vm-type}' and '{network-role}' combination within a VNF and the need to +``{vm-type}`` and ``{network-role}`` combination within a VNF and the need to differentiate the VIPs for different traffic types (e.g., 911 VIP, fail-over VIP), then the parameter names defined for the table below can be used. @@ -1590,7 +1731,7 @@ Internal Networks ~~~~~~~~~~~~~~~~~~~~~~~ ONAP defines an internal network in relation to -the VNF and not with regard to the Network Cloud site. Internal +the VNF and not with regard to the cloud site. Internal networks may also be referred to as "intra-VNF" networks or "private" networks. An internal network only connects VMs in a single VNF. It must not connect to other VNFs or an external (to the cloud) gateway or an @@ -1598,34 +1739,36 @@ external (to the cloud) router. ONAP internal networks should be created in the base module. -As previously mentioned, -ports that connect to an internal network are assigned IP addresses -via one of two methods +As previously mentioned, ports that connect to an internal network are assigned +IP addresses via one of two methods * Method 1: Cloud assigned by OpenStack's DHCP Service * Method 2: Statically assigned. That is, predetermined by the VNF designer and are specified in the VNF's Heat Orchestration Template's Environment File -If Cloud assigned IP addressing is being used, output statements +If cloud assigned IP addressing is being used, output statements are created in the base module. If static assigned IP addressing is being used, the IP addresses are defined in the environment file. - * {vm-type}_int_{network-role}_floating_ip - * {vm-type}_int_{network-role}_floating_v6_ip + * ``{vm-type}_int_{network-role}_floating_ip`` + * ``{vm-type}_int_{network-role}_floating_v6_ip`` + + * ``{vm-type}_int_{network-role}_vip_{index}`` + * ``{vm-type}_int_{network-role}_vips`` + * ``{vm-type}_int_{network-role}_v6_vip_{index}`` + * ``{vm-type}_int_{network-role}_v6_vips`` + + + * ``{vm-type}_int_{network-role}_{vip_type}_vip`` + * ``{vm-type}_int_{network-role}_{vip_type}_vips`` + * ``{vm-type}_int_{network-role}_{vip_type}_v6_vip`` + * ``{vm-type}_int_{network-role}_{vip_type}_v6_vips`` - * {vm-type}_int_{network-role}_vip_{index} - * {vm-type}_int_{network-role}_vips - * {vm-type}_int_{network-role}_v6_vip_{index} - * {vm-type}_int_{network-role}_v6_vips - * {vm-type}_int_{network-role}_{vip_type}_vip - * {vm-type}_int_{network-role}_{vip_type}_vips - * {vm-type}_int_{network-role}_{vip_type}_v6_vip - * {vm-type}_int_{network-role}_{vip_type}_v6_vips *Example Parameter Definition* @@ -1640,14 +1783,19 @@ are defined in the environment file. type: string description: VIP for {vm-type} VMs on the int_{network-role} network + + allowed_address_pair IP Addresses Required in more than one module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If the IP address {vm-type}_{network-role}_floating_ip and/or -{vm-type}_{network-role}_floating_v6_ip must be used in more than module in the -VNF, the parameter values must be defined as output values in the base -module with output names: {vm-type}_{network-role}_shared_vip or -{vm-type}_{network-role}_v6_shared_vip +If the IP address ``{vm-type}_{network-role}_floating_ip`` and/or +``{vm-type}_{network-role}_floating_v6_ip`` must be used in more than module +in the +VNF, the parameter values must be defined as output values in the base module +with +output names: ``{vm-type}_{network-role}_shared_vip`` or +``{vm-type}_{network-role}_v6_shared_vip``. + .. code-block:: yaml @@ -1662,7 +1810,7 @@ module with output names: {vm-type}_{network-role}_shared_vip or The output parameters must be defined as input parameter in the incremental modules that require the IP addresses. When defining the -allowed_address_pairs: in the OS::Neutron::Port, it should be as +``allowed_address_pairs`` in the ``OS::Neutron::Port``, it should be as follows: .. code-block:: yaml @@ -1674,54 +1822,56 @@ follows: Reserve Port Concept ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A "Reserve Port" is an OS::Neutron::Port that fixed_ips, ip_address +A "Reserve Port" is an ``OS::Neutron::Port`` that ``fixed_ips``, ip_address property is assigned one or more IP addresses that are used as Virtual IP (VIP) Addresses (i.e., allowed_address_pairs) on other ports. A "Reserve Port" is never attached to a Virtual Machine -(OS::Nova::Server). The reserve port ensures that the intended -allowed_address_pair IP address is not inadvertently assigned as a -fixed_ips to a OS::Neutron::Port that is attached OS::Nova::Server and +(``OS::Nova::Server``). The reserve port ensures that the intended +``allowed_address_pair`` IP address is not inadvertently assigned as a +fixed_ips to a ``OS::Neutron::Port`` that is attached ``OS::Nova::Server`` and thus causing routing issues. A VNF may have one or more "Reserve Ports". A reserve port maybe created in the base module or an incremental module. If created in the base module, parameters may be defined in the outputs: section of the base template so the IP Address assigned to the reserve port maybe assigned -to the allowed_address_pair property of an OS::Neutron::Port in one or +to the allowed_address_pair property of an ``OS::Neutron::Port`` in one or more incremental modules. The parameter name of the IP address used in the "Reserve Port" depends -on the allowed_address_pair "option" utilized by the VNF. +on the ``allowed_address_pair`` "option" utilized by the VNF. When creating a Reserve Port, if only one allowed_address_pair is configured on a port, then the parameter name depends upon the IP addresses type (IPv4 or IPv6) and network type (internal or external). The valid parameter names are: - * {vm-type}_{network-role}_floating_ip - * {vm-type}_{network-role}_floating_v6_ip - * {vm-type}_int_{network-role}_floating_ip - * {vm-type}_int_{network-role}_floating_v6_ip + * ``{vm-type}_{network-role}_floating_ip`` + * ``{vm-type}_{network-role}_floating_v6_ip`` + * ``{vm-type}_int_{network-role}_floating_ip`` + * ``{vm-type}_int_{network-role}_floating_v6_ip`` When creating a Reserve Port, if more than one (e.g., multiple) -allowed_address_pair is configured on a port, then the parameter name depends +``allowed_address_pair`` is configured on a port, then the parameter name +depends upon the IP addresses type (IPv4 or IPv6) and network type (internal or external) and the option being used. The valid parameter names are: - * {vm-type}_{network-role}_ip_{index} - * {vm-type}_{network-role}_ips - * {vm-type}_{network-role}_v6_ip_{index} - * {vm-type}_{network-role}_v6_ips - * {vm-type}_{network-role}_vip_{index} - * {vm-type}_{network-role}_vips - * {vm-type}_{network-role}_v6_vip_{index} - * {vm-type}_{network-role}_v6_vips - * {vm-type}_{network-role}_{vip-type}_vip - * {vm-type}_{network-role}_v6_{vip-type}_vip - * {vm-type}_{network-role}_{vip-type}_vips - * {vm-type}_{network-role}_v6_{vip-type}_vips + * ``{vm-type}_{network-role}_ip_{index}`` + * ``{vm-type}_{network-role}_ips`` + * ``{vm-type}_{network-role}_v6_ip_{index}`` + * ``{vm-type}_{network-role}_v6_ips`` + * ``{vm-type}_{network-role}_vip_{index}`` + * ``{vm-type}_{network-role}_vips`` + * ``{vm-type}_{network-role}_v6_vip_{index}`` + * ``{vm-type}_{network-role}_v6_vips`` + * ``{vm-type}_{network-role}_{vip-type}_vip`` + * ``{vm-type}_{network-role}_v6_{vip-type}_vip`` + * ``{vm-type}_{network-role}_{vip-type}_vips`` + * ``{vm-type}_{network-role}_v6_{vip-type}_vips`` + *Example IPv4 Reserve Port Definition: one allowed_address_pair configured on a port* @@ -1746,4 +1896,3 @@ configured on a port* network: { get_param: {network-role}_net_id } fixed_ips: - ip_address : { get_param: {vm-type}_{network-role}_floating_v6_ip } - diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Metadata Parameters.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Metadata Parameters.rst index adf3756..d86279d 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Metadata Parameters.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Nova Metadata Parameters.rst @@ -7,80 +7,93 @@ Resource: OS::Nova::Server - Metadata Parameters -------------------------------------------------------------------------------- -The OS::Nova::Server Resource property metadata is an optional -OpenStack property. -The table below summarizes the mandatory and optional metadata -supported by ONAP. - +The ``OS::Nova::Server`` resource property ``metadata`` is an optional OpenStack +property. +Table 2 summarizes the mandatory and optional ``metadata`` supported by ONAP. The sections that follow provides the requirements associated with each -metadata parameter. +``metadata`` parameter. + -.. csv-table:: **Table 5 OS::Nova::Server Mandatory and Optional Metadata** - :header: Metadata Parameter Name, Parameter Type, Required, Parameter Value Provided to Heat +.. csv-table:: **Table 2 OS::Nova::Server Mandatory and Optional Metadata** + :header: Resource, Property, Parameter Name, Parameter Type, Required, Parameter Value Provided to Heat :align: center :widths: auto - vnf_id, string, **MUST**, ONAP - vf_module_id, string, **MUST**, ONAP - vnf_name, string, **MUST**, ONAP - vf_module_name, string, **SHOULD**, ONAP - vm_role, string, **MAY**, YAML or Environment File - vf_module_index, string, **MAY**, ONAP - workload_context, string, **SHOULD**, ONAP - environment_context, string, **SHOULD**, ONAP + OS::Nova::Server, metadata, vnf_id, string, **MUST**, ONAP + OS::Nova::Server, metadata, vf_module_id, string, **MUST**, ONAP + OS::Nova::Server, metadata, vnf_name, string, **MUST**, ONAP + OS::Nova::Server, metadata, vf_module_name, string, **SHOULD**, ONAP + OS::Nova::Server, metadata, vm_role, string, **MAY**, YAML or Environment File + OS::Nova::Server, metadata, vf_module_index, number, **MAY**, ONAP + OS::Nova::Server, metadata, workload_context, string, **MUST**, ONAP + OS::Nova::Server, metadata, environment_context, string, **MUST**, ONAP vnf_id ^^^^^^^^^ -The OS::Nova::Server Resource metadata map value parameter 'vnf_id' -is an ONAP generated UUID that identifies the VNF. The value +The ``OS::Nova::Server`` resource property ``metadata`` key/value pair +``vnf_id`` is an ONAP generated UUID that identifies the VNF. The value is provided by ONAP to the VNF's Heat Orchestration Template at orchestration time. - .. req:: :id: R-37437 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource **MUST** contain the metadata map value parameter 'vnf_id'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` + resource property ``metadata`` **MUST** + contain the key/value pair ``vnf_id``. .. req:: :id: R-07507 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_id' **MUST** be declared - as type: 'string'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` + resource property + ``metadata`` key/value pair ``vnf_id`` parameter ``vnf_id`` **MUST** + be declared as type: ``string``. .. req:: :id: R-55218 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_id' **MUST NOT** have - parameter contraints defined. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` + resource property + ``metadata`` key/value pair ``vnf_id`` parameter ``vnf_id`` **MUST NOT** + have parameter constraints defined. .. req:: :id: R-20856 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_id' **MUST NOT** be - enumerated in the Heat Orchestration Template's environment file. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` + resource property + ``metadata`` key/value pair ``vnf_id`` parameter ``vnf_id`` **MUST NOT** + be enumerated in the Heat Orchestration Template's environment file. .. req:: :id: R-44491 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_id' is passed into a - Nested YAML file, the parameter name 'vnf_id' **MUST NOT** change. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource + property + ``metadata`` key/value pair ``vnf_id`` is passed into a Nested YAML + file, the key/value pair name ``vnf_id`` **MUST NOT** change. *Example 'vnf_id' Parameter Definition* @@ -95,58 +108,66 @@ Template at orchestration time. vf_module_id ^^^^^^^^^^^^^^^^^^^^ -The OS::Nova::Server Resource metadata map value parameter 'vf_module_id' +The OS::Nova::Server Resource ``metadata`` map value parameter ``vf_module_id`` is an ONAP generated UUID that identifies the VF Module (e.g., Heat Orchestration Template). The value is provided by ONAP to the VNF's Heat Orchestration Template at orchestration time. - .. req:: :id: R-71493 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource **MUST** contain the metadata map value parameter - 'vf_module_id'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource **MUST** + contain the ``metadata`` map value parameter ``vf_module_id``. .. req:: :id: R-82134 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_id' **MUST** - be declared as type: 'string'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_id`` **MUST** + be declared as type: ``string``. .. req:: :id: R-98374 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_id' **MUST NOT** - have parameter contraints defined. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_id`` **MUST NOT** + have parameter constraints defined. .. req:: :id: R-72871 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_id' **MUST NOT** + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_id`` **MUST NOT** be enumerated in the Heat Orchestration Template's environment file. .. req:: :id: R-86237 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_id' is passed - into a Nested YAML file, the parameter name 'vf_module_id' - **MUST NOT** change. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_id`` is passed into a + Nested YAML + file, the parameter name ``vf_module_id`` **MUST NOT** change. *Example 'vf_module_id' Parameter Definition* @@ -162,58 +183,65 @@ Template at orchestration time. vnf_name ^^^^^^^^^ -The OS::Nova::Server Resource metadata map value parameter 'vnf_name' -is the ONAP generated alphanumeric name of the deployed VNF instance. +The ``OS::Nova::Server`` Resource ``metadata`` map value parameter ``vnf_name`` +is the ONAP (SDN-C) generated alphanumeric name of the deployed VNF instance. The value is provided by ONAP to the VNF's Heat Orchestration Template at orchestration time. -The parameter must be declared as type: string - .. req:: :id: R-72483 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource **MUST** contain the metadata map value parameter - 'vnf_name'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource **MUST** + contain the ``metadata`` map value parameter ``vnf_name``. .. req:: :id: R-62428 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_name' **MUST** be - declared as type: 'string'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vnf_name`` **MUST** + be declared as type: ``string``. .. req:: :id: R-44318 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_name' **MUST NOT** have - parameter contraints defined. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vnf_name`` **MUST NOT** + have parameter constraints defined. .. req:: :id: R-36542 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_name' **MUST NOT** be - enumerated in the Heat Orchestration Template's environment file. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vnf_name`` **MUST NOT** + be enumerated in the Heat Orchestration Template's environment file. .. req:: :id: R-16576 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_name' is passed into a - Nested YAML file, the parameter name 'vnf_name' **MUST NOT** change. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vnf_name`` is passed into a Nested YAML + file, the parameter name ``vnf_name`` **MUST NOT** change. *Example 'vnf_name' Parameter Definition* @@ -228,61 +256,69 @@ The parameter must be declared as type: string vf_module_name ^^^^^^^^^^^^^^^^^^ -The OS::Nova::Server Resource metadata map value parameter 'vf_module_name' -is the deployment name of the heat stack created (e.g., <STACK_NAME>) from the +The ``OS::Nova::Server`` Resource ``metadata`` map value parameter +``vf_module_name`` +is the deployment name of the heat stack created (e.g., ``<STACK_NAME>``) +from the VNF's Heat Orchestration template -in the command 'Heat stack-create' -(e.g., 'Heat stack-create [-f <FILE>] [-e <FILE>] <STACK_NAME>'). -The 'vf_module_name' (e.g., <STACK_NAME> is specified as +in the command ``Heat stack-create`` +(e.g., ``Heat stack-create [-f <FILE>] [-e <FILE>] <STACK_NAME>``). +The ``vf_module_name`` (e.g., ``<STACK_NAME>`` is specified as part of the orchestration process. - .. req:: :id: R-68023 :target: VNF :keyword: SHOULD + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource **SHOULD** contain the metadata map value parameter - 'vf_module_name'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + **SHOULD** + contain the ``metadata`` map value parameter ``vf_module_name``. .. req:: :id: R-39067 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_name' **MUST** - be declared as type: 'string'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_name`` **MUST** + be declared as type: ``string``. .. req:: :id: R-15480 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_name' - **MUST NOT** have parameter contraints defined. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_name`` **MUST NOT** + have parameter constraints defined. .. req:: :id: R-80374 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_name' - **MUST NOT** be enumerated in the Heat Orchestration Template's - environment file. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_name`` **MUST NOT** + be enumerated in the Heat Orchestration Template's environment file. .. req:: :id: R-49177 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_name' is passed - into a Nested YAML file, the parameter name 'vf_module_name' - **MUST NOT** change. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + metadata map value parameter ``vf_module_name`` is passed into a Nested YAML + file, the parameter name ``vf_module_name`` **MUST NOT** change. *Example 'vf_module_name' Parameter Definition* @@ -297,74 +333,85 @@ part of the orchestration process. vm_role ^^^^^^^^^ -The OS::Nova::Server Resource metadata map value parameter 'vm-role' -is a metadata tag that describes the role of the Virtual Machine. -The 'vm_role' is stored in ONAP's A&AI module and is +The ``OS::Nova::Server`` Resource ``metadata`` map value parameter ``vm-role`` +is a ``metadata`` tag that describes the role of the Virtual Machine. +The ``vm_role`` is stored in ONAP’s A&AI module and is available for use by other ONAP components and/or north bound systems. - .. req:: :id: R-85328 :target: VNF :keyword: MAY + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource **MAY** contain the metadata map value parameter 'vm_role'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource **MAY** + contain the ``metadata`` map value parameter ``vm_role``. .. req:: :id: R-95430 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vm_role' **MUST** be - declared as type: 'string'. + A VNF's Heat Orchestration Template's OS::Nova::Server Resource + ``metadata`` map value parameter ``vm_role`` **MUST** + be declared as type: ``string``. .. req:: :id: R-67597 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vm_role' **MUST NOT** have - parameter contraints defined. - + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vm_role`` **MUST NOT** + have parameter constraints defined. .. req:: :id: R-46823 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vnf_name' **MUST** be - either + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vm_role`` **MUST** + be either + + * enumerated in the VNF's Heat Orchestration Template's environment + file. - - enumerated in the VNF's Heat Orchestration - Template's environment file. + * hard coded in the VNF's + Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` property. - - hard coded in the VNF's Heat Orchestration - Template's OS::Nova::Resource metadata property. -Defining the 'vm_role' as the '{vm-type}' is a recommended convention +Defining the ``vm_role`` as the ``{vm-type}`` is a recommended convention .. req:: :id: R-86476 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vm_role' value **MUST** only - contain alphanumeric characters and underscores '_'. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vm_role`` value **MUST** + only contain alphanumeric characters and underscores '_'. .. req:: :id: R-70757 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vm_role' is passed into a - Nested YAML file, the parameter name 'vm_role' **MUST NOT** change. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vm_role`` is passed into a Nested YAML + file, the parameter name ``vm_role`` **MUST NOT** change. *Example 'vm_role' Parameter Definition* @@ -407,10 +454,10 @@ and retrieved via 'get_param'* Example vnf_id, vf_module_id, vnf_name, vf_module_name, vm_role ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The example below depicts part of a Heat Orchestration Template -that uses the five of the OS::Nova::Server metadata parameter -discussed in this section. The {vm-type} has been defined as lb -for load balancer. +The example below depicts part of a Heat Orchestration Template that +uses the five of the ``OS::Nova::Server`` resource +``metadata`` map value parameters discussed in this +section. The ``{vm-type}`` has been defined as ``lb`` for load balancer. .. code-block:: yaml @@ -454,81 +501,92 @@ vf_module_index :id: R-50816 :target: VNF :keyword: MAY + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource **MAY** contain the metadata map value parameter - 'vf_module_index'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server Resource`` **MAY** + contain the metadata map value parameter ``vf_module_index``. .. req:: :id: R-54340 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_index' **MUST** be - declared as type: 'number'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_index`` **MUST** + be declared as type: ``number``. .. req:: :id: R-09811 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_index' **MUST NOT** - have parameter contraints defined. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_index`` **MUST NOT** + have parameter constraints defined. .. req:: :id: R-37039 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_index' **MUST NOT** + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_index`` **MUST NOT** be enumerated in the Heat Orchestration Template's environment file. .. req:: :id: R-22441 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf\_module\_index' is passed - into a Nested YAML file, the parameter name 'vf\_module\_index' - **MUST NOT** change. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_index`` is passed into a + Nested YAML + file, the parameter name ``vf_module_index`` **MUST NOT** change. .. req:: :id: R-55306 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'vf_module_index' **MUST NOT** be - used in a VNF's Volume Template; it is not supported. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``vf_module_index`` **MUST NOT** + be used in a + VNF's Volume Template; it is not supported. -The vf_module_index parameter indicates which instance of the module is being -deployed into the VNF. +The ``vf_module_index`` parameter indicates which instance of the module is +being deployed into the VNF. This parameter may be used in cases where multiple instances of the same incremental module may be instantiated for scaling purposes. The index can be used in the Heat Orchestration Template for indexing into a pseudo-constant array parameter when unique values are required for each module instance, e.g., for fixed private IP addresses on VM types. -The vf_module_index will start at 0 for the first instance of a module +The ``vf_module_index`` will start at 0 for the first instance of a module type. Subsequent instances of the same module type will receive the lowest unused index. This means that indexes will be reused if a module is deleted and re-added. As an example, if three copies of a module are -deployed with vf_module_index values of 0, 1, and 2 then subsequently +deployed with ``vf_module_index`` values of 0, 1, and 2 then subsequently the second one is deleted (index 1), and then re-added, index 1 will be reused. *Example* -In this example, the {vm-type} has been defined as oam_vm to represent +In this example, the ``{vm-type}`` has been defined as ``oam_vm`` to represent an OAM VM. An incremental heat module is used to deploy the OAM VM. The OAM VM attaches to an internal control network which has a -{network-role} of ctrl. A maximum of four OAM VMs can be deployed. The +``{network-role}`` of ``ctrl``. A maximum of four OAM VMs can be deployed. The environment file contains the four IP addresses that each successive OAM -VM will be assigned. The vf_module_index is used as the index to +VM will be assigned. The ``vf_module_index`` is used as the index to determine the IP assignment. Environment File @@ -542,37 +600,35 @@ YAML File .. code-block:: yaml - parameters: - vf_module_index: - type: number - description: Unique index for this VNF Module instance - oam_vm_name_0: - type: string - description: VM Name for lb VM 0 - int_ctrl_net_id: - type: string - description: Neutron UUID for the internal control network - oam_vm_int_ctrl_ips: - type: comma_delimited_list - description: Fixed IP assignments for oam VMs on the internal control - network - resources: - oam_vm_server_0: - type: OS::Nova::Server - properties: - name: { get_param: oam_vm_name_0 } - networks: - port: { get_resource: oam_vm_0_int_ctrl_port_0 } - - . . . - - metadata: - vf_module_index: { get_param: vf_module_index } - oam_vm_0_int_ctrl_port_0: - type: OS::Neutron::Port - properties: - network: { get_param: int_ctrl_net_id } - fixed_ips: [ { "ip_address": {get_param: [ oam_vm_int_ctrl_ips, { get_param, vf_module_index}]}}] + parameters: + vf_module_index: + type: number + description: Unique index for this VNF Module instance + oam_vm_name_0: + type: string + description: VM Name for lb VM 0 + int_ctrl_net_id: + type: string + description: Neutron UUID for the internal control network + oam_vm_int_ctrl_ips: + type: comma_delimited_list + description: Fixed IP assignments for oam VMs on the internal control + network + resources: + oam_vm_server_0: + type: OS::Nova::Server + properties: + name: { get_param: oam_vm_name_0 } + networks: + - port: { get_resource: oam_vm_0_int_ctrl_port_0 } + # . . . + metadata: + vf_module_index: { get_param: vf_module_index } + oam_vm_0_int_ctrl_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: int_ctrl_net_id } + fixed_ips: [ { "ip_address": {get_param: [ oam_vm_int_ctrl_ips, { get_param: vf_module_index} ]}}] workload_context ^^^^^^^^^^^^^^^^^^^^^ @@ -581,6 +637,7 @@ workload_context :id: R-47061 :target: VNF :keyword: SHOULD + :updated: casablanca A VNF's Heat Orchestration Template's OS::Nova::Server Resource **SHOULD** contain the metadata map value parameter @@ -590,38 +647,46 @@ workload_context :id: R-74978 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'workload_context' **MUST** be - declared as type: 'string'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``workload_context`` **MUST** + be declared as type: ``string``. .. req:: :id: R-34055 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'workload_context' **MUST NOT** - have parameter contraints defined. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``workload_context`` **MUST NOT** + have parameter constraints defined. .. req:: :id: R-02691 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'workload_context' **MUST NOT** + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``workload_context`` **MUST NOT** be enumerated in the Heat Orchestration Template's environment file. .. req:: :id: R-75202 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'workload_context' is passed - into a Nested YAML file, the parameter name 'workload_context' - **MUST NOT** change. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``workload_context`` is passed into a + Nested YAML + file, the parameter name ``workload_context`` **MUST NOT** change. The 'workload\_context' parameter value will be chosen by the Service Model Distribution context client in VID and will be supplied to the @@ -665,6 +730,7 @@ environment_context :id: R-88536 :target: VNF :keyword: SHOULD + :updated: casablanca A VNF's Heat Orchestration Template's OS::Nova::Server Resource **SHOULD** contain the metadata map value parameter @@ -674,38 +740,46 @@ environment_context :id: R-20308 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'environment_context' **MUST** - be declared as type: 'string'. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``environment_context`` **MUST** + be declared as type: ``string``. .. req:: :id: R-56183 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'environment_context' **MUST NOT** - have parameter contraints defined. + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``environment_context`` **MUST NOT** + have parameter constraints defined. .. req:: :id: R-13194 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'environment_context' **MUST NOT** + A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource + ``metadata`` map value parameter ``environment_context`` **MUST NOT** be enumerated in the Heat Orchestration Template's environment file. .. req:: :id: R-62954 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template's OS::Nova::Server - Resource metadata map value parameter 'environment_context' is - passed into a Nested YAML file, the parameter name - 'environment_context' **MUST NOT** change. + If a VNF's Heat Orchestration Template's ``OS::Nova::Server Resource`` + ``metadata`` map value parameter ``environment_context`` is passed into a + Nested YAML + file, the parameter name ``environment_context`` **MUST NOT** change. The 'environment_context' parameter value will be defined by the service designer as part of the service model during the SDC 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 31e66b8..6c890a5 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 @@ -6,31 +6,31 @@ Resource: OS::Nova::Server - Parameters ----------------------------------------------------------------------- -The resource OS::Nova::Server manages the running virtual machine (VM) -instance within an OpenStack cloud. +The OS::Nova::Server resource manages the running virtual machine (VM) +instance within an OpenStack cloud. (See +https://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Nova::Server.) -(See https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Nova::Server.) +The following four properties of the ``OS::Nova::Server`` +resource must follow an +ONAP specified naming convention. -The following four properties of the OS::Nova::Server must follow -the ONAP parameter naming convention. The four properties are: +1. ``image`` -1. image +2. ``flavor`` -2. flavor +3. ``name`` -3. name +4. ``availability_zone`` -4. availability_zone +Requirement R-01455 defines how the ``{vm-type]`` is defined. -Requirement :need:`R-01455` defines how the '{vm-type}' is defined. - -Requirement :need:`R-82481` defines how the '{vm-type}' is used. +Requirement R-82481 defines how the ``{vm-type}`` is used. The table below provides a summary. The sections that follow provides the detailed requirements. -.. csv-table:: **Table 4 OS::Nova::Server Resource Property Parameter Naming Convention** - :header: Property Name,Parameter Type,Parameter Name,Parameter Value Provided to Heat +.. csv-table:: **Table 1 OS::Nova::Server Resource Property Parameter Naming Convention** + :header: Resource,Property,Parameter Type,Parameter Name,Parameter Value Provided to Heat :align: center :widths: auto @@ -50,38 +50,47 @@ Property: image :id: R-71152 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'image' parameter **MUST** be declared as - type: 'string'. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``image`` parameter **MUST** be declared as type: ``string``. .. req:: :id: R-58670 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'image' parameter name **MUST** follow the - naming convention '{vm-type}_image_name'. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``image`` parameter name **MUST** follow the naming convention + ``{vm-type}_image_name``. .. req:: :id: R-91125 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'image' parameter **MUST** be enumerated in - the Heat Orchestration Template's Environment File and a value **MUST** be - assigned. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``image`` parameter **MUST** be enumerated in the Heat Orchestration + Template's Environment File and a value **MUST** be assigned. .. req:: :id: R-57282 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - Each VNF's Heat Orchestration Template's '{vm-type}' - **MUST** have a unique parameter name for the 'OS::Nova::Server' - property 'image' even if more than one {vm-type} shares the same image. + Each VNF's Heat Orchestration Template's ``{vm-type}`` **MUST** + have a unique parameter name for the ``OS::Nova::Server`` property + ``image`` even if more than one ``{vm-type}`` shares the same image. *Example Parameter Definition* @@ -102,38 +111,46 @@ Property: flavor :id: R-50436 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'flavor' parameter **MUST** be declared as - type: 'string'. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``flavor`` parameter **MUST** be declared as type: ``string``. .. req:: :id: R-45188 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'flavor' parameter name **MUST** follow the - naming convention '{vm-type}_flavor_name'. + The VNF's Heat Orchestration Template's Resource 'OS::Nova::Server' property + ``flavor`` parameter name **MUST** follow the naming convention + ``{vm-type}_flavor_name``. .. req:: :id: R-69431 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'flavor' parameter **MUST** be enumerated in the - Heat Orchestration Template's Environment File and a value **MUST** be - assigned. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``flavor`` parameter **MUST** be enumerated in the Heat Orchestration + Template's Environment File and a value **MUST** be assigned. .. req:: :id: R-40499 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - Each VNF's Heat Orchestration Template's '{vm-type}' **MUST** - have a unique parameter name for the 'OS::Nova::Server' property - 'flavor' even if more than one {vm-type} shares the same flavor. + Each VNF's Heat Orchestration Template's ``{vm-type}`` **MUST** + have a unique parameter name for the ``OS::Nova::Server`` property + ``flavor`` even if more than one ``{vm-type}`` shares the same flavor. *Example Parameter Definition* @@ -152,64 +169,79 @@ Property: Name :id: R-51430 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'name' parameter **MUST** be declared as - either type 'string' or type 'comma\_delimited\_list". + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``name`` parameter **MUST** be declared as either type ``string`` + or type ``comma_delimited_list``. .. req:: :id: R-54171 :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', + When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property ``name`` parameter is defined as a ``string``, the parameter name **MUST** follow the naming convention - '{vm-type}\_name\_{index}', where {index} is a numeric value that starts - at zero and increments by one. + ``{vm-type}_name_{index}``, where ``{index}`` is a numeric + 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 declared for each 'OS::Nova::Server' resource - associated with the '{vm-type}'. + 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 :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', the parameter name **MUST** follow the naming - convention '{vm-type}_names'. + When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property ``name`` parameter is defined as a ``comma_delimited_list``, + 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}'. + 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 :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'name' parameter **MUST NOT** be enumerated - in the Heat Orchestration Template's Environment File. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``name`` parameter **MUST NOT** be enumerated in the Heat Orchestration + Template's Environment File. If a VNF's Heat Orchestration Template's contains more than three -OS::Nova::Server resources of a given {vm-type}, the comma\_delimited\_list -form of the parameter name (i.e., '{vm-type}\_names') should be used to +OS::Nova::Server resources of a given ``{vm-type}``, the comma_delimited_list +form of the parameter name (i.e., ``{vm-type}_names``) should be used to minimize the number of unique parameters defined in the template. @@ -290,16 +322,15 @@ Contrail Issue with Values for OS::Nova::Server Property Name :id: R-44271 :target: VNF :keyword: SHOULD NOT + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'name' parameter value **SHOULD NOT** - contain special characters since the Contrail GUI has a limitation - displaying special characters. - -However, if special characters must be used, the only special characters -supported are: + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``name`` parameter value **SHOULD NOT** contain special characters + since the Contrail GUI has a limitation displaying special characters. --- \" ! $ ' (\ \ ) = ~ ^ | @ ` { } [ ] > , . _ + However, if special characters must be used, the only special characters + supported are: --- \" ! $ ' (\ \ ) = ~ ^ | @ ` { } [ ] > , . _ Property: availability_zone @@ -310,33 +341,42 @@ Property: availability_zone :id: R-98450 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'availability\_zone' parameter name - **MUST** follow the naming convention 'availability\_zone\_{index}' - where the '{index}' **MUST** start at zero and increment by one. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``availability_zone`` parameter name **MUST** follow the naming convention + ``availability_zone_{index}`` where the ``{index}`` + **MUST** start at zero and + increment by one. .. req:: :id: R-23311 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'availability_zone' parameter **MUST** - be declared as type: 'string'. - -The parameter must not be declared as type 'comma\_delimited\_list', -ONAP does not support it. + ``OS::Nova::Server`` property + ``availability_zone`` parameter **MUST** be declared as type: ``string``. +The parameter must not be declared as type ``comma_delimited_list``, ONAP does +not support it. .. req:: :id: R-59568 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - The VNF's Heat Orchestration Template's Resource - 'OS::Nova::Server' property 'availability_zone' parameter **MUST NOT** - be enumerated in the Heat Orchestration Template's Environment File. + The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` + property + ``availability_zone`` parameter **MUST NOT** be enumerated in the Heat + Orchestration + Template's Environment File. Example Parameter Definition @@ -356,23 +396,25 @@ for the OS::Nova::Server resource property availability_zone. :id: R-01359 :target: VNF :keyword: MAY + :updated: casablanca - A VNF's Heat Orchstration Template that contains an - 'OS::Nova:Server' Resource **MAY** define a parameter for the property - 'availability_zone' that is not utilized in any 'OS::Nova::Server' + A VNF's Heat Orchestration Template that contains an ``OS::Nova:Server`` + Resource **MAY** define a parameter for the property + ``availability_zone`` that is not utilized in any ``OS::Nova::Server`` resources in the Heat Orchestration Template. Example ^^^^^^^^^^^ The example below depicts part of a Heat Orchestration Template that -uses the four OS::Nova::Server properties discussed in this section. +uses the four ``OS::Nova::Server`` properties discussed in this section. -In the Heat Orchestration Template below, four Virtual -Machines (OS::Nova::Server) are created: two dns servers with -{vm-type} set to "dns" and two oam servers with {vm-type} set to "oam". -Note that the parameter associated with the property name is a -comma_delimited_list for dns and a string for oam. +In the Heat Orchestration Template below, four Virtual Machines +(``OS::Nova::Server``) are created: two dns servers with ``{vm-type}`` set to +``dns`` and two oam servers with ``{vm-type}`` set to ``oam``. +Note that the parameter +associated with the property name is a ``comma_delimited_list`` for ``dns`` and +a string for ``oam``. .. code-block:: yaml @@ -464,19 +506,22 @@ Boot Options :id: R-99798 :target: VNF :keyword: MAY + :updated: casablanca A VNF's Heat Orchestration Template's Virtual Machine - (i.e., OS::Nova::Server Resource) **MAY** boot from an image or **MAY** - boot from a Cinder Volume. + (i.e., ``OS::Nova::Server`` resource) **MAY** boot from an image or + **MAY** boot from a Cinder Volume. .. req:: :id: R-83706 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When a VNF's Heat Orchestration Template's Virtual Machine - (i.e., 'OS::Nova::Server' Resource) boots from an image, the - 'OS::Nova::Server' resource property 'image' **MUST** be used. + (i.e., ``OS::Nova::Server`` resource) boots from an image, the + ``OS::Nova::Server`` resource property ``image`` **MUST** be used. The requirements associated with the 'image' property are detailed in `Property: image`_ @@ -486,11 +531,14 @@ the 'image' property are detailed in `Property: image`_ :id: R-69588 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When a VNF's Heat Orchestration Template's Virtual Machine - (i.e., 'OS::Nova::Server' Resource) boots from Cinder Volume, the - 'OS::Nova::Server' resource property 'block_device_mapping' or - 'block_device_mapping_v2' **MUST** be used. + (i.e., ``OS::Nova::Server`` Resource) boots from Cinder Volume, the + ``OS::Nova::Server`` resource property + ``block_device_mapping`` or ``block_device_mapping_v2`` + **MUST** be used. There are currently no heat guidelines associated with these two properties: diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst index d2330a6..48596ec 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst @@ -20,13 +20,11 @@ convention. :id: R-97726 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Base Module Output - Parameter names **MUST** contain {vm-type} and/or {network-role} - when appropriate. + A VNF's Heat Orchestration Template's Base Module Output Parameter names + **MUST** contain ``{vm-type}`` and/or ``{network-role}`` when appropriate. ONAP Volume Template Output Parameters: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -35,12 +33,12 @@ ONAP Volume Template Output Parameters: :id: R-88524 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Volume Template - Output Parameter names **MUST** contain {vm-type} when appropriate. + Output Parameter names + **MUST** contain ``{vm-type}`` when appropriate. Predefined Output Parameters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -64,43 +62,38 @@ or may be a single IP address assigned to one VM. :id: R-47874 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca A VNF **MAY** have - - * Only an IPv4 OAM Management IP Address - * Only an IPv6 OAM Management IP Address - * Both a IPv4 and IPv6 OAM Management IP Addresses + * Only an IPv4 OAM Management IP Address + * Only an IPv6 OAM Management IP Address + * Both a IPv4 and IPv6 OAM Management IP Addresses .. req:: :id: R-18683 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF has one IPv4 OAM Management IP Address and the IP Address needs to be inventoried in ONAP's A&AI database, an output parameter **MUST** be declared in only one of the VNF's Heat Orchestration Templates and the parameter **MUST** be named - 'oam_management_v4_address'. + ``oam_management_v4_address``. .. req:: :id: R-94669 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If a VNF has one IPv6 OAM Management IP Address and the - IP Address needs to be inventoried in ONAP's AAI + IP Address needs to be inventoried in ONAP's A&AI database, an output parameter **MUST** be declared in only one of the VNF's Heat Orchestration Templates and the parameter **MUST** be named - 'oam_management_v6_address'. + ``oam_management_v6_address``. The OAM Management IP Address maybe assigned either via * ONAP SDN-C @@ -110,25 +103,25 @@ The OAM Management IP Address maybe assigned either via :id: R-56287 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca If the VNF's OAM Management IP Address is assigned by ONAP SDN-C and assigned in the VNF's Heat Orchestration Template's via a heat resource - 'OS::Neutron::Port' property 'fixed_ips' map property - 'ip_adress' parameter (e.g., '{vm-type}_{network-role}_ip_{index}', - '{vm-type}_{network-role}_v6_ip_{index}') - and the OAM IP Address is required to be inventoried in ONAP AAI, + ``OS::Neutron::Port`` property ``fixed_ips`` map property + ``ip_adress`` parameter (e.g., ``{vm-type}_{network-role}_ip_{index}``, + ``{vm-type}_{network-role}_v6_ip_{index}``) + and the OAM IP Address is required to be inventoried in ONAP A&AI, then the parameter **MUST** be echoed in an output statement. -.. code-block:: yaml + .. code-block:: yaml + + outputs: + oam_management_v4_address: + value: {get_param: {vm-type}_{network-role}_ip_{index} } + oam_management_v6_address: + value: {get_param: {vm-type}_{network-role}_v6_ip_{index} } - outputs: - oam_management_v4_address: - value: {get_param: {vm-type}_{network-role}_ip_{index} } - oam_management_v6_address: - value: {get_param: {vm-type}_{network-role}_v6_ip_{index} } *Example: ONAP SDN-C Assigned IP Address echoed as oam_management_v4_address* @@ -169,19 +162,18 @@ oam_management_v4_address* oam_management_v4_address: value: {get_param: admin_oam_ip_0 } - .. req:: :id: R-48987 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found - - If the VNF's OAM Management IP Address is Cloud assigned and - and the OAM IP Address is required to be inventoried in ONAP AAI, - then the parameter **MUST** be obtained by the resource 'OS::Neutron::Port' - attribute 'ip_address'. + :validation_mode: static + :updated: casablanca + + If the VNF's OAM Management IP Address is cloud assigned and + and the OAM IP Address is required to be inventoried in ONAP A&AI, + then the parameter **MUST** be obtained by the + resource ``OS::Neutron::Port`` + attribute ``ip_address``. .. code-block:: yaml diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst index e9635aa..9c6e3ab 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource IDs.rst @@ -3,15 +3,15 @@ .. Copyright 2017 AT&T Intellectual Property. All rights reserved. Resource IDs -------------------------------- +------------ -Requirement R-75141 states a VNF's Heat Orchestration Template's -resource name (i.e., <resource ID>) MUST only contain alphanumeric -characters and underscores ('_').* +Requirement R-75141 states a VNF’s Heat Orchestration Template’s resource +name (i.e., <resource ID>) MUST only contain alphanumeric characters and +underscores (‘_’).* -Requirement R-16447 states a VNF's <resource ID> MUST be unique -across all Heat Orchestration Templates and all HEAT Orchestration -Template Nested YAML files that are used to create the VNF. +Requirement R-16447 states a VNF’s <resource ID> MUST be unique across +all Heat Orchestration Templates and all HEAT Orchestration Template Nested +YAML files that are used to create the VNF. As stated previously, OpenStack requires the <resource ID> to be unique to the Heat Orchestration Template and not unique across all Heat @@ -23,14 +23,19 @@ Heat Orchestration Template resources are described in :ref:`resources`. :id: R-54517 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When a VNF's Heat Orchestration Template's resource is associated - with a single '{vm-type}', the Resource ID **MUST** contain the '{vm-type}'. + When a VNF's Heat Orchestration Template's resource is associated with + a single ``{vm-type}``, the Resource ID **MUST** contain the + ``{vm-type}``. .. req:: :id: R-96482 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca When a VNF's Heat Orchestration Template's resource is associated with a single external network, the Resource ID **MUST** contain the text @@ -40,75 +45,92 @@ Heat Orchestration Template resources are described in :ref:`resources`. :id: R-98138 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When a VNF's Heat Orchestration Template's resource is associated - with a single internal network, the Resource ID **MUST** contain the text - 'int\_{network-role}'. + When a VNF's Heat Orchestration Template's resource is associated with a + single internal network, the Resource ID **MUST** contain the text + ``int_{network-role}``. .. req:: :id: R-82115 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca + + When a VNF's Heat Orchestration Template's resource is associated with a + single ``{vm-type}`` + and a single external network, the Resource ID text **MUST** contain both + the ``{vm-type}`` + and the ``{network-role}`` + + - the ``{vm-type}`` **MUST** appear before the ``{network-role}`` and + **MUST** be separated by an underscore '_' - When a VNF's Heat Orchestration Template's resource is associated - with a single '{vm-type}' and a single external network, the Resource - ID text **MUST** contain both the '{vm-type}' and the '{network-role}' - - the '{vm-type}' **MUST** appear before the '{network-role}' and **MUST** - be separated by an underscore '_' + - e.g., ``{vm-type}_{network-role}``, ``{vm-type}_{index}_{network-role}`` - - e.g.,'{vm-type}\_{network-role}', '{vm-type}\_{index}\_{network-role}' - - note that an '{index}' value **MAY** separate the '{vm-type}' and the - '{network-role}' and when this occurs underscores **MUST** separate the - three values. + - note that an ``{index}`` value **MAY** separate the ``{vm-type}`` and the + ``{network-role}`` and when this occurs underscores **MUST** separate the + three values. (e.g., ``{vm-type}_{index}_{network-role}``). .. req:: :id: R-82551 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When a VNF's Heat Orchestration Template's resource is associated - with a single '{vm-type}' and a single internal network, the Resource ID - **MUST** contain both the '{vm-type}' and the 'int\_{network-role}' and + When a VNF's Heat Orchestration Template's resource is associated with a + single ``{vm-type}`` and a single internal network, the Resource ID **MUST** + contain both the ``{vm-type}`` and the ``int_{network-role}`` and - - the '{vm-type}' **MUST** appear before the 'int\_{network-role}' and + - the ``{vm-type}`` **MUST** appear before the ``int_{network-role}`` and **MUST** be separated by an underscore '_' - - e.g.,'{vm-type}\_int\_{network-role}', '{vm-type}_{index}\_int\_{network-role}' + - (e.g., ``{vm-type}_int_{network-role}``, + ``{vm-type}_{index}_int_{network-role}``) - - note that an '{index}' value **MAY** separate the '{vm-type}' and the - 'int\_{network-role}' and when this occurs underscores **MUST** separate - the three values. + - note that an ``{index}`` value **MAY** separate the + ``{vm-type}`` and the ``int_{network-role}`` and when this occurs + underscores **MUST** separate the three values. + (e.g., ``{vm-type}_{index}_int_{network-role}``). .. req:: :id: R-67793 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca When a VNF's Heat Orchestration Template's resource is associated - with more than one '{vm-type}' and/or more than one internal and/or - external network, the Resource ID **MUST NOT** contain the '{vm-type}' - and/or '{network-role}'/'int\_{network-role}'. It also should contain the - term 'shared' and/or contain text that identifies the VNF. + with more than one ``{vm-type}`` and/or more than one internal and/or + external network, the Resource ID **MUST** not contain the ``{vm-type}`` + and/or ``{network-role}``/``int_{network-role}``. It also should contain the + term ``shared`` and/or contain text that identifies the VNF. .. req:: :id: R-27970 :target: VNF :keyword: MAY + :updated: casablanca - When a VNF's Heat Orchestration Template's resource is associated - with more than one '{vm-type}' and/or more than one internal and/or - external network, the Resource ID **MAY** contain the term 'shared' - and/or **MAY** contain text that identifies the VNF. + When a VNF's Heat Orchestration Template's resource is associated with + more than one ``{vm-type}`` and/or more than one internal and/or external + network, the Resource ID **MAY** contain the term ``shared`` and/or **MAY** + contain text that identifies the VNF. .. req:: :id: R-11690 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When a VNF's Heat Orchestration Template's Resource ID contains - an {index} value (e.g. multiple VMs of same {vm-type}), the '{index}' + When a VNF's Heat Orchestration Template's Resource ID contains an + ``{index}`` value (e.g. multiple VMs of same ``{vm-type}``), the ``{index}`` **MUST** start at zero and increment by one. OpenStack Heat Resources Resource ID Naming Convention @@ -125,19 +147,20 @@ OS::Cinder::Volume :id: R-87004 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca A VNF's Heat Orchestration Template's Resource - OS::Cinder::Volume Resource ID **SHOULD** use the naming convention + ``OS::Cinder::Volume`` + Resource ID + **SHOULD** + use the naming convention - * {vm-type}_volume_{index} + * ``{vm-type}_volume_{index}`` where - * {vm-type} is the vm-type - * {index} starts at zero and increments by one + * ``{vm-type}`` is the vm-type + * ``{index}`` starts at zero and increments by one OS::Cinder::VolumeAttachment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -146,19 +169,20 @@ OS::Cinder::VolumeAttachment :id: R-86497 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca A VNF's Heat Orchestration Template's Resource - OS::Cinder::VolumeAttachment Resource ID **SHOULD** use the naming convention + ``OS::Cinder::VolumeAttachment`` + Resource ID + **SHOULD** + use the naming convention - * {vm-type}_volume_attachment_{index} + * ``{vm-type}_volume_attachment_{index}`` where - * {vm-type} is the vm-type - * {index} starts at zero and increments by one + * ``{vm-type}`` is the vm-type + * ``{index}`` starts at zero and increments by one OS::Heat::CloudConfig ~~~~~~~~~~~~~~~~~~~~~~~ @@ -167,30 +191,27 @@ OS::Heat::CloudConfig :id: R-04747 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::Heat::CloudConfig' Resource ID **MUST** contain the '{vm-type}'. + A VNF's Heat Orchestration Template's Resource ``OS::Heat::CloudConfig`` + Resource ID **MUST** contain the ``{vm-type}``. .. req:: :id: R-20319 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource 'OS::Heat::CloudConfig' + A VNF's Heat Orchestration Template's Resource ``OS::Heat::CloudConfig`` Resource ID **MAY** use the naming convention - * {vm-type}_RCC + * ``{vm-type}_RCC`` where - * {vm-type} is the vm-type - * 'RCC' signifies that it is the Resource Cloud Config + * ``{vm-type}`` is the vm-type + * ``RCC`` signifies that it is the Resource Cloud Config OS::Heat::MultipartMime ~~~~~~~~~~~~~~~~~~~~~~~ @@ -200,30 +221,33 @@ OS::Heat::MultipartMime :id: R-30804 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - 'OS::Heat::MultipartMime' Resource ID **MUST** contain the '{vm-type}'. + ``OS::Heat::MultipartMime`` + Resource ID + **MUST** + contain the ``{vm-type}``. .. req:: :id: R-18202 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca A VNF's Heat Orchestration Template's Resource - 'OS::Heat::MultipartMime' Resource ID **MAY** use the naming convention + ``OS::Heat::MultipartMime`` + Resource ID + **MAY** + use the naming convention - * {vm-type}_RMM + * ``{vm-type}_RMM`` where - * {vm-type} is the vm-type - * 'RMM' signifies that it is the Resource Multipart Mime + * ``{vm-type}`` is the vm-type + * ``RMM`` signifies that it is the Resource Multipart Mime OS::Heat::ResourceGroup ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -235,24 +259,22 @@ that is is creating sub-interfaces. :id: R-64197 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Heat::ResourceGroup Resource ID that creates sub-interfaces **MUST** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Heat::ResourceGroup`` + Resource ID that creates sub-interfaces **MUST** use the naming convention - * {vm-type}_{vm-type_index}_subint_{network-role}_port_{port-index}_subinterfaces + * ``{vm-type}_{vm-type_index}_subint_{network-role}_port_{port-index}_subinterfaces`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the networks - that the sub-interfaces attach to - * {port-index} is the instance of the the port on the vm-type - attached to the network of {network-role} + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the networks + that the sub-interfaces attach to + * ``{port-index}`` is the instance of the the port on the vm-type + attached to the network of ``{network-role}`` OS::Heat::SoftwareConfig ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -261,30 +283,27 @@ OS::Heat::SoftwareConfig :id: R-08975 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::Heat::SoftwareConfig' Resource ID **MUST** contain the '{vm-type}'. + A VNF's Heat Orchestration Template's Resource ``OS::Heat::SoftwareConfig`` + Resource ID **MUST** contain the ``{vm-type}``. .. req:: :id: R-03656 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::Heat::SoftwareConfig' Resource ID **MAY** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Heat::SoftwareConfig`` + Resource ID **MAY** use the naming convention - * {vm-type}_RSC + * ``{vm-type}_RSC`` where - * {vm-type} is the vm-type - * 'RSC' signifies that it is the Resource Software Config + * ``{vm-type}`` is the vm-type + * ``RSC`` signifies that it is the Resource Software Config OS::Neutron::Net ~~~~~~~~~~~~~~~~ @@ -293,19 +312,18 @@ OS::Neutron::Net :id: R-25720 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::Net Resource ID **MUST** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Net`` + Resource ID **MUST** use the naming convention - * int_{network-role}_network + * ``int_{network-role}_network`` -VNF Heat Orchestration Templates can only create internal networks. -There is no {index} after {network-role} because {network-role} -**MUST** be unique in the scope of the VNF's -Heat Orchestration Template. + VNF Heat Orchestration Templates can only create internal networks. + There is no ``{index}`` after ``{network-role}`` because ``{network-role}`` + **MUST** be unique in the scope of the VNF's + Heat Orchestration Template. OS::Neutron::Port ~~~~~~~~~~~~~~~~~~ @@ -315,91 +333,87 @@ OS::Neutron::Port :id: R-20453 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::Port that is attaching to an external network Resource ID + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` + that is attaching to an external network Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_{network-role}_port_{port-index} + * ``{vm-type}_{vm-type_index}_{network-role}_port_{port-index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port is attached to - * {port-index} is the instance of the the port on the vm-type - attached to the network of {network-role} + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{port-index}`` is the instance of the the port on the vm-type + attached to the network of ``{network-role}`` .. req:: :id: R-26351 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::Port that is attaching to an internal network Resource ID - **MUST** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` + that is attaching to an internal network Resource ID **MUST** + use the naming convention - * {vm-type}_{vm-type_index}_int_{network-role}_port_{port-index} + * ``{vm-type}_{vm-type_index}_int_{network-role}_port_{port-index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port is attached to - * {port-index} is the instance of the the port on the vm-type - attached to the network of {network-role} + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{port-index}`` is the instance of the the port on the vm-type + attached to the network of ``{network-role}`` .. req:: :id: R-27469 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::Port that is creating a *Reserve Port* with an IPv4 address - Resource ID **MUST** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` + that is creating a *Reserve Port* with an IPv4 address Resource ID **MUST** + use the naming convention - * reserve_port_{vm-type}_{network-role}_floating_ip_{index} + * ``reserve_port_{vm-type}_{network-role}_floating_ip_{index}`` where - * {vm-type} is the vm-type - * {network-role} is the network-role of the network - that the port is attached to - * {index} is the instance of the IPv4 *Reserve Port* - for the vm-type attached to the network of {network-role} + * ``{vm-type}`` is the vm-type + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{index}`` is the instance of the IPv4 *Reserve Port* + for the vm-type attached to the network of ``{network-role}`` .. req:: :id: R-68520 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource OS::Neutron::Port - that is creating a *Reserve Port* with an IPv6 address Resource ID - **MUST** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` + that is creating a *Reserve Port* with an IPv6 address Resource ID **MUST** + use the naming convention - * reserve_port_{vm-type}_{network-role}_floating_v6_ip_{index} + * ``reserve_port_{vm-type}_{network-role}_floating_v6_ip_{index}`` where - * {vm-type} is the vm-type - * {network-role} is the network-role of the network - that the port is attached to - * {index} is the instance of the IPv6 *Reserve Port* - for the vm-type attached to the network of {network-role} + * ``{vm-type}`` is the vm-type + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{index}`` is the instance of the IPv6 *Reserve Port* + for the vm-type attached to the network of ``{network-role}`` OS::Neutron::SecurityGroup ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -408,180 +422,158 @@ OS::Neutron::SecurityGroup :id: R-08775 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::SecurityGroup that is applicable to one {vm-type} and - more than one network (internal and/or external) Resource ID - **SHOULD** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` + that is applicable to one ``{vm-type}`` and more than one network (internal + and/or external) Resource ID **SHOULD** use the naming convention - * {vm-type}_security_group + * ``{vm-type}_security_group`` where - * {vm-type} is the vm-type + * ``{vm-type}`` is the vm-type .. req:: :id: R-03595 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::SecurityGroup that is applicable to more than - one {vm-type} and one external network Resource ID **SHOULD** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that + is applicable to more than one ``{vm-type}`` and one external network Resource ID + **SHOULD** use the naming convention - * {network-role}_security_group + * ``{network-role}_security_group`` where - * {network-role} is the network-role + * ``{network-role}`` is the network-role .. req:: :id: R-73213 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::SecurityGroup that is applicable to more than - one {vm-type} and one internal network Resource ID **SHOULD** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that + is applicable to more than one ``{vm-type}`` and one internal network Resource ID + **SHOULD** use the naming convention - * int_{network-role}_security_group + * ``int_{network-role}_security_group`` where - * {network-role} is the network-role + * ``{network-role}`` is the network-role .. req:: :id: R-17334 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::SecurityGroup that is applicable to one {vm-type} - and one external network Resource ID **SHOULD** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` + that is applicable to one ``{vm-type}`` and one external network Resource ID + **SHOULD** use the naming convention - * {vm-type}_{network-role}_security_group + * ``{vm-type}_{network-role}_security_group`` where - * {vm-type} is the vm-type - * {network-role} is the network-role + * ``{vm-type}`` is the vm-type + * ``{network-role}`` is the network-role .. req:: :id: R-14198 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::SecurityGroup that is applicable to one {vm-type} - and one internal network Resource ID **SHOULD** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that + is applicable to one {vm-type} and one internal network Resource ID **SHOULD** + use the naming convention - * {vm-type}_int_{network-role}_security_group + * ``{vm-type}_int_{network-role}_security_group`` where - * {vm-type} is the vm-type - * {network-role} is the network-role + * ``{vm-type}`` is the vm-type + * ``{network-role}`` is the network-role .. req:: :id: R-30005 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::SecurityGroup that is applicable to more than one - {vm-type} and more than one network (internal and/or external) - Resource ID **MAY** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that + is applicable to more than one ``{vm-type}`` and more than one network + (internal and/or external) Resource ID **MAY** + use the naming convention - * shared_security_group + * ``shared_security_group`` or - * {vnf-type}_security_group + * ``{vnf-type}_security_group`` where - * {vnf-type} describes the VNF + * ``{vnf-type}`` describes the VNF OS::Neutron::Subnet -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~ .. req:: :id: R-59434 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Neutron::Subnet Resource ID **SHOULD** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Subnet`` + Resource ID **SHOULD** use the naming convention - * int_{network-role}_subnet_{index} + * ``int_{network-role}_subnet_{index}`` where - * {network-role} is the network-role - * {index} is the {index} of the subnet of the network + * ``{network-role}`` is the network-role + * ``{index}`` is the ``{index}`` of the subnet of the network OS::Nova::Keypair -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~ .. req:: :id: R-24997 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - OS::Nova::Keypair applies to one {vm-type} Resource ID **SHOULD** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Nova::Keypair`` applies to + one ``{vm-type}`` Resource ID **SHOULD** use the naming convention - * {vm-type}_keypair_{index} + * ``{vm-type}_keypair_{index}`` where - * {network-role} is the network-role - * {index} is the {index} of the keypair + * ``{network-role}`` is the network-role + * ``{index}`` is the ``{index}`` of the keypair .. req:: :id: R-65516 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource OS::Nova::Keypair - applies to all Virtual Machines in the the VNF, the Resource ID **SHOULD** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Nova::Keypair`` applies to + all Virtual Machines in the the VNF, the Resource ID **SHOULD** use the naming + convention - * {vnf-type}_keypair + * ``{vnf-type}_keypair`` where - * {vnf-type} describes the VNF + * ``{vnf-type}`` describes the VNF OS::Nova::Server ~~~~~~~~~~~~~~~~ @@ -590,19 +582,18 @@ OS::Nova::Server :id: R-29751 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource OS::Nova::Server - Resource ID **MUST** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` Resource ID + **MUST** use the naming convention - * {vm-type}_server_{index} + * ``{vm-type}_server_{index}`` where - * {vm-type} is the vm-type - * {index} is the index + * ``{vm-type}`` is the vm-type + * ``{index}`` is the index OS::Nova::ServerGroup ~~~~~~~~~~~~~~~~~~~~~ @@ -611,26 +602,24 @@ OS::Nova::ServerGroup :id: R-15189 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource OS::Nova::ServerGroup - Resource ID **MAY** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::Nova::ServerGroup`` Resource ID + **MAY** use the naming convention - * {vm-type}_RSG + * ``{vm-type}_RSG`` or - * {vm-type}_Server_Grp + * ``{vm-type}_Server_Grp`` or - * {vm-type}_ServerGroup + * ``{vm-type}_ServerGroup`` or - * {vm-type}_servergroup + * ``{vm-type}_servergroup`` Contrail Heat Resources Resource ID Naming Convention ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -647,163 +636,150 @@ OS::ContrailV2::InstanceIp :id: R-53310 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::InstanceIp' that is configuring an IPv4 Address - on a port attached to an external network Resource ID **MUST** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` + that is configuring an IPv4 Address on a port attached to an external network + Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_IP_{index} + * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_IP_{index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port is attached to - * {vmi_index} is the instance of the the virtual machine interface - (e.g., port) on the vm-type - attached to the network of {network-role} - * 'IP' signifies that an IPv4 address is being configured - * {index} is the index of the IPv4 address + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the {vm-type} + * ``{network-role}`` is the network-role of the network that the port is attached to + * ``{vmi_index}`` is the instance of the the virtual machine interface + (e.g., port) on the vm-type attached to the network of {network-role} + * ``IP`` signifies that an IPv4 address is being configured + * ``{index}`` is the index of the IPv4 address .. req:: :id: R-46128 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::InstanceIp' that is configuring an - IPv6 Address on a port attached to an external network + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` + that is configuring an IPv6 Address on a port attached to an external network Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_v6_IP_{index} + * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_v6_IP_{index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port is attached to - * {vmi_index} is the instance of the the virtual machine interface - (e.g., port) on the vm-type - attached to the network of {network-role} - * 'v6_IP' signifies that an IPv6 address is being configured - * {index} is the index of the IPv6 address + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{vmi_index}`` is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of {network-role} + * ``v6_IP`` signifies that an IPv6 address is being configured + * ``{index}`` is the index of the IPv6 address .. req:: :id: R-62187 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::InstanceIp' that is configuring an - IPv4 Address on a port attached to an internal network + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` + that is configuring an IPv4 Address on a port attached to an internal network Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_IP_{index} + * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_IP_{index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port is attached to - * {vmi_index} is the instance of the the virtual machine interface - (e.g., port) on the vm-type - attached to the network of {network-role} - * 'IP' signifies that an IPv4 address is being configured - * {index} is the index of the IPv4 address + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{vmi_index}`` is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of ``{network-role}`` + * ``IP`` signifies that an IPv4 address is being configured + * ``{index}`` is the index of the IPv4 address .. req:: :id: R-87563 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::InstanceIp' that is configuring an - IPv6 Address on a port attached to an internal network + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` + that is configuring an IPv6 Address on a port attached to an internal network Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_v6_IP_{index} + * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_v6_IP_{index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port is attached to - * {vmi_index} is the instance of the the virtual machine interface - (e.g., port) on the vm-type - attached to the network of {network-role} - * 'v6_IP' signifies that an IPv6 address is being configured - * {index} is the index of the IPv6 address + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{vmi_index}`` is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of ``{network-role}`` + * ``v6_IP`` signifies that an IPv6 address is being configured + * ``{index}`` is the index of the IPv6 address .. req:: :id: R-20947 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::InstanceIp' that is configuring an IPv4 Address - on a sub-interface port attached to a sub-interface network - Resource ID **MUST** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` + that is configuring an IPv4 Address on a sub-interface port attached to a + sub-interface network Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_IP_{index} + * ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_IP_{index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port is attached to - * {vmi_index} is the instance of the the virtual machine interface - (e.g., port) on the vm-type - attached to the network of {network-role} - * 'IP' signifies that an IPv4 address is being configured - * {index} is the index of the IPv4 address + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{vmi_index}`` is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of ``{network-role}`` + * ``IP`` signifies that an IPv4 address is being configured + * ``{index}`` is the index of the IPv4 address .. req:: :id: R-88540 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::InstanceIp' that is configuring an IPv6 Address - on a sub-interface port attached to a sub-interface network - Resource ID **MUST** use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` + that is configuring an IPv6 Address on a sub-interface port attached to a + sub-interface network Resource ID **MUST** + use the naming convention - * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_v6_IP_{index} + * ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_v6_IP_{index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port is attached to - * {vmi_index} is the instance of the the virtual machine interface - (e.g., port) on the vm-type - attached to the network of {network-role} - * 'v6_IP' signifies that an IPv6 address is being configured - * {index} is the index of the IPv6 address + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port is attached to + * ``{vmi_index}`` is the instance of the the virtual machine interface + (e.g., port) on the vm-type + attached to the network of ``{network-role}`` + * ``v6_IP`` signifies that an IPv6 address is being configured + * ``{index}`` is the index of the IPv6 address OS::ContrailV2::InterfaceRouteTable ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -812,32 +788,31 @@ OS::ContrailV2::InterfaceRouteTable :id: R-81214 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::InterfaceRouteTable' Resource ID **MUST** - contain the '{network-role}'. + ``OS::ContrailV2::InterfaceRouteTable`` + Resource ID + **MUST** + contain the ``{network-role}``. .. req:: :id: R-28189 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::InterfaceRouteTable' Resource ID **MAY** - use the naming convention + ``OS::ContrailV2::InterfaceRouteTable`` + Resource ID **MAY** use the naming convention - * {network-role}_RIRT + * ``{network-role}_RIRT`` where - * {network-role} is the network-role - * 'RIRT' signifies that it is the Resource Interface Route Table + * ``{network-role}`` is the network-role + * ``RIRT`` signifies that it is the Resource Interface Route Table OS::ContrailV2::NetworkIpam ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -846,32 +821,30 @@ OS::ContrailV2::NetworkIpam :id: R-30753 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::NetworkIpam' Resource ID **MUST** - contain the '{network-role}'. + ``OS::ContrailV2::NetworkIpam`` + Resource ID + **MUST** + contain the ``{network-role}``. .. req:: :id: R-81979 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::NetworkIpam' Resource ID **MAY** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::NetworkIpam`` + Resource ID **MAY** use the naming convention - * {network-role}_RNI + * ``{network-role}_RNI`` where - * {network-role} is the network-role - * 'RNI' signifies that it is the Resource Network IPAM + * ``{network-role}`` is the network-role + * ``RNI`` signifies that it is the Resource Network IPAM OS::ContrailV2::PortTuple ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -880,32 +853,28 @@ OS::ContrailV2::PortTuple :id: R-20065 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::PortTuple' Resource ID **MUST** - contain the '{vm-type}'. + ``OS::ContrailV2::PortTuple`` + Resource ID **MUST** contain the ``{vm-type}``. .. req:: :id: R-84457 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::PortTuple' Resource ID **MAY** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::PortTuple`` + Resource ID **MAY** use the naming convention - * {vm-type}_RPT + * ``{vm-type}_RPT`` where - * {vm-type} is the vm-type - * 'RPT' signifies that it is the Resource Port Tuple + * ``{vm-type}`` is the vm-type + * ``RPT`` signifies that it is the Resource Port Tuple OS::ContrailV2::ServiceHealthCheck ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -914,34 +883,32 @@ OS::ContrailV2::ServiceHealthCheck :id: R-76014 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::ServiceHealthCheck' Resource ID **MUST** - contain the '{vm-type}'. + ``OS::ContrailV2::ServiceHealthCheck`` + Resource ID + **MUST** + contain the ``{vm-type}``. .. req:: :id: R-65618 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::ServiceHealthCheck' Resource ID - **MAY** use the naming convention + ``OS::ContrailV2::ServiceHealthCheck`` Resource ID **MAY** use the naming convention - * {vm-type}_RSHC_{LEFT|RIGHT} + * ``{vm-type}_RSHC_{LEFT|RIGHT}`` where - * {vm-type} is the vm-type - * 'RSHC' signifies that it is the Resource Service Health Check - * 'LEFT' is used if the Service Health Check is on the left interface - * 'RIGHT' is used if the Service Health Check is on the right interface + * ``{vm-type}`` is the vm-type + * ``RSHC`` signifies that it is the Resource Service Health Check + * ``LEFT`` is used if the Service Health Check is on the left interface + * ``RIGHT`` is used if the Service Health Check is on the right interface OS::ContrailV2::ServiceTemplate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -950,33 +917,28 @@ OS::ContrailV2::ServiceTemplate :id: R-16437 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::ServiceTemplate' Resource ID **MUST** - contain the '{vm-type}'. + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::ServiceTemplate`` + Resource ID **MUST** contain the ``{vm-type}``. .. req:: :id: R-14447 :target: VNF :keyword: MAY - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca - A VNF's Heat Orchestration Template's Resource - 'OS::ContrailV2::ServiceTemplate' Resource ID **MAY** - use the naming convention + A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::ServiceTemplate`` + Resource ID **MAY** use the naming convention - * {vm-type}_RST_{index} + * ``{vm-type}_RST_{index}`` where - * {vm-type} is the vm-type - * 'RST' signifies that it is the Resource Service Template - * '{index}' is is the index + * ``{vm-type}`` is the vm-type + * ``RST`` signifies that it is the Resource Service Template + * ``{index}`` is is the index OS::ContrailV2::VirtualMachineInterface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -985,71 +947,67 @@ OS::ContrailV2::VirtualMachineInterface :id: R-96253 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - OS::ContrailV2::VirtualMachineInterface that is attaching - to an external network Resource ID **MUST** - use the naming convention + ``OS::ContrailV2::VirtualMachineInterface`` that is attaching to an external network + Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index} + * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port (i.e. virtual machine interface) is attached to - * {vmi_index} is the instance of the the vmi on the vm-type - attached to the network of {network-role} + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port (i.e. virtual machine interface) is attached to + * ``{vmi_index}`` is the instance of the the vmi on the vm-type + attached to the network of ``{network-role}`` .. req:: :id: R-50468 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - OS::ContrailV2::VirtualMachineInterface that is attaching - to an internal network Resource ID **MUST** use the naming convention + ``OS::ContrailV2::VirtualMachineInterface`` that is attaching to an internal network + Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index} + * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port (i.e. virtual machine interface) is attached to - * {vmi_index} is the instance of the the vmi on the vm-type - attached to the network of {network-role} + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port (i.e. virtual machine interface) is attached to + * ``{vmi_index}`` is the instance of the the vmi on the vm-type + attached to the network of ``{network-role}`` .. req:: :id: R-54458 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - OS::ContrailV2::VirtualMachineInterface that is attaching to - a sub-interface network Resource ID **MUST** use the naming convention + ``OS::ContrailV2::VirtualMachineInterface`` that is attaching to a sub-interface + network Resource ID **MUST** use the naming convention - * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index} + * ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}`` where - * {vm-type} is the vm-type - * {vm-type_index} is the instance of the {vm-type} - * {network-role} is the network-role of the network - that the port (i.e. virtual machine interface) is attached to - * {vmi_index} is the instance of the the vmi on the vm-type - attached to the network of {network-role} + * ``{vm-type}`` is the vm-type + * ``{vm-type_index}`` is the instance of the ``{vm-type}`` + * ``{network-role}`` is the network-role of the network + that the port (i.e. virtual machine interface) is attached to + * ``{vmi_index}`` is the instance of the the vmi on the vm-type + attached to the network of ``{network-role}`` OS::ContrailV2::VirtualNetwork ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1058,23 +1016,22 @@ OS::ContrailV2::VirtualNetwork :id: R-99110 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca A VNF's Heat Orchestration Template's Resource - OS::ContrailV2::VirtualNetwork Resource ID **MUST** - use the naming convention + ``OS::ContrailV2::VirtualNetwork`` Resource ID **MUST** use the naming convention - * 'int_{network-role}_network' + 1) ``int_{network-role}_network`` or - * 'int_{network-role}_RVN' where RVN represents Resource Virtual Network + 2) ``int_{network-role}_RVN`` where RVN represents Resource Virtual + Network -VNF Heat Orchestration Templates can only create internal networks. -There is no {index} after {network-role} because {network-role} -**MUST** be unique in the scope of the VNF's -Heat Orchestration Template. + VNF Heat Orchestration Templates can only create internal networks. + There is no ``{index}`` after ``{network-role}`` because ``{network-role}`` + **MUST** be unique in the scope of the VNF's + Heat Orchestration Template. -Note that the first option is preferred. +Note that option 1 is preferred. diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource Property.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource Property.rst index 006175d..b6c7c3b 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource Property.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/Resource Property.rst @@ -5,65 +5,64 @@ Resource Property "name" ---------------------------- -The parameter naming convention of the property name for the -resource OS::Nova::Server has been defined in +The parameter naming convention of the property ``name`` for the resource +``OS::Nova::Server`` has been defined in :ref:`Nova Server - Metadata Parameters`. -This section provides the requirements how the property name for non -OS::Nova::Server resources must be defined when the property is used. -Not all resources require the property name (e.g., it is optional) and +This section provides specifies how the property ``name`` for non +``OS::Nova::Server`` resources must be defined when the property is used. +Not all resources require the property ``name`` (e.g., it is optional) and some resources do not support the property. .. req:: :id: R-85734 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - If a VNF's Heat Orchestration Template contains the property 'name' - for a non 'OS::Nova::Server' resource, the intrinsic function - 'str_replace' **MUST** be used in conjunction with the ONAP - supplied metadata parameter 'vnf_name' to generate a unique value. + If a VNF's Heat Orchestration Template contains the property ``name`` + for a non ``OS::Nova::Server`` resource, the intrinsic function + ``str_replace`` **MUST** be used in conjunction with the ONAP + supplied metadata parameter ``vnf_name`` to generate a unique value. -This prevents the enumeration of a -unique value for the property name in a per instance environment file. +This approach prevents the enumeration of a unique value for the property +``name`` in a per instance environment file. .. req:: :id: R-99812 :target: VNF :keyword: MUST NOT - :test: no test found - :test_case: no test found - :test_file: no test found + :validation_mode: static + :updated: casablanca - A value for VNF's Heat Orchestration Template's property 'name' - for a non 'OS::Nova::Server' resource **MUST NOT** be declared + A value for VNF's Heat Orchestration Template's property ``name`` + for a non ``OS::Nova::Server`` resource **MUST NOT** be declared in the VNF's Heat Orchestration Template's Environment File. -In most cases the use of the metadata value 'vnf_name' is required to create a -unique property name. If this will not provide a unique value, +In most cases the use of the metadata value ``vnf_name`` is required to create +a unique property name. If this will not provide a unique value, additional options include: - Using the Heat Orchestration Template pseudo parameter - 'OS::stack_name' in the str_replace construct + ``OS::stack_name`` in the str_replace construct - Resources created in a nested heat file invoked by an - 'OS::Heat::ResourceGroup' can use the 'index' to construct a unique name - + ``OS::Heat::ResourceGroup`` can use the ``index`` to construct a unique name .. req:: :id: R-32408 :target: VNF :keyword: MUST - :test: no test found - :test_case: no test found - :test_file: no test found - - If a VNF's Heat Orchestration Template property 'name' - for a non 'OS::Nova::Server' resource uses the intrinsic function - 'str_replace' in conjunction with the ONAP - supplied metadata parameter 'vnf_name' and does not create + :validation_mode: static + :updated: casablanca + + If a VNF's Heat Orchestration Template property ``name`` + for a non ``OS::Nova::Server`` resource uses the intrinsic function + ``str_replace`` in conjunction with the ONAP + supplied metadata parameter ``vnf_name`` and does not create a unique value, additional data **MUST** be used in the - 'str_replace' to create a unique value, such as 'OS::stack_name' - and/or the 'OS::Heat::ResourceGroup' 'index'. + ``str_replace`` to create a unique value, such as ``OS::stack_name`` + and/or the ``OS::Heat::ResourceGroup`` ``index``. *Example: Property 'name' for resource 'OS::Neutron::SecurityGroup'* @@ -125,9 +124,7 @@ Contrail Issue with Values for the Property Name :id: R-84517 :target: VNF :keyword: SHOULD - :test: no test found - :test_case: no test found - :test_file: no test found + :updated: casablanca The Contrail GUI has a limitation displaying special characters. The issue is documented in @@ -136,12 +133,12 @@ Contrail Issue with Values for the Property Name However, if special characters must be used, note that for the following resources: - * Virtual Machine - * Virtual Network - * Port - * Security Group - * Policies - * IPAM Creation + * Virtual Machine + * Virtual Network + * Port + * Security Group + * Policies + * IPAM Creation the only special characters supported are - \" ! $\ \ ' ( ) = ~ ^ | @ ` { } [ ] > , . _" 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 ac0d603..48ca384 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 @@ -12,57 +12,68 @@ The assignment of a {network-role} is discussed in :id: R-21330 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource property - parameter that is associated with external network **MUST** - include the '{network-role}' as part of the parameter name. + A VNF's Heat Orchestration Template's Resource property parameter that is + associated with external network **MUST** include the ``{network-role}`` + as part of the parameter name. .. req:: :id: R-11168 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource ID that is - associated with an external network **MUST** include the - '{network-role}' as part of the resource ID. + A VNF's Heat Orchestration Template's Resource ID that is associated with + an external network **MUST** include the ``{network-role}`` as part + of the resource ID. .. req:: :id: R-84322 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource property - parameter that is associated with an internal network - **MUST** include 'int\_{network-role}' as part of the parameter - name, where 'int\_' is a hard coded string. + A VNF's Heat Orchestration Template's Resource property parameter that + is associated with an internal network **MUST** include + ``int_{network-role}`` as part of the parameter name, + where ``int_`` is a hard coded string. .. req:: :id: R-96983 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource ID that is - associated with an internal network **MUST** include - 'int\_{network-role}' as part of the Resource ID, where - 'int\_' is a hard coded string. + A VNF's Heat Orchestration Template's Resource ID that is associated + with an internal network **MUST** include ``int_{network-role}`` as part + of the Resource ID, where ``int_`` is a hard coded string. .. req:: :id: R-26506 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's '{network-role}' - **MUST** contain only alphanumeric characters and/or - underscores '_' and **MUST NOT** contain any of the following - strings: '_int' or 'int\_' or '\_int\_'. + A VNF's Heat Orchestration Template's ``{network-role}`` **MUST** contain + only alphanumeric characters and/or underscores '_' and + **MUST NOT** contain any of the following strings: + ``_int`` or ``int_`` or ``_int_``. .. req:: :id: R-00977 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's '{network-role}' - **MUST NOT** be a substring of '{vm-type}'. + A VNF's Heat Orchestration Template's ``{network-role}`` + **MUST NOT** be a substring of ``{vm-type}``. For example, if a VNF has a '{vm-type}' of 'oam' and a '{network-role}' of 'oam\_protected' would be a violation of the requirement. @@ -72,23 +83,28 @@ For example, if a VNF has a '{vm-type}' of 'oam' and a :id: R-58424 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's use of '{network-role}' + A VNF's Heat Orchestration Template's use of ``{network-role}`` in all Resource property parameter names **MUST** be the same case. .. req:: :id: R-21511 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's use of '{network-role}' + A VNF's Heat Orchestration Template's use of ``{network-role}`` in all Resource IDs **MUST** be the same case. .. req:: :id: R-86588 :target: VNF :keyword: SHOULD + :updated: casablanca - 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. + 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. diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{vm-type}.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{vm-type}.rst index 2a947a7..6357b8e 100644 --- a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{vm-type}.rst +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{vm-type}.rst @@ -11,71 +11,84 @@ :id: R-01455 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - When a VNF's Heat Orchestration Template creates a - Virtual Machine (i.e., 'OS::Nova::Server'), each 'class' of VMs - **MUST** be assigned a VNF unique '{vm-type}'; where 'class' - defines VMs that **MUST** have the following identical characteristics: + When a VNF's Heat Orchestration Template creates a Virtual Machine + (i.e., ``OS::Nova::Server``), + each "class" of VMs **MUST** be assigned a VNF unique + ``{vm-type}``; where "class" defines VMs that + **MUST** have the following identical characteristics: - 1.) OS::Nova::Server property flavor value + 1.) ``OS::Nova::Server`` resource property ``flavor`` value - 2.) OS::Nova::Server property image value + 2.) ``OS::Nova::Server`` resource property ``image`` value 3.) Cinder Volume attachments - - Each VM in the 'class' **MUST** have the identical Cinder Volume - configuration + - Each VM in the "class" **MUST** have the identical Cinder Volume + configuration 4.) Network attachments and IP address requirements - - Each VM in the 'class' **MUST** have the the identical number - of ports connecting to the identical networks and requiring the - identical IP address configuration. + - Each VM in the "class" **MUST** have the the identical number of + ports connecting to the identical networks and requiring the identical + IP address configuration. .. req:: :id: R-82481 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource property - parameter that is associated with a unique Virtual Machine - type **MUST** include '{vm-type}' as part of the parameter - name with two exceptions: + A VNF's Heat Orchestration Template's Resource property parameter that is + associated with a unique Virtual Machine type **MUST** include + ``{vm-type}`` as part of the parameter name with two exceptions: - 1.) The Resource OS::Nova::Server property availability_zone parameter - **MUST NOT** be prefixed with a common '{vm-type} identifier, + 1.) The Resource ``OS::Nova::Server`` property ``availability_zone`` + parameter **MUST NOT** be prefixed with a common ``{vm-type}`` identifier, - 2.) The Resource OS::Nova::Server eight mandatory and optional metadata - parameters (vnf_name, vnf_id, vf_module_id, vf_module_name, vm_role, - vf_module_index, environment_context, workload_context) **MUST NOT** - be prefixed with a common '{vm-type}' identifier. + 2.) The Resource ``OS::Nova::Server`` eight mandatory and optional + ``metadata`` + parameters (i.e., ``vnf_name``, ``vnf_id``, ``vf_module_id``, + ``vf_module_name``, ``vm_role``, + ``vf_module_index``, ``environment_context``, ``workload_context``) + **MUST NOT** be prefixed with a common ``{vm-type}`` identifier. .. req:: :id: R-66729 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's Resource that is - associated with a unique Virtual Machine type **MUST** include - '{vm-type}' as part of the resource ID. + A VNF's Heat Orchestration Template's Resource that is associated with a + unique Virtual Machine type **MUST** include ``{vm-type}`` as part of the + resource ID. .. req:: :id: R-98407 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's '{vm-type}' **MUST** contain - only alphanumeric characters and/or underscores '_' and - **MUST NOT** contain any of the following strings: '_int' or 'int\_' - or '\_int\_'. + A VNF's Heat Orchestration Template's ``{vm-type}`` **MUST** contain only + alphanumeric characters and/or underscores '_' and **MUST NOT** + contain any of the following strings: + ``_int`` or ``int_`` or ``_int_``. .. req:: :id: R-48067 :target: VNF :keyword: MUST NOT + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's {vm-type} **MUST NOT** be a - substring of {network-role}. + A VNF's Heat Orchestration Template's ``{vm-type}`` **MUST NOT** be a + substring + of ``{network-role}``. It may cause the VNF Validation Program validation-scripts project to produce erroneous error messages. @@ -85,23 +98,28 @@ to produce erroneous error messages. :id: R-32394 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's use of '{vm-type}' - in all Resource property parameter names **MUST** be the same case. + A VNF's Heat Orchestration Template's use of ``{vm-type}`` in all Resource + property parameter names **MUST** be the same case. .. req:: :id: R-46839 :target: VNF :keyword: MUST + :validation_mode: static + :updated: casablanca - A VNF's Heat Orchestration Template's use of - '{vm-type}' in all Resource IDs **MUST** be the same case. + A VNF's Heat Orchestration Template's use of ``{vm-type}`` + in all Resource IDs **MUST** be the same case. .. req:: :id: R-36687 :target: VNF :keyword: SHOULD + :updated: casablanca - A VNF's Heat Orchestration Template's '{vm-type}' case in - Resource property parameter names **SHOULD** match the case of - '{vm-type}' in Resource IDs and vice versa. + A VNF's Heat Orchestration Template's ``{vm-type}`` case in Resource + property parameter names **SHOULD** match the case of ``{vm-type}`` + in Resource IDs and vice versa. diff --git a/docs/data/needs.json b/docs/data/needs.json index e77e864..c1ade39 100644 --- a/docs/data/needs.json +++ b/docs/data/needs.json @@ -1,5 +1,5 @@ { - "created": "2018-09-12T23:20:21.160620", + "created": "2018-09-13T17:48:57.499647", "current_version": "casablanca", "project": "", "versions": { @@ -21858,7 +21858,7 @@ "needs_amount": 750 }, "casablanca": { - "created": "2018-09-12T23:20:21.160546", + "created": "2018-09-13T17:48:57.499635", "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.", @@ -22027,12 +22027,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-00977": { - "description": "A VNF's Heat Orchestration Template's '{network-role}'\n**MUST NOT** be a substring of '{vm-type}'.", + "description": "A VNF's Heat Orchestration Template's ``{network-role}``\n**MUST NOT** be a substring of ``{vm-type}``.", "full_title": "", "hide_links": "", "id": "R-00977", @@ -22054,9 +22054,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-01033": { "description": "The xNF **MAY** use another option which is expected to include SFTP\nfor asynchronous bulk files, such as bulk files that contain large volumes\nof data collected over a long time interval or data collected across many\nxNFs. (Preferred is to reorganize the data into more frequent or more focused\ndata sets, and deliver these by REST or TCP as appropriate.)", @@ -22147,7 +22147,7 @@ "validation_mode": "" }, "R-01359": { - "description": "A VNF's Heat Orchstration Template that contains an\n'OS::Nova:Server' Resource **MAY** define a parameter for the property\n'availability_zone' that is not utilized in any 'OS::Nova::Server'\nresources in the Heat Orchestration Template.", + "description": "A VNF's Heat Orchestration Template that contains an ``OS::Nova:Server``\nResource **MAY** define a parameter for the property\n``availability_zone`` that is not utilized in any ``OS::Nova::Server``\nresources in the Heat Orchestration Template.", "full_title": "", "hide_links": "", "id": "R-01359", @@ -22170,7 +22170,7 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -22205,7 +22205,7 @@ "validation_mode": "" }, "R-01455": { - "description": "When a VNF's Heat Orchestration Template creates a\nVirtual Machine (i.e., 'OS::Nova::Server'), each 'class' of VMs\n**MUST** be assigned a VNF unique '{vm-type}'; where 'class'\ndefines VMs that **MUST** have the following identical characteristics:\n\n 1.) OS::Nova::Server property flavor value\n\n 2.) OS::Nova::Server property image value\n\n 3.) Cinder Volume attachments\n\n - Each VM in the 'class' **MUST** have the identical Cinder Volume\n configuration\n\n 4.) Network attachments and IP address requirements\n\n - Each VM in the 'class' **MUST** have the the identical number\n of ports connecting to the identical networks and requiring the\n identical IP address configuration.", + "description": "When a VNF's Heat Orchestration Template creates a Virtual Machine\n(i.e., ``OS::Nova::Server``),\neach \"class\" of VMs **MUST** be assigned a VNF unique\n``{vm-type}``; where \"class\" defines VMs that\n**MUST** have the following identical characteristics:\n\n 1.) ``OS::Nova::Server`` resource property ``flavor`` value\n\n 2.) ``OS::Nova::Server`` resource property ``image`` value\n\n 3.) Cinder Volume attachments\n\n - Each VM in the \"class\" **MUST** have the identical Cinder Volume\n configuration\n\n 4.) Network attachments and IP address requirements\n\n - Each VM in the \"class\" **MUST** have the the identical number of\n ports connecting to the identical networks and requiring the identical\n IP address configuration.", "full_title": "", "hide_links": "", "id": "R-01455", @@ -22227,9 +22227,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-01478": { "description": "The xNF Package **MUST** include documentation describing all\nparameters that are available to monitor the xNF after instantiation\n(includes all counters, OIDs, PM data, KPIs, etc.) that must be\ncollected for reporting purposes.", @@ -22316,7 +22316,7 @@ "validation_mode": "static" }, "R-02164": { - "description": "When a VNF's Heat Orchestration Template's Contrail resource\nhas a property that\nreferences an external network that requires the network's\nFully Qualified Domain Name (FQDN), the property parameter\n\n * **MUST** follow the format '{network-role}_net_fqdn'\n * **MUST** be declared as type 'string'\n * **MUST NOT** be enumerated in the NF's Heat Orchestration Template's\n Environment File", + "description": "When a VNF's Heat Orchestration Template's Contrail resource\nhas a property that\nreferences an external network that requires the network's\nFully Qualified Domain Name (FQDN), the property parameter\n\n* **MUST** follow the format ``{network-role}_net_fqdn``\n* **MUST** be declared as type ``string``\n* **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\n Environment File", "full_title": "", "hide_links": "", "id": "R-02164", @@ -22334,15 +22334,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-02170": { "description": "The VNF **MUST** use, whenever possible, standard implementations\nof security applications, protocols, and formats, e.g., S/MIME, TLS, SSH,\nIPSec, X.509 digital certificates for cryptographic implementations.\nThese implementations must be purchased from reputable vendors or obtained\nfrom reputable open source communities and must not be developed in-house.", @@ -22518,7 +22518,7 @@ "validation_mode": "" }, "R-02691": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'workload_context' **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``workload_context`` **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", "full_title": "", "hide_links": "", "id": "R-02691", @@ -22541,9 +22541,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-02997": { "description": "The VNF **MUST** preserve their persistent data. Running VMs\nwill not be backed up in the Network Cloud infrastructure.", @@ -22688,7 +22688,7 @@ "validation_mode": "" }, "R-03595": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::SecurityGroup that is applicable to more than\none {vm-type} and one external network Resource ID **SHOULD**\nuse the naming convention\n\n * {network-role}_security_group\n\nwhere\n\n * {network-role} is the network-role", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that\nis applicable to more than one ``{vm-type}`` and one external network Resource ID\n**SHOULD** use the naming convention\n\n* ``{network-role}_security_group``\n\nwhere\n\n* ``{network-role}`` is the network-role", "full_title": "", "hide_links": "", "id": "R-03595", @@ -22706,18 +22706,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-03656": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::Heat::SoftwareConfig' Resource ID **MAY** use the naming convention\n\n * {vm-type}_RSC\n\nwhere\n\n * {vm-type} is the vm-type\n * 'RSC' signifies that it is the Resource Software Config", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Heat::SoftwareConfig``\nResource ID **MAY** use the naming convention\n\n* ``{vm-type}_RSC``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``RSC`` signifies that it is the Resource Software Config", "full_title": "", "hide_links": "", "id": "R-03656", @@ -22735,13 +22735,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -22889,7 +22889,7 @@ "validation_mode": "" }, "R-04697": { - "description": "When the VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port'\nis attaching to an external network, and an IPv4 address is assigned using\nthe property 'fixed_ips' map property 'ip_address' and the parameter type\nis defined as a comma_delimited_list, the parameter name **MUST** follow the\nnaming convention\n\n * '{vm-type}_{network-role}_ips',\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the external network", + "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\n``comma_delimited_list``,\nthe parameter name **MUST** follow the\nnaming convention\n\n * ``{vm-type}_{network-role}_ips``\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", "full_title": "", "hide_links": "", "id": "R-04697", @@ -22912,12 +22912,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-04747": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::Heat::CloudConfig' Resource ID **MUST** contain the '{vm-type}'.", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Heat::CloudConfig``\nResource ID **MUST** contain the ``{vm-type}``.", "full_title": "", "hide_links": "", "id": "R-04747", @@ -22935,15 +22935,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-04982": { "description": "The VNF **MUST NOT** include an authentication credential,\ne.g., password, in the security audit logs, even if encrypted.", @@ -23002,7 +23002,7 @@ "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}' in the context of\nthe VNF for use in the VNF's Heat Orchestration Template.", + "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.", "full_title": "", "hide_links": "", "id": "R-05201", @@ -23025,12 +23025,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-05257": { - "description": "A VNF's Heat Orchestration Template's **MUST NOT**\ncontain the Resource 'OS::Neutron::FloatingIP'.", + "description": "A VNF's Heat Orchestration Template's **MUST NOT**\ncontain the Resource ``OS::Neutron::FloatingIP``.", "full_title": "", "hide_links": "", "id": "R-05257", @@ -23048,15 +23048,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-06327": { "description": "The VNF **MUST** respond to a \"drain VNFC\" [#4.5.2]_ command against\na specific VNFC, preventing new session from reaching the targeted VNFC,\nwith no disruption to active sessions on the impacted VNFC, if a VNF\nprovides a load balancing function across multiple instances of its VNFCs.\nThis is used to support scenarios such as proactive maintenance with no\nuser impact.", @@ -23287,7 +23287,7 @@ "validation_mode": "static" }, "R-07507": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_id' **MUST** be declared\nas type: 'string'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server``\nresource property\n``metadata`` key/value pair ``vnf_id`` parameter ``vnf_id`` **MUST**\nbe declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-07507", @@ -23310,9 +23310,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-07545": { "description": "The xNF **MUST** support all operations, administration and\nmanagement (OAM) functions available from the supplier for xNFs using\nthe supplied YANG code and associated NETCONF servers.", @@ -23363,15 +23363,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-07617": { "description": "The VNF **MUST** log success and unsuccessful creation, removal, or\nchange to the inherent privilege level of users.", @@ -23489,7 +23489,7 @@ "validation_mode": "" }, "R-08775": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::SecurityGroup that is applicable to one {vm-type} and\nmore than one network (internal and/or external) Resource ID\n**SHOULD** use the naming convention\n\n * {vm-type}_security_group\n\nwhere\n\n * {vm-type} is the vm-type", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup``\nthat is applicable to one ``{vm-type}`` and more than one network (internal\nand/or external) Resource ID **SHOULD** use the naming convention\n\n* ``{vm-type}_security_group``\n\nwhere\n\n* ``{vm-type}`` is the vm-type", "full_title": "", "hide_links": "", "id": "R-08775", @@ -23507,18 +23507,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-08975": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::Heat::SoftwareConfig' Resource ID **MUST** contain the '{vm-type}'.", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Heat::SoftwareConfig``\nResource ID **MUST** contain the ``{vm-type}``.", "full_title": "", "hide_links": "", "id": "R-08975", @@ -23536,15 +23536,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-09467": { "description": "The VNF **MUST** utilize only NCSP standard compute flavors. [#4.5.1]_", @@ -23574,7 +23574,7 @@ "validation_mode": "" }, "R-09811": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_index' **MUST NOT**\nhave parameter contraints defined.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_index`` **MUST NOT**\nhave parameter constraints defined.", "full_title": "", "hide_links": "", "id": "R-09811", @@ -23597,9 +23597,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-10129": { "description": "The xNF **SHOULD** conform its YANG model to RFC 7223,\n\"A YANG Data Model for Interface Management\".", @@ -23769,15 +23769,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-10834": { "description": "If a VNF's Heat Orchestration Template resource attribute\n``property:`` uses a nested ``get_param``, the nested\n``get_param`` **MUST** reference an index.", @@ -23839,7 +23839,7 @@ "validation_mode": "static" }, "R-11168": { - "description": "A VNF's Heat Orchestration Template's Resource ID that is\nassociated with an external network **MUST** include the\n'{network-role}' as part of the resource ID.", + "description": "A VNF's Heat Orchestration Template's Resource ID that is associated with\nan external network **MUST** include the ``{network-role}`` as part\nof the resource ID.", "full_title": "", "hide_links": "", "id": "R-11168", @@ -23861,9 +23861,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-11200": { "description": "A VNF's Cinder Volume Module, when it exists, **MUST** be 1:1\nwith a Base module or Incremental module.", @@ -24013,7 +24013,7 @@ "validation_mode": "" }, "R-11690": { - "description": "When a VNF's Heat Orchestration Template's Resource ID contains\nan {index} value (e.g. multiple VMs of same {vm-type}), the '{index}'\n**MUST** start at zero and increment by one.", + "description": "When a VNF's Heat Orchestration Template's Resource ID contains an\n``{index}`` value (e.g. multiple VMs of same ``{vm-type}``), the ``{index}``\n**MUST** start at zero and increment by one.", "full_title": "", "hide_links": "", "id": "R-11690", @@ -24035,9 +24035,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-11790": { "description": "The VNF **MUST** support ONAP Controller's\n**Restart (stop/start or reboot)** command.", @@ -24295,7 +24295,7 @@ "validation_mode": "" }, "R-13194": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'environment_context' **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``environment_context`` **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", "full_title": "", "hide_links": "", "id": "R-13194", @@ -24318,9 +24318,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-13196": { "description": "A VNF **MAY** be composed of zero to many Incremental Modules.", @@ -24512,18 +24512,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-14198": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::SecurityGroup that is applicable to one {vm-type}\nand one internal network Resource ID **SHOULD** use 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", + "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", "full_title": "", "hide_links": "", "id": "R-14198", @@ -24541,18 +24541,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-14447": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::ServiceTemplate' Resource ID **MAY**\nuse the naming convention\n\n * {vm-type}_RST_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * 'RST' signifies that it is the Resource Service Template\n * '{index}' is is the index", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::ServiceTemplate``\nResource ID **MAY** use the naming convention\n\n* ``{vm-type}_RST_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``RST`` signifies that it is the Resource Service Template\n* ``{index}`` is is the index", "full_title": "", "hide_links": "", "id": "R-14447", @@ -24570,13 +24570,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -24608,7 +24608,7 @@ "validation_mode": "" }, "R-15189": { - "description": "A VNF's Heat Orchestration Template's Resource OS::Nova::ServerGroup\nResource ID **MAY** use the naming convention\n\n * {vm-type}_RSG\n\nor\n\n * {vm-type}_Server_Grp\n\nor\n\n * {vm-type}_ServerGroup\n\nor\n\n * {vm-type}_servergroup", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Nova::ServerGroup`` Resource ID\n**MAY** use the naming convention\n\n* ``{vm-type}_RSG``\n\nor\n\n* ``{vm-type}_Server_Grp``\n\nor\n\n* ``{vm-type}_ServerGroup``\n\nor\n\n* ``{vm-type}_servergroup``", "full_title": "", "hide_links": "", "id": "R-15189", @@ -24626,18 +24626,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-15287": { - "description": "When the VNF's Heat Orchestration Template's resource\n'OS::Neutron::Port' is attaching to an external network, and an IPv6\naddress is being Cloud Assigned by OpenStack's DHCP Service and the\nexternal network IPv6 subnet is to be specified using the property\n'fixed_ips' map property 'subnet'/'subnet_id', the parameter **MUST**\nfollow the naming convention\n\n * '{network-role}_subnet_v6_id'\n\nwhere\n\n * '{network-role}' is the network role of the network.", + "description": "When the VNF's Heat Orchestration Template's\nresource ``OS::Neutron::Port`` is attaching\nto an external network (per the ONAP definition, see\nRequirement R-57424),\nand an IPv6 address is being cloud assigned by OpenStack's DHCP Service\nand the external network IPv6 subnet is to be specified\nusing the property ``fixed_ips``\nmap property ``subnet``/``subnet_id``, the parameter\n**MUST** follow the naming convention\n\n * ``{network-role}_v6_subnet_id``\n\nwhere\n\n * ``{network-role}`` is the network role of the network.", "full_title": "", "hide_links": "", "id": "R-15287", @@ -24660,9 +24660,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-15325": { "description": "The VNF **MUST** log the field \"success/failure\" in the\nsecurity audit logs.", @@ -24693,7 +24693,7 @@ "validation_mode": "" }, "R-15480": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_name'\n**MUST NOT** have parameter contraints defined.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_name`` **MUST NOT**\nhave parameter constraints defined.", "full_title": "", "hide_links": "", "id": "R-15480", @@ -24716,9 +24716,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-15671": { "description": "The VNF **MUST** provide access controls that allow the Operator\nto restrict access to VNF functions and data to authorized entities.", @@ -24881,18 +24881,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-16437": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::ServiceTemplate' Resource ID **MUST**\ncontain the '{vm-type}'.", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::ServiceTemplate``\nResource ID **MUST** contain the ``{vm-type}``.", "full_title": "", "hide_links": "", "id": "R-16437", @@ -24910,15 +24910,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-16447": { "description": "A VNF's <resource ID> **MUST** be unique across all Heat\nOrchestration Templates and all HEAT Orchestration Template\nNested YAML files that are used to create the VNF.", @@ -25006,7 +25006,7 @@ "validation_mode": "" }, "R-16576": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_name' is passed into a\nNested YAML file, the parameter name 'vnf_name' **MUST NOT** change.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vnf_name`` is passed into a Nested YAML\nfile, the parameter name ``vnf_name`` **MUST NOT** change.", "full_title": "", "hide_links": "", "id": "R-16576", @@ -25029,9 +25029,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-16777": { "description": "The xNF provider **MUST** provide a JSON file for each\nsupported action for the xNF. The JSON file must contain key value\npairs with all relevant values populated with sample data that illustrates\nits usage. The fields and their description are defined in Table B1\nin the Appendix.", @@ -25114,12 +25114,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-17334": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::SecurityGroup that is applicable to one {vm-type}\nand one external network Resource ID **SHOULD** use the naming convention\n\n * {vm-type}_{network-role}_security_group\n\nwhere\n\n * {vm-type} is the vm-type\n * {network-role} is the network-role", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup``\nthat is applicable to one ``{vm-type}`` and one external network Resource ID\n**SHOULD** use the naming convention\n\n* ``{vm-type}_{network-role}_security_group``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{network-role}`` is the network-role", "full_title": "", "hide_links": "", "id": "R-17334", @@ -25137,13 +25137,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -25195,18 +25195,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-18008": { - "description": "The VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port'\nproperty 'network' parameter **MUST** be declared as type: 'string'.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``\nproperty ``network`` parameter **MUST** be declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-18008", @@ -25229,12 +25229,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-18202": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::Heat::MultipartMime' Resource ID **MAY** use the naming convention\n\n * {vm-type}_RMM\n\nwhere\n\n * {vm-type} is the vm-type\n * 'RMM' signifies that it is the Resource Multipart Mime", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::Heat::MultipartMime``\nResource ID\n**MAY**\nuse the naming convention\n\n* ``{vm-type}_RMM``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``RMM`` signifies that it is the Resource Multipart Mime", "full_title": "", "hide_links": "", "id": "R-18202", @@ -25252,13 +25252,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -25292,7 +25292,7 @@ "validation_mode": "" }, "R-18683": { - "description": "If a VNF has one IPv4 OAM Management IP Address and the\nIP Address needs to be inventoried in ONAP's A&AI\ndatabase, an output parameter **MUST** be declared in only one of the\nVNF's Heat Orchestration Templates and the parameter **MUST** be named\n'oam_management_v4_address'.", + "description": "If a VNF has one IPv4 OAM Management IP Address and the\nIP Address needs to be inventoried in ONAP's A&AI\ndatabase, an output parameter **MUST** be declared in only one of the\nVNF's Heat Orchestration Templates and the parameter **MUST** be named\n``oam_management_v4_address``.", "full_title": "", "hide_links": "", "id": "R-18683", @@ -25310,15 +25310,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-18725": { "description": "The VNF **MUST** handle the restart of a single VNFC instance\nwithout requiring all VNFC instances to be restarted.", @@ -25492,7 +25492,7 @@ "validation_mode": "" }, "R-19756": { - "description": "If a VNF's Heat Orchestration Template\n'OS::ContrailV2::InterfaceRouteTable' resource\n'interface_route_table_routes' property\n'interface_route_table_routes_route' map property parameter\n'{vm-type}_{network-role}_route_prefixes'\n**MUST** be defined as type 'json'.", + "description": "If a VNF's Heat Orchestration Template\n``OS::ContrailV2::InterfaceRouteTable`` resource\n``interface_route_table_routes`` property\n``interface_route_table_routes_route`` map property parameter\n``{vm-type}_{network-role}_route_prefixes``\n**MUST** be defined as type ``json``.", "full_title": "", "hide_links": "", "id": "R-19756", @@ -25509,15 +25509,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-19768": { "description": "The VNF **SHOULD** support Layer 3 VPNs that enable segregation of\ntraffic by application (i.e., AVPN, IPSec VPN for Internet routes).", @@ -25577,7 +25577,7 @@ "validation_mode": "" }, "R-20065": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::PortTuple' Resource ID **MUST**\ncontain the '{vm-type}'.", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::PortTuple``\nResource ID **MUST** contain the ``{vm-type}``.", "full_title": "", "hide_links": "", "id": "R-20065", @@ -25595,15 +25595,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-20204": { "description": "The VNF Package **MUST** include VM requirements via a Heat\ntemplate that provides the necessary data for network connections,\ninterface connections, internal and external to VNF.", @@ -25634,7 +25634,7 @@ "validation_mode": "" }, "R-20308": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'environment_context' **MUST**\nbe declared as type: 'string'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``environment_context`` **MUST**\nbe declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-20308", @@ -25657,12 +25657,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-20319": { - "description": "A VNF's Heat Orchestration Template's Resource 'OS::Heat::CloudConfig'\nResource ID **MAY** use the naming convention\n\n * {vm-type}_RCC\n\nwhere\n\n * {vm-type} is the vm-type\n * 'RCC' signifies that it is the Resource Cloud Config", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Heat::CloudConfig``\nResource ID **MAY** use the naming convention\n\n* ``{vm-type}_RCC``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``RCC`` signifies that it is the Resource Cloud Config", "full_title": "", "hide_links": "", "id": "R-20319", @@ -25680,13 +25680,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -25721,7 +25721,7 @@ "validation_mode": "" }, "R-20453": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::Port that is attaching to an external network Resource ID\n**MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_{network-role}_port_{port-index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port is attached to\n * {port-index} is the instance of the the port on the vm-type\n attached to the network of {network-role}", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``\nthat is attaching to an external network Resource ID\n**MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_{network-role}_port_{port-index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{port-index}`` is the instance of the the port on the vm-type\n attached to the network of ``{network-role}``", "full_title": "", "hide_links": "", "id": "R-20453", @@ -25739,15 +25739,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-20547": { "description": "When an ONAP Volume Module Output Parameter is declared as an input\nparameter in a base or an incremental module Heat Orchestration\nTemplate, parameter constraints **MUST NOT** be declared.", @@ -25808,7 +25808,7 @@ "validation_mode": "" }, "R-20856": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_id' **MUST NOT** be\nenumerated in the Heat Orchestration Template's environment file.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server``\nresource property\n``metadata`` key/value pair ``vnf_id`` parameter ``vnf_id`` **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", "full_title": "", "hide_links": "", "id": "R-20856", @@ -25831,9 +25831,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-20860": { "description": "The VNF **MUST** be agnostic to the underlying infrastructure\n(such as hardware, host OS, Hypervisor), any requirements should be\nprovided as specification to be fulfilled by any hardware.", @@ -25863,7 +25863,7 @@ "validation_mode": "" }, "R-20947": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::InstanceIp' that is configuring an IPv4 Address\non a sub-interface port attached to a sub-interface network\nResource ID **MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_IP_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port is attached to\n * {vmi_index} is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of {network-role}\n * 'IP' signifies that an IPv4 address is being configured\n * {index} is the index of the IPv4 address", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp``\nthat is configuring an IPv4 Address on a sub-interface port attached to a\nsub-interface network Resource ID **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_IP_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{vmi_index}`` is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of ``{network-role}``\n* ``IP`` signifies that an IPv4 address is being configured\n* ``{index}`` is the index of the IPv4 address", "full_title": "", "hide_links": "", "id": "R-20947", @@ -25881,15 +25881,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-20974": { "description": "At orchestration time, the VNF's Base Module **MUST**\nbe deployed first, prior to any incremental modules.", @@ -25948,7 +25948,7 @@ "validation_mode": "" }, "R-21330": { - "description": "A VNF's Heat Orchestration Template's Resource property\nparameter that is associated with external network **MUST**\ninclude the '{network-role}' as part of the parameter name.", + "description": "A VNF's Heat Orchestration Template's Resource property parameter that is\nassociated with external network **MUST** include the ``{network-role}``\nas part of the parameter name.", "full_title": "", "hide_links": "", "id": "R-21330", @@ -25970,12 +25970,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-21511": { - "description": "A VNF's Heat Orchestration Template's use of '{network-role}'\nin all Resource IDs **MUST** be the same case.", + "description": "A VNF's Heat Orchestration Template's use of ``{network-role}``\nin all Resource IDs **MUST** be the same case.", "full_title": "", "hide_links": "", "id": "R-21511", @@ -25997,9 +25997,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-21558": { "description": "The VNF **SHOULD** use intelligent routing by having knowledge\nof multiple downstream/upstream endpoints that are exposed to it, to\nensure there is no dependency on external services (such as load balancers)\nto switch to alternate endpoints.", @@ -26142,7 +26142,7 @@ "validation_mode": "" }, "R-22288": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property\n'subnet'/'subnet_id' parameter 'int\\_{network-role}_v6_subnet_id'\n**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\nEnvironment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``subnet``/``subnet_id`` parameter\n``int_{network-role}_v6_subnet_id``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-22288", @@ -26165,9 +26165,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-22346": { "description": "The VNF package MUST provide `VES Event Registration <https://onap.readthedocs.io/en/latest/submodules/vnfsdk/model.git/docs/files/VESEventRegistration.html>`_ for all VES events provided by that xNF.", @@ -26226,7 +26226,7 @@ "validation_mode": "" }, "R-22441": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf\\_module\\_index' is passed\ninto a Nested YAML file, the parameter name 'vf\\_module\\_index'\n**MUST NOT** change.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_index`` is passed into a\nNested YAML\nfile, the parameter name ``vf_module_index`` **MUST NOT** change.", "full_title": "", "hide_links": "", "id": "R-22441", @@ -26249,9 +26249,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-22589": { "description": "A VNF's Heat Orchestration Template parameter declaration\n**MAY** contain the attribute ``immutable:``.", @@ -26341,7 +26341,7 @@ "validation_mode": "" }, "R-22688": { - "description": "If a VNF's port is connected to an internal network and the\nport is created in an Incremental Module and the internal\nnetwork is created in the Base Module then the UUID of the\ninternal network **MUST** be exposed\nas a parameter in the 'outputs:' section of the Base Module and the port\nresource **MUST** use a 'get_param' to obtain the network UUID.", + "description": "If a VNF's port is connected to an internal network and the port is\ncreated in an Incremental Module and the internal network is created\nin the Base Module then the UUID of the internal network **MUST** be\nexposed as a parameter in the ``outputs:`` section of the Base Module\nand the port resource **MUST** use a ``get_param`` to obtain the network\nUUID.", "full_title": "", "hide_links": "", "id": "R-22688", @@ -26364,9 +26364,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-22700": { "description": "The xNF **MUST** conform its YANG model to RFC 6470,\n\"NETCONF Base Notifications\".", @@ -26399,7 +26399,7 @@ "validation_mode": "" }, "R-22838": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'name' parameter **MUST NOT** be enumerated\nin the Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``name`` parameter **MUST NOT** be enumerated in the Heat Orchestration\nTemplate's Environment File.", "full_title": "", "hide_links": "", "id": "R-22838", @@ -26422,9 +26422,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-22888": { "description": "The xNF provider **MUST** provide documentation for the xNF\nPolicy Description to manage the xNF runtime lifecycle. The document\nmust include a description of how the policies (conditions and actions)\nare implemented in the xNF.", @@ -26540,7 +26540,7 @@ "validation_mode": "" }, "R-23311": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'availability_zone' parameter **MUST**\nbe declared as type: 'string'.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Nova::Server`` property\n``availability_zone`` parameter **MUST** be declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-23311", @@ -26563,9 +26563,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-23475": { "description": "VNFCs **SHOULD** be agnostic to the details of the Network Cloud\n(such as hardware, host OS, Hypervisor or container technology) and must run\non the Network Cloud with acknowledgement to the paradigm that the Network\nCloud will continue to rapidly evolve and the underlying components of\nthe platform will change regularly.", @@ -26595,7 +26595,7 @@ "validation_mode": "" }, "R-23503": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' is attaching to an external network, and an IPv6\naddress is assigned using the property 'fixed_ips' map property 'ip_address'\nand the parameter type is defined as a comma_delimited_list, the parameter\nname **MUST** follow the naming convention\n\n * '{vm-type}_{network-role}_v6_ips'\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the external network", + "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 Requirement R-57424),\nand an IPv6 address is assigned\nusing the property ``fixed_ips``\nmap property ``ip_address`` and the parameter type is defined as a\n``comma_delimited_list``,\nthe parameter name **MUST** follow the\nnaming convention\n\n * ``{vm-type}_{network-role}_v6_ips``\n\nwhere\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", "full_title": "", "hide_links": "", "id": "R-23503", @@ -26618,9 +26618,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-23664": { "description": "A VNF's Heat Orchestration template **MUST**\ncontain the section ``resources:``.", @@ -26822,7 +26822,7 @@ "validation_mode": "" }, "R-24997": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Nova::Keypair applies to one {vm-type} Resource ID **SHOULD**\nuse the naming convention\n\n * {vm-type}_keypair_{index}\n\nwhere\n\n * {network-role} is the network-role\n * {index} is the {index} of the keypair", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Nova::Keypair`` applies to\none ``{vm-type}`` Resource ID **SHOULD** use the naming convention\n\n* ``{vm-type}_keypair_{index}``\n\nwhere\n\n* ``{network-role}`` is the network-role\n* ``{index}`` is the ``{index}`` of the keypair", "full_title": "", "hide_links": "", "id": "R-24997", @@ -26840,13 +26840,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -26965,7 +26965,7 @@ "validation_mode": "" }, "R-25720": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::Net Resource ID **MUST** use the naming convention\n\n * int_{network-role}_network", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Net``\nResource ID **MUST** use the naming convention\n\n* ``int_{network-role}_network``\n\nVNF Heat Orchestration Templates can only create internal networks.\nThere is no ``{index}`` after ``{network-role}`` because ``{network-role}``\n**MUST** be unique in the scope of the VNF's\nHeat Orchestration Template.", "full_title": "", "hide_links": "", "id": "R-25720", @@ -26983,15 +26983,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-25877": { "description": "A VNF's Heat Orchestration Template's parameter name\n(i.e., <param name>) **MUST** contain only alphanumeric\ncharacters and underscores ('_').", @@ -27084,7 +27084,7 @@ "validation_mode": "static" }, "R-26351": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::Port that is attaching to an internal network Resource ID\n**MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_int_{network-role}_port_{port-index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port is attached to\n * {port-index} is the instance of the the port on the vm-type\n attached to the network of {network-role}", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``\nthat is attaching to an internal network Resource ID **MUST**\nuse the naming convention\n\n* ``{vm-type}_{vm-type_index}_int_{network-role}_port_{port-index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{port-index}`` is the instance of the the port on the vm-type\n attached to the network of ``{network-role}``", "full_title": "", "hide_links": "", "id": "R-26351", @@ -27102,15 +27102,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-26371": { "description": "The VNF **MUST** detect communication failure for inter VNFC\ninstance and intra/inter VNF and re-establish communication\nautomatically to maintain the VNF without manual intervention to\nprovide service continuity.", @@ -27141,7 +27141,7 @@ "validation_mode": "" }, "R-26506": { - "description": "A VNF's Heat Orchestration Template's '{network-role}'\n**MUST** contain only alphanumeric characters and/or\nunderscores '_' and **MUST NOT** contain any of the following\nstrings: '_int' or 'int\\_' or '\\_int\\_'.", + "description": "A VNF's Heat Orchestration Template's ``{network-role}`` **MUST** contain\nonly alphanumeric characters and/or underscores '_' and\n**MUST NOT** contain any of the following strings:\n``_int`` or ``int_`` or ``_int_``.", "full_title": "", "hide_links": "", "id": "R-26506", @@ -27163,9 +27163,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-26508": { "description": "The xNF **MUST** support a NETCONF server that can be mounted on\nOpenDaylight (client) and perform the operations of: modify, update,\nchange, rollback configurations using each configuration data element,\nquery each state (non-configuration) data element, execute each YANG\nRPC, and receive data through each notification statement.", @@ -27315,7 +27315,7 @@ "validation_mode": "" }, "R-27469": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::Port that is creating a *Reserve Port* with an IPv4 address\nResource ID **MUST** use the naming convention\n\n * reserve_port_{vm-type}_{network-role}_floating_ip_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {network-role} is the network-role of the network\n that the port is attached to\n * {index} is the instance of the IPv4 *Reserve Port*\n for the vm-type attached to the network of {network-role}", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``\nthat is creating a *Reserve Port* with an IPv4 address Resource ID **MUST**\nuse the naming convention\n\n* ``reserve_port_{vm-type}_{network-role}_floating_ip_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{index}`` is the instance of the IPv4 *Reserve Port*\n for the vm-type attached to the network of ``{network-role}``", "full_title": "", "hide_links": "", "id": "R-27469", @@ -27333,15 +27333,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-27511": { "description": "The VNF provider **MUST** provide the ability to scale\nup a VNF provider supplied product during growth and scale down a\nVNF provider supplied product during decline without \"real-time\"\nrestrictions based upon VNF provider permissions.", @@ -27400,7 +27400,7 @@ "validation_mode": "" }, "R-27818": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' is attaching to an internal network, and an IPv6 address\nis assigned using the property 'fixed_ips' map property 'ip_address' and\nthe parameter type is defined as a string, the parameter name **MUST** follow\nthe naming convention\n\n * '{vm-type}\\_int\\_{network-role}\\_v6\\_ip\\_{index}'\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the internal network\n * the value for {index} must start at zero (0) and increment by one", + "description": "When the VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` is attaching to an internal network (per the\nONAP definition, see RRequirements R-52425 and R-46461),\nand an IPv6 address is assigned\nusing the property ``fixed_ips``\nmap property ``ip_address`` and the parameter type is defined as a\n``string``,\nthe parameter name **MUST** follow the\nnaming convention\n\n * ``{vm-type}_int_{network-role}_v6_ip_{index}``\n\nwhere\n\n * ``{vm-type}`` is the {vm-type} associated with the\n ``OS::Nova::Server``\n * ``{network-role}`` is the {network-role} of the internal\n network\n * the value for ``{index}`` must start at zero (0) and increment by one", "full_title": "", "hide_links": "", "id": "R-27818", @@ -27423,12 +27423,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-27970": { - "description": "When a VNF's Heat Orchestration Template's resource is associated\nwith more than one '{vm-type}' and/or more than one internal and/or\nexternal network, the Resource ID **MAY** contain the term 'shared'\nand/or **MAY** contain text that identifies the VNF.", + "description": "When a VNF's Heat Orchestration Template's resource is associated with\nmore than one ``{vm-type}`` and/or more than one internal and/or external\nnetwork, the Resource ID **MAY** contain the term ``shared`` and/or **MAY**\ncontain text that identifies the VNF.", "full_title": "", "hide_links": "", "id": "R-27970", @@ -27450,7 +27450,7 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -27511,7 +27511,7 @@ "validation_mode": "" }, "R-28189": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::InterfaceRouteTable' Resource ID **MAY**\nuse the naming convention\n\n * {network-role}_RIRT\n\nwhere\n\n * {network-role} is the network-role\n * 'RIRT' signifies that it is the Resource Interface Route Table", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::InterfaceRouteTable``\nResource ID **MAY** use the naming convention\n\n* ``{network-role}_RIRT``\n\nwhere\n\n* ``{network-role}`` is the network-role\n* ``RIRT`` signifies that it is the Resource Interface Route Table", "full_title": "", "hide_links": "", "id": "R-28189", @@ -27529,18 +27529,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-28222": { - "description": "If a VNF's Heat Orchestration Template\n'OS::ContrailV2::InterfaceRouteTable' resource\n'interface_route_table_routes' property\n'interface_route_table_routes_route' map property parameter name\n**MUST** follow the format\n\n * {vm-type}_{network-role}_route_prefixes", + "description": "If a VNF's Heat Orchestration Template\n``OS::ContrailV2::InterfaceRouteTable`` resource\n``interface_route_table_routes`` property\n``interface_route_table_routes_route`` map property parameter name\n**MUST** follow the format\n\n* ``{vm-type}_{network-role}_route_prefixes``", "full_title": "", "hide_links": "", "id": "R-28222", @@ -27557,15 +27557,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-28545": { "description": "The xNF **MUST** conform its YANG model to RFC 6060,\n\"YANG - A Data Modeling Language for the Network Configuration\nProtocol (NETCONF)\".", @@ -27628,7 +27628,7 @@ "validation_mode": "" }, "R-28795": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address'\nparameter '{vm-type}\\_int\\_{network-role}\\_ip\\_{index}' **MUST** be enumerated\nin the VNF's Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n``{vm-type}_int_{network-role}_ip_{index}``\n**MUST** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-28795", @@ -27651,9 +27651,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-28980": { "description": "A VNF's incremental module **MAY** be used for initial VNF deployment only.", @@ -27802,7 +27802,7 @@ "validation_mode": "" }, "R-29751": { - "description": "A VNF's Heat Orchestration Template's Resource OS::Nova::Server\nResource ID **MUST** use the naming convention\n\n * {vm-type}_server_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {index} is the index", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` Resource ID\n**MUST** use the naming convention\n\n* ``{vm-type}_server_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{index}`` is the index", "full_title": "", "hide_links": "", "id": "R-29751", @@ -27820,15 +27820,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-29760": { "description": "The VNFC **MUST** be installed on non-root file systems,\nunless software is specifically included with the operating system\ndistribution of the guest image.", @@ -27858,7 +27858,7 @@ "validation_mode": "" }, "R-29765": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' is attaching to an internal network, and an IPv6\naddress is assigned using the property 'fixed_ips' map property 'ip_address'\nand the parameter type is defined as a comma_delimited_list, the parameter\nname **MUST** follow the naming convention\n\n * '{vm-type}\\_int\\_{network-role}_v6_ips'\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the internal network", + "description": "When the VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` is attaching to an internal network (per the\nONAP definition, see Requirement Requirements R-52425 and R-46461),\nand an IPv6 address is assigned\nusing the property ``fixed_ips``\nmap property ``ip_address`` and the parameter type is defined as a\n``comma_delimited_list``,\nthe parameter name **MUST** follow the\nnaming convention\n\n * ``{vm-type}_int_{network-role}_v6_ips``\n\nwhere\n\n * ``{vm-type}`` is the {vm-type} associated with the\n ``OS::Nova::Server``\n * ``{network-role}`` is the {network-role} of the internal\n network", "full_title": "", "hide_links": "", "id": "R-29765", @@ -27881,9 +27881,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-29865": { "description": "When a VNF connects to an external network, a network role,\nreferred to as the '{network-role}' **MUST** be assigned to the\nexternal network for use in the VNF's Heat Orchestration Template.", @@ -27914,7 +27914,7 @@ "validation_mode": "" }, "R-29872": { - "description": "The VNF's Heat Orchestration Template's Resource 'OS::Nova::Server'\nproperty 'network' parameter **MUST NOT** be enumerated in the Heat\nOrchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty ``network``\nparameter **MUST NOT** be enumerated in the Heat Orchestration\nTemplate's Environment File.", "full_title": "", "hide_links": "", "id": "R-29872", @@ -27937,9 +27937,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-29977": { "description": "The VNF **MUST** provide the capability of testing the validity\nof a digital certificate by validating the CA signature on the certificate.", @@ -27970,7 +27970,7 @@ "validation_mode": "" }, "R-30005": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::SecurityGroup that is applicable to more than one\n{vm-type} and more than one network (internal and/or external)\nResource ID **MAY** use the naming convention\n\n * shared_security_group\n\nor\n\n * {vnf-type}_security_group\n\nwhere\n\n * {vnf-type} describes the VNF", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that\nis applicable to more than one ``{vm-type}`` and more than one network\n(internal and/or external) Resource ID **MAY**\nuse the naming convention\n\n* ``shared_security_group``\n\nor\n\n* ``{vnf-type}_security_group``\n\nwhere\n\n* ``{vnf-type}`` describes the VNF", "full_title": "", "hide_links": "", "id": "R-30005", @@ -27988,13 +27988,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -28113,7 +28113,7 @@ "validation_mode": "" }, "R-30753": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::NetworkIpam' Resource ID **MUST**\ncontain the '{network-role}'.", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::NetworkIpam``\nResource ID\n**MUST**\ncontain the ``{network-role}``.", "full_title": "", "hide_links": "", "id": "R-30753", @@ -28131,18 +28131,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-30804": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::Heat::MultipartMime' Resource ID **MUST** contain the '{vm-type}'.", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::Heat::MultipartMime``\nResource ID\n**MUST**\ncontain the ``{vm-type}``.", "full_title": "", "hide_links": "", "id": "R-30804", @@ -28160,15 +28160,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-30932": { "description": "The VNF **MUST** log successful and unsuccessful access to VNF\nresources, including data.", @@ -28313,7 +28313,7 @@ "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 of\nthe VNF for use in the VNF's Heat Orchestration Template.", + "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.", "full_title": "", "hide_links": "", "id": "R-32025", @@ -28336,9 +28336,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-32094": { "description": "A VNF's Heat Orchestration Template parameter declaration **MAY**\ncontain the attribute ``label:``.", @@ -28401,7 +28401,7 @@ "validation_mode": "" }, "R-32394": { - "description": "A VNF's Heat Orchestration Template's use of '{vm-type}'\nin all Resource property parameter names **MUST** be the same case.", + "description": "A VNF's Heat Orchestration Template's use of ``{vm-type}`` in all Resource\nproperty parameter names **MUST** be the same case.", "full_title": "", "hide_links": "", "id": "R-32394", @@ -28423,12 +28423,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-32408": { - "description": "If a VNF's Heat Orchestration Template property 'name'\nfor a non 'OS::Nova::Server' resource uses the intrinsic function\n'str_replace' in conjunction with the ONAP\nsupplied metadata parameter 'vnf_name' and does not create\na unique value, additional data **MUST** be used in the\n'str_replace' to create a unique value, such as 'OS::stack_name'\nand/or the 'OS::Heat::ResourceGroup' 'index'.", + "description": "If a VNF's Heat Orchestration Template property ``name``\nfor a non ``OS::Nova::Server`` resource uses the intrinsic function\n``str_replace`` in conjunction with the ONAP\nsupplied metadata parameter ``vnf_name`` and does not create\na unique value, additional data **MUST** be used in the\n``str_replace`` to create a unique value, such as ``OS::stack_name``\nand/or the ``OS::Heat::ResourceGroup`` ``index``.", "full_title": "", "hide_links": "", "id": "R-32408", @@ -28444,15 +28444,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-32557": { "description": "A VNF's Heat Orchestration Template parameter declaration **MAY**\ncontain the attribute ``hidden:``.", @@ -28855,7 +28855,7 @@ "validation_mode": "" }, "R-34037": { - "description": "The VNF's Heat Orchestration Template's resource 'OS::Neutron::Port'\nproperty 'fixed_ips' map property 'ip_address' parameter **MUST**\nbe declared as either type 'string' or type 'comma_delimited_list'.", + "description": "The VNF's Heat Orchestration Template's\nresource ``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n**MUST** be declared as either type ``string`` or type\n``comma_delimited_list``.", "full_title": "", "hide_links": "", "id": "R-34037", @@ -28878,12 +28878,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-34055": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'workload_context' **MUST NOT**\nhave parameter contraints defined.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``workload_context`` **MUST NOT**\nhave parameter constraints defined.", "full_title": "", "hide_links": "", "id": "R-34055", @@ -28906,9 +28906,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-34484": { "description": "The VNF **SHOULD** create a single component VNF for VNFCs\nthat can be used by other VNFs.", @@ -29194,7 +29194,7 @@ "validation_mode": "" }, "R-35666": { - "description": "If a VNF has an internal network, the VNF Heat Orchestration\nTemplate **MUST** include the heat resources to create the internal network.", + "description": "If a VNF has an internal network, the VNF Heat Orchestration Template\n**MUST** include the heat resources to create the internal network.", "full_title": "", "hide_links": "", "id": "R-35666", @@ -29217,12 +29217,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-35735": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' is attaching to an external network,\nand an IPv6 Virtual IP (VIP) address is assigned via ONAP automation\nusing the property 'allowed_address_pairs' map property 'ip_address',\nthe parameter name **MUST** follow the naming convention\n\n * '{vm-type}_{network-role}_v6_floating_ip'\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the external network\n\nAnd the parameter **MUST** be declared as type 'string'.", + "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 IPv6 Virtual IP (VIP)\naddress is assigned via ONAP automation\nusing the property ``allowed_address_pairs``\nmap property ``ip_address``,\nthe parameter name **MUST** follow the\nnaming convention\n\n * ``{vm-type}_{network-role}_v6_floating_ip``\n\nwhere\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\nAnd the parameter **MUST** be declared as type ``string``.", "full_title": "", "hide_links": "", "id": "R-35735", @@ -29240,15 +29240,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-35851": { "description": "The xNF Package **MUST** include xNF topology that describes\nbasic network and application connectivity internal and external to the\nxNF including Link type, KPIs, Bandwidth, latency, jitter, QoS (if\napplicable) for each interface.", @@ -29335,7 +29335,7 @@ "validation_mode": "" }, "R-36542": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_name' **MUST NOT** be\nenumerated in the Heat Orchestration Template's environment file.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vnf_name`` **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", "full_title": "", "hide_links": "", "id": "R-36542", @@ -29358,9 +29358,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-36582": { "description": "A VNF's Base Module **MAY** utilize nested heat.", @@ -29391,7 +29391,7 @@ "validation_mode": "" }, "R-36687": { - "description": "A VNF's Heat Orchestration Template's '{vm-type}' case in\nResource property parameter names **SHOULD** match the case of\n'{vm-type}' in Resource IDs and vice versa.", + "description": "A VNF's Heat Orchestration Template's ``{vm-type}`` case in Resource\nproperty parameter names **SHOULD** match the case of ``{vm-type}``\nin Resource IDs and vice versa.", "full_title": "", "hide_links": "", "id": "R-36687", @@ -29413,7 +29413,7 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -29561,7 +29561,7 @@ "validation_mode": "" }, "R-37039": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_index' **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_index`` **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", "full_title": "", "hide_links": "", "id": "R-37039", @@ -29584,12 +29584,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-37437": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource **MUST** contain the metadata map value parameter 'vnf_id'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server``\nresource property ``metadata`` **MUST**\ncontain the key/value pair ``vnf_id``.", "full_title": "", "hide_links": "", "id": "R-37437", @@ -29612,9 +29612,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-37692": { "description": "The VNFC **MUST** provide API versioning to allow for\nindependent upgrades of VNFC.", @@ -29703,7 +29703,7 @@ "validation_mode": "" }, "R-38236": { - "description": "The VNF's Heat Orchestration Template's resource\n'OS::Neutron::Port' property 'fixed_ips' map property\n'subnet'/'subnet_id' parameter **MUST** be declared type 'string'.", + "description": "The VNF's Heat Orchestration Template's\nresource ``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``subnet``/``subnet_id`` parameter\n**MUST** be declared type ``string``.", "full_title": "", "hide_links": "", "id": "R-38236", @@ -29726,9 +29726,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-38474": { "description": "The VNF **MUST** have a corresponding environment file for a Base Module.", @@ -29759,7 +29759,7 @@ "validation_mode": "static" }, "R-39067": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_name' **MUST**\nbe declared as type: 'string'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_name`` **MUST**\nbe declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-39067", @@ -29782,9 +29782,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-39342": { "description": "The VNF **MUST**, if not using the NCSP's IDAM API, comply\nwith \"password changes (includes default passwords)\" policy. Products\nwill support password aging, syntax and other credential management\npractices on a configurable basis.", @@ -29955,7 +29955,7 @@ "validation_mode": "" }, "R-39841": { - "description": "The VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port'\nproperty 'fixed_ips' map property 'ip_address' parameter\n'{vm-type}_{network-role}_ip_{index}' **MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n``{vm-type}_{network-role}_ip_{index}``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-39841", @@ -29978,9 +29978,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-40293": { "description": "The xNF **MUST** make available playbooks that conform\nto the ONAP requirement.", @@ -30013,7 +30013,7 @@ "validation_mode": "" }, "R-40499": { - "description": "Each VNF's Heat Orchestration Template's '{vm-type}' **MUST**\nhave a unique parameter name for the 'OS::Nova::Server' property\n'flavor' even if more than one {vm-type} shares the same flavor.", + "description": "Each VNF's Heat Orchestration Template's ``{vm-type}`` **MUST**\nhave a unique parameter name for the ``OS::Nova::Server`` property\n``flavor`` even if more than one ``{vm-type}`` shares the same flavor.", "full_title": "", "hide_links": "", "id": "R-40499", @@ -30036,9 +30036,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-40518": { "description": "A VNF's Heat Orchestration Template's parameter defined\nin a non-nested YAML file as type\n``string`` **MAY** have a parameter constraint defined.", @@ -30184,7 +30184,7 @@ "validation_mode": "" }, "R-40899": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'name' parameter is defined as a 'string',\na parameter **MUST** be declared for each 'OS::Nova::Server' resource\nassociated with the '{vm-type}'.", + "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}``.", "full_title": "", "hide_links": "", "id": "R-40899", @@ -30207,12 +30207,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "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, and an IPv4\naddress is assigned using the property 'fixed_ips' map property\n'ip_address' and the parameter type is defined\nas a string, the parameter name **MUST** follow the naming\nconvention\n - '{vm-type}_{network-role}\\_ip\\_{index}'\n\nwhere\n\n - '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n - '{network-role}' is the {network-role} of the external network\n - the value for {index} must start at zero (0) and increment by one", + "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", "full_title": "", "hide_links": "", "id": "R-40971", @@ -30235,9 +30235,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-41159": { "description": "The VNF **MUST** deliver any and all functionality from any\nVNFC in the pool (where pooling is the most suitable solution). The\nVNFC pool member should be transparent to the client. Upstream and\ndownstream clients should only recognize the function being performed,\nnot the member performing it.", @@ -30353,7 +30353,7 @@ "validation_mode": "" }, "R-41492": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' is attaching to an external network,\nand an IPv4 Virtual IP (VIP) address is assigned via ONAP automation\nusing the property 'allowed_address_pairs' map property 'ip_address' and\nthe parameter name **MUST** follow the naming convention\n\n * '{vm-type}_{network-role}_floating_ip'\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the external network\n\nAnd the parameter **MUST** be declared as type 'string'.", + "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 Virtual IP (VIP)\naddress is assigned via ONAP automation\nusing the property ``allowed_address_pairs``\nmap property ``ip_address`` and\nthe parameter name **MUST** follow the\nnaming convention\n\n * ``{vm-type}_{network-role}_floating_ip``\n\nwhere\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\nAnd the parameter **MUST** be declared as type ``string``.", "full_title": "", "hide_links": "", "id": "R-41492", @@ -30371,15 +30371,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-41825": { "description": "The VNF **MUST** activate security alarms automatically when\na configurable number of consecutive unsuccessful login attempts\nis reached.", @@ -30486,15 +30486,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-41994": { "description": "The VNF **MUST**, if not using the NCSP's IDAM API, comply\nwith \"No Self-Signed Certificates\" policy. Self-signed certificates\nmust be used for encryption only, using specified and approved\nencryption protocols such as TLS 1.2 or higher or equivalent security\nprotocols such as IPSec, AES.", @@ -31071,7 +31071,7 @@ "validation_mode": "" }, "R-44271": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'name' parameter value **SHOULD NOT**\ncontain special characters since the Contrail GUI has a limitation\ndisplaying special characters.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``name`` parameter value **SHOULD NOT** contain special characters\nsince the Contrail GUI has a limitation displaying special characters.\n\nHowever, if special characters must be used, the only special characters\nsupported are: --- \\\" ! $ ' (\\ \\ ) = ~ ^ | @ ` { } [ ] > , . _", "full_title": "", "hide_links": "", "id": "R-44271", @@ -31095,7 +31095,7 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -31159,7 +31159,7 @@ "validation_mode": "" }, "R-44318": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_name' **MUST NOT** have\nparameter contraints defined.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vnf_name`` **MUST NOT**\nhave parameter constraints defined.", "full_title": "", "hide_links": "", "id": "R-44318", @@ -31182,12 +31182,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-44491": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_id' is passed into a\nNested YAML file, the parameter name 'vnf_id' **MUST NOT** change.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource\nproperty\n``metadata`` key/value pair ``vnf_id`` is passed into a Nested YAML\nfile, the key/value pair name ``vnf_id`` **MUST NOT** change.", "full_title": "", "hide_links": "", "id": "R-44491", @@ -31210,9 +31210,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-44569": { "description": "The xNF provider **MUST NOT** require additional\ninfrastructure such as a xNF provider license server for xNF provider\nfunctions and metrics.", @@ -31299,7 +31299,7 @@ "validation_mode": "" }, "R-45188": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'flavor' parameter name **MUST** follow the\nnaming convention '{vm-type}_flavor_name'.", + "description": "The VNF's Heat Orchestration Template's Resource 'OS::Nova::Server' property\n``flavor`` parameter name **MUST** follow the naming convention\n``{vm-type}_flavor_name``.", "full_title": "", "hide_links": "", "id": "R-45188", @@ -31322,12 +31322,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-45602": { - "description": "If a VNF's Port is attached to a network (internal or external)\nand the port's IP addresses are Cloud Assigned by OpenStack's DHCP\nService, the 'OS::Neutron::Port' Resource's\n\n * property 'fixed_ips' map property 'ip_address' **MUST NOT** be used\n * property 'fixed_ips' map property 'subnet'/'subnet_id' **MAY** be used", + "description": "If a VNF's Port is attached to a network (internal or external)\nand the port's IP addresses are cloud assigned by OpenStack's DHCP\nService, the ``OS::Neutron::Port`` Resource's\n\n* property ``fixed_ips`` map property ``ip_address`` **MUST NOT** be used\n* property ``fixed_ips`` map property ``subnet``/``subnet_id``\n **MAY** be used", "full_title": "", "hide_links": "", "id": "R-45602", @@ -31345,15 +31345,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-45856": { "description": "The xNF **MUST** support ONAP Controller's **UpgradePostCheck** command.", @@ -31441,7 +31441,7 @@ "validation_mode": "" }, "R-46128": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::InstanceIp' that is configuring an\nIPv6 Address on a port attached to an external network\nResource ID **MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_v6_IP_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port is attached to\n * {vmi_index} is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of {network-role}\n * 'v6_IP' signifies that an IPv6 address is being configured\n * {index} is the index of the IPv6 address", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp``\nthat is configuring an IPv6 Address on a port attached to an external network\nResource ID **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_v6_IP_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{vmi_index}`` is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of {network-role}\n* ``v6_IP`` signifies that an IPv6 address is being configured\n* ``{index}`` is the index of the IPv6 address", "full_title": "", "hide_links": "", "id": "R-46128", @@ -31459,15 +31459,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-46290": { "description": "The xNF **MUST** respond to an ONAP request to deliver granular\ndata on device or subsystem status or performance, referencing the YANG\nconfiguration model for the xNF by returning the requested data elements.", @@ -31522,9 +31522,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-46567": { "description": "The xNF Package **MUST** include configuration scripts\nfor boot sequence and configuration.", @@ -31556,7 +31556,7 @@ "validation_mode": "" }, "R-46823": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_name' **MUST** be\neither\n\n - enumerated in the VNF's Heat Orchestration\n Template's environment file.\n\n - hard coded in the VNF's Heat Orchestration\n Template's OS::Nova::Resource metadata property.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vm_role`` **MUST**\nbe either\n\n * enumerated in the VNF's Heat Orchestration Template's environment\n file.\n\n * hard coded in the VNF's\n Heat Orchestration Template's ``OS::Nova::Server`` Resource\n ``metadata`` property.", "full_title": "", "hide_links": "", "id": "R-46823", @@ -31579,12 +31579,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-46839": { - "description": "A VNF's Heat Orchestration Template's use of\n'{vm-type}' in all Resource IDs **MUST** be the same case.", + "description": "A VNF's Heat Orchestration Template's use of ``{vm-type}``\nin all Resource IDs **MUST** be the same case.", "full_title": "", "hide_links": "", "id": "R-46839", @@ -31606,9 +31606,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-46908": { "description": "The VNF **MUST**, if not using the NCSP's IDAM API, comply\nwith \"password complexity\" policy. When passwords are used, they shall\nbe complex and shall at least meet the following password construction\nrequirements: (1) be a minimum configurable number of characters in\nlength, (2) include 3 of the 4 following types of characters:\nupper-case alphabetic, lower-case alphabetic, numeric, and special,\n(3) not be the same as the UserID with which they are associated or\nother common strings as specified by the environment, (4) not contain\nrepeating or sequential characters or numbers, (5) not to use special\ncharacters that may have command functions, and (6) new passwords must\nnot contain sequences of three or more characters from the previous\npassword.", @@ -31747,7 +31747,7 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -31867,7 +31867,7 @@ "validation_mode": "" }, "R-47874": { - "description": "A VNF **MAY** have\n\n * Only an IPv4 OAM Management IP Address\n * Only an IPv6 OAM Management IP Address\n * Both a IPv4 and IPv6 OAM Management IP Addresses", + "description": "A VNF **MAY** have\n * Only an IPv4 OAM Management IP Address\n * Only an IPv6 OAM Management IP Address\n * Both a IPv4 and IPv6 OAM Management IP Addresses", "full_title": "", "hide_links": "", "id": "R-47874", @@ -31885,18 +31885,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-48067": { - "description": "A VNF's Heat Orchestration Template's {vm-type} **MUST NOT** be a\nsubstring of {network-role}.", + "description": "A VNF's Heat Orchestration Template's ``{vm-type}`` **MUST NOT** be a\nsubstring\nof ``{network-role}``.", "full_title": "", "hide_links": "", "id": "R-48067", @@ -31918,9 +31918,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-48080": { "description": "The VNF **SHOULD** support an automated certificate management protocol\nsuch as CMPv2, Simple Certificate Enrollment Protocol (SCEP) or\nAutomated Certificate Management Environment (ACME).", @@ -32094,7 +32094,7 @@ "validation_mode": "" }, "R-48880": { - "description": "If a VNF's Port is attached to an external network and the port's\nIP addresses are assigned by ONAP's SDN-Controller,\nthe 'OS::Neutron::Port' Resource's\n\n * property 'fixed_ips' map property 'ip_address' **MUST** be used\n * property 'fixed_ips' map property 'subnet'/'subnet_id' **MUST NOT** be used", + "description": "If a VNF's Port is attached to an external network and the port's\nIP addresses are assigned by ONAP's SDN-Controller,\nthe ``OS::Neutron::Port`` Resource's\n\n* property ``fixed_ips`` map property ``ip_address`` **MUST** be used\n* property ``fixed_ips`` map property ``subnet``/``subnet_id``\n **MUST NOT** be used", "full_title": "", "hide_links": "", "id": "R-48880", @@ -32112,15 +32112,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-48917": { "description": "The VNF **MUST** monitor for and alert on (both sender and\nreceiver) errant, running longer than expected and missing file transfers,\nso as to minimize the impact due to file transfer errors.", @@ -32151,7 +32151,7 @@ "validation_mode": "" }, "R-48987": { - "description": "If the VNF's OAM Management IP Address is Cloud assigned and\nand the OAM IP Address is required to be inventoried in ONAP AAI,\nthen the parameter **MUST** be obtained by the resource 'OS::Neutron::Port'\nattribute 'ip_address'.", + "description": "If the VNF's OAM Management IP Address is cloud assigned and\nand the OAM IP Address is required to be inventoried in ONAP A&AI,\nthen the parameter **MUST** be obtained by the\nresource ``OS::Neutron::Port``\nattribute ``ip_address``.", "full_title": "", "hide_links": "", "id": "R-48987", @@ -32169,15 +32169,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-49036": { "description": "The xNF **SHOULD** conform its YANG model to RFC 7277,\n\"A YANG Data Model for IP Management\".", @@ -32268,7 +32268,7 @@ "validation_mode": "" }, "R-49177": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_name' is passed\ninto a Nested YAML file, the parameter name 'vf_module_name'\n**MUST NOT** change.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\nmetadata map value parameter ``vf_module_name`` is passed into a Nested YAML\nfile, the parameter name ``vf_module_name`` **MUST NOT** change.", "full_title": "", "hide_links": "", "id": "R-49177", @@ -32291,9 +32291,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-49224": { "description": "The VNF **MUST** provide unique traceability of a transaction\nthrough its life cycle to ensure quick and efficient troubleshooting.", @@ -32471,7 +32471,7 @@ "validation_mode": "" }, "R-50436": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'flavor' parameter **MUST** be declared as\ntype: 'string'.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``flavor`` parameter **MUST** be declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-50436", @@ -32494,12 +32494,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-50468": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::ContrailV2::VirtualMachineInterface that is attaching\nto an internal network Resource ID **MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port (i.e. virtual machine interface) is attached to\n * {vmi_index} is the instance of the the vmi on the vm-type\n attached to the network of {network-role}", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::VirtualMachineInterface`` that is attaching to an internal network\nResource ID **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port (i.e. virtual machine interface) is attached to\n* ``{vmi_index}`` is the instance of the the vmi on the vm-type\n attached to the network of ``{network-role}``", "full_title": "", "hide_links": "", "id": "R-50468", @@ -32517,18 +32517,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-50816": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource **MAY** contain the metadata map value parameter\n'vf_module_index'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server Resource`` **MAY**\ncontain the metadata map value parameter ``vf_module_index``.", "full_title": "", "hide_links": "", "id": "R-50816", @@ -32551,12 +32551,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-51430": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'name' parameter **MUST** be declared as\neither type 'string' or type 'comma\\_delimited\\_list\".", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``name`` parameter **MUST** be declared as either type ``string``\nor type ``comma_delimited_list``.", "full_title": "", "hide_links": "", "id": "R-51430", @@ -32579,9 +32579,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-51442": { "description": "The xNF **SHOULD** use playbooks that are designed to\nautomatically 'rollback' to the original state in case of any errors\nfor actions that change state of the xNF (e.g., configure).\n\n Note: In case rollback at the playbook level is not supported or\n possible, the xNF provider shall provide alternative locking\n mechanism (e.g., for a small xNF the rollback mechanism may rely\n on workflow to terminate and re-instantiate VNF VMs and then re-run\n playbook(s)). Backing up updated files also recommended to support\n rollback when soft rollback is feasible.", @@ -32671,7 +32671,7 @@ "validation_mode": "" }, "R-52425": { - "description": "A VNF's port connected to an internal network **MUST** connect\nthe port to VMs in the same VNF.", + "description": "A VNF's port connected to an internal network **MUST**\nuse the port for the purpose of reaching VMs in the same VNF.", "full_title": "", "hide_links": "", "id": "R-52425", @@ -32694,9 +32694,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-52499": { "description": "The VNF **MUST** meet their own resiliency goals and not rely\non the Network Cloud.", @@ -32843,7 +32843,7 @@ "validation_mode": "" }, "R-53310": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::InstanceIp' that is configuring an IPv4 Address\non a port attached to an external network Resource ID **MUST**\nuse the naming convention\n\n * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_IP_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port is attached to\n * {vmi_index} is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of {network-role}\n * 'IP' signifies that an IPv4 address is being configured\n * {index} is the index of the IPv4 address", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp``\nthat is configuring an IPv4 Address on a port attached to an external network\nResource ID **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_IP_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the {vm-type}\n* ``{network-role}`` is the network-role of the network that the port is attached to\n* ``{vmi_index}`` is the instance of the the virtual machine interface\n (e.g., port) on the vm-type attached to the network of {network-role}\n* ``IP`` signifies that an IPv4 address is being configured\n* ``{index}`` is the index of the IPv4 address", "full_title": "", "hide_links": "", "id": "R-53310", @@ -32861,15 +32861,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-53317": { "description": "The xNF **MUST** conform its YANG model to RFC 6087,\n\"Guidelines for Authors and Reviewers of YANG Data Model Documents\".", @@ -32988,7 +32988,7 @@ "validation_mode": "static" }, "R-54171": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'name' parameter is defined as a 'string',\nthe parameter name **MUST** follow the naming convention\n'{vm-type}\\_name\\_{index}', where {index} is a numeric value that starts\nat zero and increments by one.", + "description": "When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty ``name`` parameter is defined as a ``string``,\nthe parameter name **MUST** follow the naming convention\n``{vm-type}_name_{index}``, where ``{index}`` is a numeric\nvalue that starts at\nzero and increments by one.", "full_title": "", "hide_links": "", "id": "R-54171", @@ -33011,9 +33011,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-54190": { "description": "The xNF **MUST** release locks to prevent permanent lock-outs\nwhen/if a session applying the lock is terminated (e.g., SSH session\nis terminated).", @@ -33046,7 +33046,7 @@ "validation_mode": "" }, "R-54340": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_index' **MUST** be\ndeclared as type: 'number'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_index`` **MUST**\nbe declared as type: ``number``.", "full_title": "", "hide_links": "", "id": "R-54340", @@ -33069,9 +33069,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-54373": { "description": "The xNF **MUST** have Python >= 2.6 on the endpoint VM(s)\nof a xNF on which an Ansible playbook will be executed.", @@ -33131,7 +33131,7 @@ "validation_mode": "" }, "R-54458": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::ContrailV2::VirtualMachineInterface that is attaching to\na sub-interface network Resource ID **MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port (i.e. virtual machine interface) is attached to\n * {vmi_index} is the instance of the the vmi on the vm-type\n attached to the network of {network-role}", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::VirtualMachineInterface`` that is attaching to a sub-interface\nnetwork Resource ID **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port (i.e. virtual machine interface) is attached to\n* ``{vmi_index}`` is the instance of the the vmi on the vm-type\n attached to the network of ``{network-role}``", "full_title": "", "hide_links": "", "id": "R-54458", @@ -33149,18 +33149,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-54517": { - "description": "When a VNF's Heat Orchestration Template's resource is associated\nwith a single '{vm-type}', the Resource ID **MUST** contain the '{vm-type}'.", + "description": "When a VNF's Heat Orchestration Template's resource is associated with\na single ``{vm-type}``, the Resource ID **MUST** contain the\n``{vm-type}``.", "full_title": "", "hide_links": "", "id": "R-54517", @@ -33182,9 +33182,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-54520": { "description": "The VNF **MUST** log successful and unsuccessful authentication\nattempts, e.g., authentication associated with a transaction,\nauthentication to create a session, authentication to assume elevated\nprivilege.", @@ -33271,7 +33271,7 @@ "validation_mode": "" }, "R-55218": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_id' **MUST NOT** have\nparameter contraints defined.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server``\nresource property\n``metadata`` key/value pair ``vnf_id`` parameter ``vnf_id`` **MUST NOT**\nhave parameter constraints defined.", "full_title": "", "hide_links": "", "id": "R-55218", @@ -33294,12 +33294,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-55306": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_index' **MUST NOT** be\nused in a VNF's Volume Template; it is not supported.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_index`` **MUST NOT**\nbe used in a\nVNF's Volume Template; it is not supported.", "full_title": "", "hide_links": "", "id": "R-55306", @@ -33322,9 +33322,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-55345": { "description": "The VNF **SHOULD** use techniques such as \"lazy loading\" when\ninitialization includes loading catalogues and/or lists which can grow\nover time, so that the VNF startup time does not grow at a rate\nproportional to that of the list.", @@ -33411,7 +33411,7 @@ "validation_mode": "" }, "R-56183": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'environment_context' **MUST NOT**\nhave parameter contraints defined.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``environment_context`` **MUST NOT**\nhave parameter constraints defined.", "full_title": "", "hide_links": "", "id": "R-56183", @@ -33434,9 +33434,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-56218": { "description": "The VNF **MUST** support ONAP Controller's Migrate command that\nmoves container (VM) from a live Physical Server / Compute Node to\nanother live Physical Server / Compute Node.\n\n Note: Container migrations MUST be transparent to the VNF and no more intrusive than a stop,\n followed by some down time for the migration to be performed from one Compute Node / Physical\n Server to another, followed by a start of the same VM with same configuration on the new\n Compute Node / Physical Server.", @@ -33468,7 +33468,7 @@ "validation_mode": "" }, "R-56287": { - "description": "If the VNF's OAM Management IP Address is assigned by ONAP SDN-C and\nassigned in the VNF's Heat Orchestration Template's via a heat resource\n'OS::Neutron::Port' property 'fixed_ips' map property\n'ip_adress' parameter (e.g., '{vm-type}_{network-role}_ip_{index}',\n'{vm-type}_{network-role}_v6_ip_{index}')\nand the OAM IP Address is required to be inventoried in ONAP AAI,\nthen the parameter **MUST** be echoed in an output statement.", + "description": "If the VNF's OAM Management IP Address is assigned by ONAP SDN-C and\nassigned in the VNF's Heat Orchestration Template's via a heat resource\n``OS::Neutron::Port`` property ``fixed_ips`` map property\n``ip_adress`` parameter (e.g., ``{vm-type}_{network-role}_ip_{index}``,\n``{vm-type}_{network-role}_v6_ip_{index}``)\nand the OAM IP Address is required to be inventoried in ONAP A&AI,\nthen the parameter **MUST** be echoed in an output statement.\n\n.. code-block:: yaml\n\n outputs:\n oam_management_v4_address:\n value: {get_param: {vm-type}_{network-role}_ip_{index} }\n oam_management_v6_address:\n value: {get_param: {vm-type}_{network-role}_v6_ip_{index} }", "full_title": "", "hide_links": "", "id": "R-56287", @@ -33486,15 +33486,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-56385": { "description": "The xNF **MUST** support ONAP Controller's **Audit** command.", @@ -33722,7 +33722,7 @@ "validation_mode": "" }, "R-57282": { - "description": "Each VNF's Heat Orchestration Template's '{vm-type}'\n**MUST** have a unique parameter name for the 'OS::Nova::Server'\nproperty 'image' even if more than one {vm-type} shares the same image.", + "description": "Each VNF's Heat Orchestration Template's ``{vm-type}`` **MUST**\nhave a unique parameter name for the ``OS::Nova::Server`` property\n``image`` even if more than one ``{vm-type}`` shares the same image.", "full_title": "", "hide_links": "", "id": "R-57282", @@ -33745,12 +33745,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-57424": { - "description": "A VNF's port connected to an external network **MUST**\nuse the port for the purpose of reaching VMs in another VNF\nand/or an external gateway and/or external router. A VNF's port\nconnected to an external network **MAY** use the port for\nthe purpose of reaching VMs in the same VNF.", + "description": "A VNF's port connected to an external network **MUST**\nuse the port for the purpose of reaching\nVMs in another VNF and/or an external gateway and/or external router.\nA VNF's port connected to an external network **MAY**\nuse the port for the purpose of reaching VMs in the same VNF.", "full_title": "", "hide_links": "", "id": "R-57424", @@ -33773,9 +33773,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-57617": { "description": "The VNF **MUST** include the field \"success/failure\" in the\nSecurity alarms (where applicable and technically feasible).", @@ -33949,7 +33949,7 @@ "validation_mode": "" }, "R-58424": { - "description": "A VNF's Heat Orchestration Template's use of '{network-role}'\nin all Resource property parameter names **MUST** be the same case.", + "description": "A VNF's Heat Orchestration Template's use of ``{network-role}``\nin all Resource property parameter names **MUST** be the same case.", "full_title": "", "hide_links": "", "id": "R-58424", @@ -33971,12 +33971,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-58670": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'image' parameter name **MUST** follow the\nnaming convention '{vm-type}_image_name'.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``image`` parameter name **MUST** follow the naming convention\n``{vm-type}_image_name``.", "full_title": "", "hide_links": "", "id": "R-58670", @@ -33999,9 +33999,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-58775": { "description": "The xNF provider **MUST** provide software components that\ncan be packaged with/near the xNF, if needed, to simulate any functions\nor systems that connect to the xNF system under test. This component is\nnecessary only if the existing testing environment does not have the\nnecessary simulators.", @@ -34088,7 +34088,7 @@ "validation_mode": "" }, "R-59434": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::Subnet Resource ID **SHOULD** use the naming convention\n\n * int_{network-role}_subnet_{index}\n\nwhere\n\n * {network-role} is the network-role\n * {index} is the {index} of the subnet of the network", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Subnet``\nResource ID **SHOULD** use the naming convention\n\n* ``int_{network-role}_subnet_{index}``\n\nwhere\n\n* ``{network-role}`` is the network-role\n* ``{index}`` is the ``{index}`` of the subnet of the network", "full_title": "", "hide_links": "", "id": "R-59434", @@ -34106,13 +34106,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -34145,7 +34145,7 @@ "validation_mode": "static" }, "R-59568": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'availability_zone' parameter **MUST NOT**\nbe enumerated in the Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``availability_zone`` parameter **MUST NOT** be enumerated in the Heat\nOrchestration\nTemplate's Environment File.", "full_title": "", "hide_links": "", "id": "R-59568", @@ -34168,9 +34168,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-59610": { "description": "The xNF **MUST** implement the data model discovery and\ndownload as defined in [RFC6022].", @@ -34461,7 +34461,7 @@ "validation_mode": "static" }, "R-62187": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::InstanceIp' that is configuring an\nIPv4 Address on a port attached to an internal network\nResource ID **MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_IP_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port is attached to\n * {vmi_index} is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of {network-role}\n * 'IP' signifies that an IPv4 address is being configured\n * {index} is the index of the IPv4 address", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp``\nthat is configuring an IPv4 Address on a port attached to an internal network\nResource ID **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_IP_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{vmi_index}`` is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of ``{network-role}``\n* ``IP`` signifies that an IPv4 address is being configured\n* ``{index}`` is the index of the IPv4 address", "full_title": "", "hide_links": "", "id": "R-62187", @@ -34479,18 +34479,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-62300": { - "description": "If a VNF has two or more ports that require a Virtual IP Address (VIP),\na VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port' property\n'allowed_address_pairs' map property 'ip_address' parameter **MUST** be used.", + "description": "If a VNF has two or more ports that require a Virtual IP Address (VIP),\na VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``allowed_address_pairs``\nmap property ``ip_address`` parameter\n**MUST** be used.", "full_title": "", "hide_links": "", "id": "R-62300", @@ -34513,12 +34513,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-62428": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vnf_name' **MUST** be\ndeclared as type: 'string'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vnf_name`` **MUST**\nbe declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-62428", @@ -34541,9 +34541,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-62468": { "description": "The xNF **MUST** allow all configuration data to be\nedited through a NETCONF <edit-config> operation. Proprietary\nNETCONF RPCs that make configuration changes are not sufficient.", @@ -34604,7 +34604,7 @@ "validation_mode": "" }, "R-62590": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address'\nparameter associated with an external network, i.e.,\n\n- {vm-type}_{network-role}\\_ip\\_{index}\n- {vm-type}_{network-role}\\_ip\\_v6\\_{index}\n- {vm-type}_{network-role}_ips\n- {vm-type}_{network-role}_v6_ips\n\n**MUST NOT** be enumerated in the Heat Orchestration Template's Environment File.\nONAP provides the IP address assignments at orchestration time.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``\nproperty ``fixed_ips``\nmap property ``ip_address``\nparameter associated with an external network, i.e.,\n\n * ``{vm-type}_{network-role}_ip_{index}``\n * ``{vm-type}_{network-role}_ip_v6_{index}``\n * ``{vm-type}_{network-role}_ips``\n * ``{vm-type}_{network-role}_v6_ips``\n\n\n**MUST NOT** be enumerated in the Heat Orchestration\nTemplate's Environment File. ONAP provides the IP address\nassignments at orchestration time.", "full_title": "", "hide_links": "", "id": "R-62590", @@ -34627,12 +34627,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-62802": { - "description": "When the VNF's Heat Orchestration Template's resource\n'OS::Neutron::Port' is attaching to an external network, and an IPv4\naddress is being Cloud Assigned by OpenStack's DHCP Service and the\nexternal network IPv4 subnet is to be specified using the property\n'fixed_ips' map property 'subnet'/'subnet_id', the parameter **MUST**\nfollow the naming convention\n\n * '{network-role}_subnet_id'\n\nwhere\n\n * '{network-role}' is the network role of the network.", + "description": "When the VNF's Heat Orchestration Template's\nresource ``OS::Neutron::Port`` is attaching\nto an external network (per the ONAP definition, see\nRequirement R-57424),\nand an IPv4 address is being cloud assigned by OpenStack's DHCP Service\nand the external network IPv4 subnet is to be specified\nusing the property ``fixed_ips``\nmap property ``subnet``/``subnet_id``, the parameter\n**MUST** follow the naming convention\n\n * ``{network-role}_subnet_id``\n\nwhere\n\n * ``{network-role}`` is the network role of the network.", "full_title": "", "hide_links": "", "id": "R-62802", @@ -34655,12 +34655,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-62954": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'environment_context' is\npassed into a Nested YAML file, the parameter name\n'environment_context' **MUST NOT** change.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server Resource``\n``metadata`` map value parameter ``environment_context`` is passed into a\nNested YAML\nfile, the parameter name ``environment_context`` **MUST NOT** change.", "full_title": "", "hide_links": "", "id": "R-62954", @@ -34683,12 +34683,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-62983": { - "description": "When the VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port'\nis attaching to an external network, the 'network' parameter name **MUST**\n\n- follow the naming convention '{network-role}_net_id' if the Neutron\n network UUID value is used to reference the network\n- follow the naming convention '{network-role}_net_name' if the OpenStack\n network name is used to reference the network.\n\nwhere '{network-role}' is the network-role of the external network and\na 'get_param' **MUST** be used as the intrinsic function.", + "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), the\n``network`` parameter name **MUST**\n\n * follow the naming convention ``{network-role}_net_id`` if the Neutron\n network UUID value is used to reference the network\n * follow the naming convention ``{network-role}_net_name`` if the\n OpenStack network name is used to reference the network.\n\nwhere ``{network-role}`` is the network-role of the external network\nand a ``get_param`` **MUST** be used as the intrinsic function.", "full_title": "", "hide_links": "", "id": "R-62983", @@ -34711,9 +34711,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-63137": { "description": "VNF's Heat Orchestration Template's Resource **MAY** declare the\nattribute ``update_policy:``.", @@ -34909,18 +34909,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-64197": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Heat::ResourceGroup Resource ID that creates sub-interfaces **MUST**\nuse the naming convention\n\n * {vm-type}_{vm-type_index}_subint_{network-role}_port_{port-index}_subinterfaces\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the networks\n that the sub-interfaces attach to\n * {port-index} is the instance of the the port on the vm-type\n attached to the network of {network-role}", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Heat::ResourceGroup``\nResource ID that creates sub-interfaces **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_subint_{network-role}_port_{port-index}_subinterfaces``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the networks\n that the sub-interfaces attach to\n* ``{port-index}`` is the instance of the the port on the vm-type\n attached to the network of ``{network-role}``", "full_title": "", "hide_links": "", "id": "R-64197", @@ -34938,15 +34938,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-64445": { "description": "The VNF **MUST** support the ability of a requestor of the\nservice to determine the version (and therefore capabilities) of the\nservice so that Network Cloud Service Provider can understand the\ncapabilities of the service.", @@ -35114,7 +35114,7 @@ "validation_mode": "" }, "R-65516": { - "description": "A VNF's Heat Orchestration Template's Resource OS::Nova::Keypair\napplies to all Virtual Machines in the the VNF, the Resource ID **SHOULD**\nuse the naming convention\n\n * {vnf-type}_keypair\n\nwhere\n\n * {vnf-type} describes the VNF", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Nova::Keypair`` applies to\nall Virtual Machines in the the VNF, the Resource ID **SHOULD** use the naming\nconvention\n\n* ``{vnf-type}_keypair``\n\nwhere\n\n* ``{vnf-type}`` describes the VNF", "full_title": "", "hide_links": "", "id": "R-65516", @@ -35132,18 +35132,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-65618": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::ServiceHealthCheck' Resource ID\n**MAY** use the naming convention\n\n * {vm-type}_RSHC_{LEFT|RIGHT}\n\nwhere\n\n * {vm-type} is the vm-type\n * 'RSHC' signifies that it is the Resource Service Health Check\n * 'LEFT' is used if the Service Health Check is on the left interface\n * 'RIGHT' is used if the Service Health Check is on the right interface", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::ServiceHealthCheck`` Resource ID **MAY** use the naming convention\n\n* ``{vm-type}_RSHC_{LEFT|RIGHT}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``RSHC`` signifies that it is the Resource Service Health Check\n* ``LEFT`` is used if the Service Health Check is on the left interface\n* ``RIGHT`` is used if the Service Health Check is on the right interface", "full_title": "", "hide_links": "", "id": "R-65618", @@ -35161,13 +35161,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -35259,7 +35259,7 @@ "validation_mode": "" }, "R-66729": { - "description": "A VNF's Heat Orchestration Template's Resource that is\nassociated with a unique Virtual Machine type **MUST** include\n'{vm-type}' as part of the resource ID.", + "description": "A VNF's Heat Orchestration Template's Resource that is associated with a\nunique Virtual Machine type **MUST** include ``{vm-type}`` as part of the\nresource ID.", "full_title": "", "hide_links": "", "id": "R-66729", @@ -35281,9 +35281,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-66793": { "description": "The xNF **MUST** guarantee the xNF configuration integrity\nfor all simultaneous configuration operations (e.g., if a change is\nattempted to the BUM filter rate from multiple interfaces on the same\nEVC, then they need to be sequenced in the xNF without locking either\nconfiguration method out).", @@ -35404,7 +35404,7 @@ "validation_mode": "static" }, "R-67597": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vm_role' **MUST NOT** have\nparameter contraints defined.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vm_role`` **MUST NOT**\nhave parameter constraints defined.", "full_title": "", "hide_links": "", "id": "R-67597", @@ -35427,9 +35427,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-67709": { "description": "The VNF **MUST** be designed, built and packaged to enable\ndeployment across multiple fault zones (e.g., VNFCs deployed in\ndifferent servers, racks, OpenStack regions, geographies) so that\nin the event of a planned/unplanned downtime of a fault zone, the\noverall operation/throughput of the VNF is maintained.", @@ -35460,7 +35460,7 @@ "validation_mode": "" }, "R-67793": { - "description": "When a VNF's Heat Orchestration Template's resource is associated\nwith more than one '{vm-type}' and/or more than one internal and/or\nexternal network, the Resource ID **MUST NOT** contain the '{vm-type}'\nand/or '{network-role}'/'int\\_{network-role}'. It also should contain the\nterm 'shared' and/or contain text that identifies the VNF.", + "description": "When a VNF's Heat Orchestration Template's resource is associated\nwith more than one ``{vm-type}`` and/or more than one internal and/or\nexternal network, the Resource ID **MUST** not contain the ``{vm-type}``\nand/or ``{network-role}``/``int_{network-role}``. It also should contain the\nterm ``shared`` and/or contain text that identifies the VNF.", "full_title": "", "hide_links": "", "id": "R-67793", @@ -35482,9 +35482,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-67918": { "description": "The VNF **MUST** handle replication race conditions both locally\nand geo-located in the event of a data base instance failure to maintain\nservice continuity.", @@ -35515,7 +35515,7 @@ "validation_mode": "" }, "R-68023": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource **SHOULD** contain the metadata map value parameter\n'vf_module_name'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n**SHOULD**\ncontain the ``metadata`` map value parameter ``vf_module_name``.", "full_title": "", "hide_links": "", "id": "R-68023", @@ -35538,7 +35538,7 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -35658,7 +35658,7 @@ "validation_mode": "" }, "R-68520": { - "description": "A VNF's Heat Orchestration Template's Resource OS::Neutron::Port\nthat is creating a *Reserve Port* with an IPv6 address Resource ID\n**MUST** use the naming convention\n\n * reserve_port_{vm-type}_{network-role}_floating_v6_ip_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {network-role} is the network-role of the network\n that the port is attached to\n * {index} is the instance of the IPv6 *Reserve Port*\n for the vm-type attached to the network of {network-role}", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``\nthat is creating a *Reserve Port* with an IPv6 address Resource ID **MUST**\nuse the naming convention\n\n* ``reserve_port_{vm-type}_{network-role}_floating_v6_ip_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{index}`` is the instance of the IPv6 *Reserve Port*\n for the vm-type attached to the network of ``{network-role}``", "full_title": "", "hide_links": "", "id": "R-68520", @@ -35676,18 +35676,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-68936": { - "description": "When a VNF creates an internal network, a network role, referred to\nas the '{network-role}' **MUST** be assigned to the internal network for\nuse in the VNF's Heat Orchestration Template.", + "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.", "full_title": "", "hide_links": "", "id": "R-68936", @@ -35710,9 +35710,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "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.", @@ -35745,7 +35745,7 @@ "validation_mode": "" }, "R-69014": { - "description": "When a VNF connects to an external network, a network role, referred\nto as the '{network-role}' **MUST** be assigned to the external network\nfor use in the VNF's Heat Orchestration Template.", + "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.", "full_title": "", "hide_links": "", "id": "R-69014", @@ -35768,12 +35768,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-69431": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'flavor' parameter **MUST** be enumerated in the\nHeat Orchestration Template's Environment File and a value **MUST** be\nassigned.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``flavor`` parameter **MUST** be enumerated in the Heat Orchestration\nTemplate's Environment File and a value **MUST** be assigned.", "full_title": "", "hide_links": "", "id": "R-69431", @@ -35796,9 +35796,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-69565": { "description": "The xNF Package **MUST** include documentation describing xNF\nManagement APIs, which must include information and tools for ONAP to\ndeploy and configure (initially and ongoing) the xNF application(s)\n(e.g., NETCONF APIs) which includes a description of configurable\nparameters for the xNF and whether the parameters can be configured\nafter xNF instantiation.", @@ -35829,7 +35829,7 @@ "validation_mode": "" }, "R-69588": { - "description": "When a VNF's Heat Orchestration Template's Virtual Machine\n(i.e., 'OS::Nova::Server' Resource) boots from Cinder Volume, the\n'OS::Nova::Server' resource property 'block_device_mapping' or\n'block_device_mapping_v2' **MUST** be used.", + "description": "When a VNF's Heat Orchestration Template's Virtual Machine\n(i.e., ``OS::Nova::Server`` Resource) boots from Cinder Volume, the\n``OS::Nova::Server`` resource property\n``block_device_mapping`` or ``block_device_mapping_v2``\n**MUST** be used.", "full_title": "", "hide_links": "", "id": "R-69588", @@ -35852,9 +35852,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-69610": { "description": "The VNF **MUST** provide the capability of using X.509 certificates\nissued by an external Certificate Authority.", @@ -35885,7 +35885,7 @@ "validation_mode": "" }, "R-69634": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property\nsubnet'/'subnet_id' parameter 'int\\_{network-role}_subnet_id'\n**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\nEnvironment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``subnet``/``subnet_id`` parameter\n``int_{network-role}_subnet_id``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-69634", @@ -35908,9 +35908,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-69649": { "description": "The VNF Provider **MUST** have patches available for vulnerabilities\nin the VNF as soon as possible. Patching shall be controlled via change\ncontrol process with vulnerabilities disclosed along with\nmitigation recommendations.", @@ -35969,7 +35969,7 @@ "validation_mode": "" }, "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.", + "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.", "full_title": "", "hide_links": "", "id": "R-69874", @@ -35992,9 +35992,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "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.", @@ -36170,7 +36170,7 @@ "validation_mode": "" }, "R-70757": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vm_role' is passed into a\nNested YAML file, the parameter name 'vm_role' **MUST NOT** change.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vm_role`` is passed into a Nested YAML\nfile, the parameter name ``vm_role`` **MUST NOT** change.", "full_title": "", "hide_links": "", "id": "R-70757", @@ -36193,9 +36193,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-70933": { "description": "The VNF **MUST** provide the ability to migrate to newer\nversions of cryptographic algorithms and protocols with minimal impact.", @@ -36226,7 +36226,7 @@ "validation_mode": "" }, "R-70964": { - "description": "If a VNF's Port is attached to an internal network and the port's\nIP addresses are statically assigned by the VNF's Heat Orchestration\\\nTemplate (i.e., enumerated in the Heat Orchestration Template's\nenvironment file), the 'OS::Neutron::Port' Resource's\n\n * property 'fixed_ips' map property 'ip_address' **MUST** be used\n * property 'fixed_ips' map property 'subnet'/'subnet_id'\n **MUST NOT** be used", + "description": "If a VNF's Port is attached to an internal network and the port's\nIP addresses are statically assigned by the VNF's Heat Orchestration\\\nTemplate (i.e., enumerated in the Heat Orchestration Template's\nenvironment file), the ``OS::Neutron::Port`` Resource's\n\n* property ``fixed_ips`` map property ``ip_address`` **MUST** be used\n* property ``fixed_ips`` map property ``subnet``/``subnet_id``\n **MUST NOT** be used", "full_title": "", "hide_links": "", "id": "R-70964", @@ -36244,18 +36244,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-71152": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'image' parameter **MUST** be declared as\ntype: 'string'.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``image`` parameter **MUST** be declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-71152", @@ -36278,12 +36278,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-71493": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource **MUST** contain the metadata map value parameter\n'vf_module_id'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource **MUST**\ncontain the ``metadata`` map value parameter ``vf_module_id``.", "full_title": "", "hide_links": "", "id": "R-71493", @@ -36306,12 +36306,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-71577": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' is attaching to an external network, and an IPv6 address\nis assigned using the property 'fixed_ips' map property 'ip_address' and\nthe parameter type is defined as a string, the parameter name **MUST** follow\nthe naming convention\n\n * '{vm-type}_{network-role}_v6_ip_{index}'\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the external network\n * the value for {index} must start at zero (0) and increment by one", + "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 IPv6 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}_v6_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", "full_title": "", "hide_links": "", "id": "R-71577", @@ -36334,9 +36334,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-71699": { "description": "A VNF's Heat Orchestration Template's Resource\n**MUST NOT** reference a HTTP-based Nested YAML file.", @@ -36455,7 +36455,7 @@ "validation_mode": "" }, "R-72483": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource **MUST** contain the metadata map value parameter\n'vnf_name'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource **MUST**\ncontain the ``metadata`` map value parameter ``vnf_name``.", "full_title": "", "hide_links": "", "id": "R-72483", @@ -36478,12 +36478,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-72871": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_id' **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_id`` **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", "full_title": "", "hide_links": "", "id": "R-72871", @@ -36506,9 +36506,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-73067": { "description": "The VNF **MUST** use NIST and industry standard cryptographic\nalgorithms and standard modes of operations when implementing\ncryptography.", @@ -36539,7 +36539,7 @@ "validation_mode": "" }, "R-73213": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Neutron::SecurityGroup that is applicable to more than\none {vm-type} and one internal network Resource ID **SHOULD**\nuse the naming convention\n\n * int_{network-role}_security_group\n\nwhere\n\n * {network-role} is the network-role", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that\nis applicable to more than one ``{vm-type}`` and one internal network Resource ID\n**SHOULD** use the naming convention\n\n* ``int_{network-role}_security_group``\n\nwhere\n\n* ``{network-role}`` is the network-role", "full_title": "", "hide_links": "", "id": "R-73213", @@ -36557,13 +36557,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -36596,7 +36596,7 @@ "validation_mode": "" }, "R-73228": { - "description": "A VNF's Heat Orchestration Template's parameter\n'{network-role}_net_fqdn'\n**MUST** be declared as type 'string'.", + "description": "A VNF's Heat Orchestration Template's parameter\n``{network-role}_net_fqdn``\n**MUST** be declared as type ``string``.", "full_title": "", "hide_links": "", "id": "R-73228", @@ -36614,15 +36614,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-73285": { "description": "The xNF **MUST** must encode, address and deliver the data\nas described in the previous paragraphs.", @@ -36907,7 +36907,7 @@ "validation_mode": "" }, "R-74978": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'workload_context' **MUST** be\ndeclared as type: 'string'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``workload_context`` **MUST**\nbe declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-74978", @@ -36930,9 +36930,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-75041": { "description": "The VNF **MUST**, if not integrated the Operator's Identity and Access\nManagement system, support configurable password expiration.", @@ -36993,7 +36993,7 @@ "validation_mode": "static" }, "R-75202": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'workload_context' is passed\ninto a Nested YAML file, the parameter name 'workload_context'\n**MUST NOT** change.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``workload_context`` is passed into a\nNested YAML\nfile, the parameter name ``workload_context`` **MUST NOT** change.", "full_title": "", "hide_links": "", "id": "R-75202", @@ -37016,9 +37016,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-75343": { "description": "The VNF **MUST** provide the capability of testing the\nvalidity of a digital certificate by recognizing the identity represented\nby the certificate - the \"distinguished name\".", @@ -37134,7 +37134,7 @@ "validation_mode": "" }, "R-76014": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::ServiceHealthCheck' Resource ID **MUST**\ncontain the '{vm-type}'.", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::ServiceHealthCheck``\nResource ID\n**MUST**\ncontain the ``{vm-type}``.", "full_title": "", "hide_links": "", "id": "R-76014", @@ -37152,15 +37152,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-76057": { "description": "VNF Heat Orchestration Template's Nested YAML file name **MUST** contain\nonly alphanumeric characters and underscores '_' and\n**MUST NOT** contain the case insensitive word ``base``.", @@ -37192,7 +37192,7 @@ "validation_mode": "static" }, "R-76160": { - "description": "When\n\n- the VNF's Heat Orchestration Template's resource\n 'OS::Neutron::Port' in an Incremental Module is attaching to an\n internal network that is created in the Base Module, AND\n- an IPv6 address is being Cloud Assigned by OpenStack's DHCP Service AND\n- the internal network IPv6 subnet is to be specified using the property\n 'fixed_ips' map property 'subnet'/'subnet_id',\n\nthe parameter **MUST** follow the naming convention\n * 'int\\_{network-role}_v6_subnet_id'\nwhere\n * '{network-role}' is the network role of the internal network\n\n- Note that the parameter **MUST** be defined as an 'output' parameter in\n the base module.", + "description": "When\n\n * the VNF's Heat Orchestration Template's\n resource ``OS::Neutron::Port`` in an Incremental Module is attaching\n to an internal network (per the ONAP definition, see Requirement TBD)\n that is created in the Base Module, AND\n * an IPv6 address is being cloud assigned by OpenStack's DHCP Service AND\n * the internal network IPv6 subnet is to be specified\n using the property ``fixed_ips`` map property ``subnet``/``subnet_id``,\n\nthe parameter **MUST** follow the naming convention\n``int_{network-role}_v6_subnet_id``,\nwhere ``{network-role}`` is the network role of the internal network.\n\nNote that the parameter **MUST** be defined as an ``output`` parameter in\nthe base module.", "full_title": "", "hide_links": "", "id": "R-76160", @@ -37215,12 +37215,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-76449": { - "description": "A VNF's Heat Orchestration Template's **MUST NOT**\ncontain the Resource 'OS::Neutron::FloatingIPAssociation'.", + "description": "A VNF's Heat Orchestration Template's **MUST NOT**\ncontain the Resource ``OS::Neutron::FloatingIPAssociation``.", "full_title": "", "hide_links": "", "id": "R-76449", @@ -37238,18 +37238,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-76682": { - "description": "If a VNF's Heat Orchestration Template\n'OS::ContrailV2::InterfaceRouteTable' resource\n'interface_route_table_routes' property\n'interface_route_table_routes_route' map property parameter\n'{vm-type}_{network-role}_route_prefixes'\n**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\nEnvironment File.", + "description": "If a VNF's Heat Orchestration Template\n``OS::ContrailV2::InterfaceRouteTable`` resource\n``interface_route_table_routes`` property\n``interface_route_table_routes_route`` map property parameter\n``{vm-type}_{network-role}_route_prefixes``\n**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\nEnvironment File.", "full_title": "", "hide_links": "", "id": "R-76682", @@ -37266,15 +37266,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-76718": { "description": "If a VNF's Heat Orchestration Template uses the intrinsic function\n``get_file``, the ``get_file`` target **MUST** be referenced in\nthe Heat Orchestration Template by file name.", @@ -37506,7 +37506,7 @@ "validation_mode": "" }, "R-78380": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' is attaching to an internal network, and an IPv4 address\nis assigned using the property 'fixed_ips' map property 'ip_address' and\nthe parameter type is defined as a string, the parameter name **MUST** follow\nthe naming convention\n\n * '{vm-type}\\_int\\_{network-role}\\_ip\\_{index}'\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the internal network\n * the value for {index} must start at zero (0) and increment by one", + "description": "When the VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` is attaching to an internal network (per the\nONAP definition, see Requirements R-52425 and R-46461),\nand an IPv4 address is assigned\nusing the property ``fixed_ips``\nmap property ``ip_address`` and the parameter type is\ndefined as a ``string``,\nthe parameter name **MUST** follow the\nnaming convention\n\n * ``{vm-type}_int_{network-role}_ip_{index}``\n\nwhere\n\n * ``{vm-type}`` is the {vm-type} associated with the\n OS::Nova::Server\n * ``{network-role}`` is the {network-role} of the internal\n network\n * the value for ``{index`` must start at zero (0) and increment by one", "full_title": "", "hide_links": "", "id": "R-78380", @@ -37529,9 +37529,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-78569": { "description": "VNF's Heat Orchestration Template's Resource **MAY** declare the\nattribute ``external_id:``.", @@ -37792,7 +37792,7 @@ "validation_mode": "" }, "R-80374": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_name'\n**MUST NOT** be enumerated in the Heat Orchestration Template's\nenvironment file.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_name`` **MUST NOT**\nbe enumerated in the Heat Orchestration Template's environment file.", "full_title": "", "hide_links": "", "id": "R-80374", @@ -37815,12 +37815,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-80829": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property\nsubnet'/'subnet_id' parameter '{network-role}_subnet_v6_id'\n**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\nEnvironment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``subnet``/``subnet_id`` parameter\n``{network-role}_v6_subnet_id``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-80829", @@ -37843,9 +37843,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-80898": { "description": "TThe xNF **MUST** support heartbeat via a <get> with null filter.", @@ -37906,7 +37906,7 @@ "validation_mode": "" }, "R-81214": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::InterfaceRouteTable' Resource ID **MUST**\ncontain the '{network-role}'.", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::InterfaceRouteTable``\nResource ID\n**MUST**\ncontain the ``{network-role}``.", "full_title": "", "hide_links": "", "id": "R-81214", @@ -37924,15 +37924,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-81339": { "description": "A VNF Heat Orchestration Template's Base Module file name **MUST** include\ncase insensitive 'base' in the filename and\n**MUST** match one of the following four\nformats:\n\n 1.) ``base_<text>.y[a]ml``\n\n 2.) ``<text>_base.y[a]ml``\n\n 3.) ``base.y[a]ml``\n\n 4.) ``<text>_base_<text>``.y[a]ml\n\nwhere ``<text>`` **MUST** contain only alphanumeric characters and\nunderscores '_' and **MUST NOT** contain the case insensitive word ``base``.", @@ -38021,7 +38021,7 @@ "validation_mode": "" }, "R-81979": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::NetworkIpam' Resource ID **MAY**\nuse the naming convention\n\n * {network-role}_RNI\n\nwhere\n\n * {network-role} is the network-role\n * 'RNI' signifies that it is the Resource Network IPAM", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::NetworkIpam``\nResource ID **MAY** use the naming convention\n\n* ``{network-role}_RNI``\n\nwhere\n\n* ``{network-role}`` is the network-role\n* ``RNI`` signifies that it is the Resource Network IPAM", "full_title": "", "hide_links": "", "id": "R-81979", @@ -38039,13 +38039,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -38080,7 +38080,7 @@ "validation_mode": "" }, "R-82115": { - "description": "When a VNF's Heat Orchestration Template's resource is associated\nwith a single '{vm-type}' and a single external network, the Resource\nID text **MUST** contain both the '{vm-type}' and the '{network-role}'\n\n - the '{vm-type}' **MUST** appear before the '{network-role}' and **MUST**\n be separated by an underscore '_'\n\n - e.g.,'{vm-type}\\_{network-role}', '{vm-type}\\_{index}\\_{network-role}'\n\n - note that an '{index}' value **MAY** separate the '{vm-type}' and the\n '{network-role}' and when this occurs underscores **MUST** separate the\n three values.", + "description": "When a VNF's Heat Orchestration Template's resource is associated with a\nsingle ``{vm-type}``\nand a single external network, the Resource ID text **MUST** contain both\nthe ``{vm-type}``\nand the ``{network-role}``\n\n- the ``{vm-type}`` **MUST** appear before the ``{network-role}`` and\n **MUST** be separated by an underscore '_'\n\n\n - e.g., ``{vm-type}_{network-role}``, ``{vm-type}_{index}_{network-role}``\n\n\n- note that an ``{index}`` value **MAY** separate the ``{vm-type}`` and the\n ``{network-role}`` and when this occurs underscores **MUST** separate the\n three values. (e.g., ``{vm-type}_{index}_{network-role}``).", "full_title": "", "hide_links": "", "id": "R-82115", @@ -38102,12 +38102,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-82134": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_id' **MUST**\nbe declared as type: 'string'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_id`` **MUST**\nbe declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-82134", @@ -38130,9 +38130,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-82223": { "description": "The VNF **MUST** be decomposed if the functions have\nsignificantly different scaling characteristics (e.g., signaling\nversus media functions, control versus data plane functions).", @@ -38162,7 +38162,7 @@ "validation_mode": "" }, "R-82481": { - "description": "A VNF's Heat Orchestration Template's Resource property\nparameter that is associated with a unique Virtual Machine\ntype **MUST** include '{vm-type}' as part of the parameter\nname with two exceptions:\n\n 1.) The Resource OS::Nova::Server property availability_zone parameter\n **MUST NOT** be prefixed with a common '{vm-type} identifier,\n\n 2.) The Resource OS::Nova::Server eight mandatory and optional metadata\n parameters (vnf_name, vnf_id, vf_module_id, vf_module_name, vm_role,\n vf_module_index, environment_context, workload_context) **MUST NOT**\n be prefixed with a common '{vm-type}' identifier.", + "description": "A VNF's Heat Orchestration Template's Resource property parameter that is\nassociated with a unique Virtual Machine type **MUST** include\n``{vm-type}`` as part of the parameter name with two exceptions:\n\n 1.) The Resource ``OS::Nova::Server`` property ``availability_zone``\n parameter **MUST NOT** be prefixed with a common ``{vm-type}`` identifier,\n\n 2.) The Resource ``OS::Nova::Server`` eight mandatory and optional\n ``metadata``\n parameters (i.e., ``vnf_name``, ``vnf_id``, ``vf_module_id``,\n ``vf_module_name``, ``vm_role``,\n ``vf_module_index``, ``environment_context``, ``workload_context``)\n **MUST NOT** be prefixed with a common ``{vm-type}`` identifier.", "full_title": "", "hide_links": "", "id": "R-82481", @@ -38184,12 +38184,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-82551": { - "description": "When a VNF's Heat Orchestration Template's resource is associated\nwith a single '{vm-type}' and a single internal network, the Resource ID\n**MUST** contain both the '{vm-type}' and the 'int\\_{network-role}' and\n\n - the '{vm-type}' **MUST** appear before the 'int\\_{network-role}' and\n **MUST** be separated by an underscore '_'\n\n - e.g.,'{vm-type}\\_int\\_{network-role}', '{vm-type}_{index}\\_int\\_{network-role}'\n\n - note that an '{index}' value **MAY** separate the '{vm-type}' and the\n 'int\\_{network-role}' and when this occurs underscores **MUST** separate\n the three values.", + "description": "When a VNF's Heat Orchestration Template's resource is associated with a\nsingle ``{vm-type}`` and a single internal network, the Resource ID **MUST**\ncontain both the ``{vm-type}`` and the ``int_{network-role}`` and\n\n- the ``{vm-type}`` **MUST** appear before the ``int_{network-role}`` and\n **MUST** be separated by an underscore '_'\n\n - (e.g., ``{vm-type}_int_{network-role}``,\n ``{vm-type}_{index}_int_{network-role}``)\n\n- note that an ``{index}`` value **MAY** separate the\n ``{vm-type}`` and the ``int_{network-role}`` and when this occurs\n underscores **MUST** separate the three values.\n (e.g., ``{vm-type}_{index}_int_{network-role}``).", "full_title": "", "hide_links": "", "id": "R-82551", @@ -38211,9 +38211,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-82732": { "description": "A VNF Heat Orchestration Template's Cinder Volume Module **MUST**\nbe named identical to the base or incremental module it is supporting with\n``_volume`` appended.", @@ -38274,7 +38274,7 @@ "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 internal\nnetworks, if internal networks exist.", + "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.", "full_title": "", "hide_links": "", "id": "R-83015", @@ -38297,9 +38297,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-83146": { "description": "The xNF **MUST** support ONAP Controller's **StopApplication** command.", @@ -38359,7 +38359,7 @@ "validation_mode": "" }, "R-83412": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'allowed_address_pairs'\nmap property 'ip_address' parameter\n'{vm-type}_{network-role}_floating_ip'\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``allowed_address_pairs``\nmap property ``ip_address`` parameter\n``{vm-type}_{network-role}_floating_ip``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-83412", @@ -38377,18 +38377,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-83418": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'allowed_address_pairs'\nmap property 'ip_address' parameter\n'{vm-type}_{network-role}_floating_v6_ip'\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``allowed_address_pairs``\nmap property ``ip_address`` parameter\n``{vm-type}_{network-role}_floating_v6_ip``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-83418", @@ -38406,15 +38406,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-83500": { "description": "The VNF **MUST** provide the capability of allowing certificate\nrenewal and revocation.", @@ -38445,7 +38445,7 @@ "validation_mode": "" }, "R-83677": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property\nsubnet'/'subnet_id' parameter '{network-role}_subnet_id'\n**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\nEnvironment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``subnet``/``subnet_id`` parameter\n``{network-role}_subnet_id``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-83677", @@ -38468,12 +38468,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-83706": { - "description": "When a VNF's Heat Orchestration Template's Virtual Machine\n(i.e., 'OS::Nova::Server' Resource) boots from an image, the\n'OS::Nova::Server' resource property 'image' **MUST** be used.", + "description": "When a VNF's Heat Orchestration Template's Virtual Machine\n(i.e., ``OS::Nova::Server`` resource) boots from an image, the\n``OS::Nova::Server`` resource property ``image`` **MUST** be used.", "full_title": "", "hide_links": "", "id": "R-83706", @@ -38496,9 +38496,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-83790": { "description": "The xNF **MUST** implement the **:validate** capability.", @@ -38561,7 +38561,7 @@ "validation_mode": "" }, "R-84123": { - "description": "When\n\n- the VNF's Heat Orchestration Template's resource 'OS::Neutron::Port'\n in an Incremental Module is attaching to an internal network\n that is created in the Base Module, AND\n- an IPv4 address is being Cloud Assigned by OpenStack's DHCP Service AND\n- the internal network IPv4 subnet is to be specified using the\n property 'fixed_ips' map property 'subnet'/'subnet_id',\n\nthe parameter **MUST** follow the naming convention\n * 'int\\_{network-role}_subnet_id'\nwhere\n * '{network-role}' is the network role of the internal network\n\n- Note that the parameter **MUST** be defined as an 'output' parameter in\n the base module.", + "description": "When\n\n * the VNF's Heat Orchestration Template's\n resource ``OS::Neutron::Port`` in an Incremental Module is attaching\n to an internal network (per the ONAP definition, see\n Requirements R-52425 and R-46461)\n that is created in the Base Module, AND\n * an IPv4 address is being cloud assigned by OpenStack's DHCP Service AND\n * the internal network IPv4 subnet is to be specified\n using the property ``fixed_ips`` map property ``subnet``/``subnet_id``,\n\nthe parameter **MUST** follow the naming convention\n\n * ``int_{network-role}_subnet_id``\n\nwhere\n\n * ``{network-role}`` is the network role of the internal network\n\nNote that the parameter **MUST** be defined as an ``output`` parameter in\nthe base module.", "full_title": "", "hide_links": "", "id": "R-84123", @@ -38584,9 +38584,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-84160": { "description": "The VNF **MUST** have security logging for VNFs and their\nOSs be active from initialization. Audit logging includes automatic\nroutines to maintain activity records and cleanup programs to ensure\nthe integrity of the audit/logging systems.", @@ -38646,7 +38646,7 @@ "validation_mode": "" }, "R-84322": { - "description": "A VNF's Heat Orchestration Template's Resource property\nparameter that is associated with an internal network\n**MUST** include 'int\\_{network-role}' as part of the parameter\nname, where 'int\\_' is a hard coded string.", + "description": "A VNF's Heat Orchestration Template's Resource property parameter that\nis associated with an internal network **MUST** include\n``int_{network-role}`` as part of the parameter name,\nwhere ``int_`` is a hard coded string.", "full_title": "", "hide_links": "", "id": "R-84322", @@ -38668,9 +38668,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-84366": { "description": "The xNF Package **MUST** include documentation describing\nxNF Functional APIs that are utilized to build network and\napplication services. This document describes the externally exposed\nfunctional inputs and outputs for the xNF, including interface\nformat and protocols supported.", @@ -38701,7 +38701,7 @@ "validation_mode": "" }, "R-84457": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::PortTuple' Resource ID **MAY**\nuse the naming convention\n\n * {vm-type}_RPT\n\nwhere\n\n * {vm-type} is the vm-type\n * 'RPT' signifies that it is the Resource Port Tuple", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::PortTuple``\nResource ID **MAY** use the naming convention\n\n* ``{vm-type}_RPT``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``RPT`` signifies that it is the Resource Port Tuple", "full_title": "", "hide_links": "", "id": "R-84457", @@ -38719,13 +38719,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -38757,7 +38757,7 @@ "validation_mode": "" }, "R-84517": { - "description": "The Contrail GUI has a limitation displaying special characters.\nThe issue is documented in\nhttps://bugs.launchpad.net/juniperopenstack/+bug/1590710.\nIt is recommended that special **SHOULD** characters be avoided.\nHowever, if special characters must be used, note that for\nthe following resources:\n\n * Virtual Machine\n * Virtual Network\n * Port\n * Security Group\n * Policies\n * IPAM Creation\n\nthe only special characters supported\nare - \\\" ! $\\ \\ ' ( ) = ~ ^ | @ ` { } [ ] > , . _\"", + "description": "The Contrail GUI has a limitation displaying special characters.\nThe issue is documented in\nhttps://bugs.launchpad.net/juniperopenstack/+bug/1590710.\nIt is recommended that special **SHOULD** characters be avoided.\nHowever, if special characters must be used, note that for\nthe following resources:\n\n* Virtual Machine\n* Virtual Network\n* Port\n* Security Group\n* Policies\n* IPAM Creation\n\nthe only special characters supported\nare - \\\" ! $\\ \\ ' ( ) = ~ ^ | @ ` { } [ ] > , . _\"", "full_title": "", "hide_links": "", "id": "R-84517", @@ -38774,13 +38774,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -38814,7 +38814,7 @@ "validation_mode": "" }, "R-85235": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' is attaching to an internal network, and an IPv4\naddress is assigned using the property 'fixed_ips' map property 'ip_address'\nand the parameter type is defined as a comma_delimited_list, the parameter\nname **MUST** follow the naming convention\n\n * '{vm-type}\\_int\\_{network-role}_ips'\n\nwhere\n\n * '{vm-type}' is the {vm-type} associated with the OS::Nova::Server\n * '{network-role}' is the {network-role} of the internal network", + "description": "When the VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` is attaching to an internal network (per the\nONAP definition, see Requirement Requirements R-52425 and R-46461),\nand an IPv4 address is assigned\nusing the property ``fixed_ips``\nmap property ``ip_address`` and the parameter type is defined as a\n``comma_delimited_list``,\nthe parameter name **MUST** follow the\nnaming convention\n\n * ``{vm-type}_int_{network-role}_ips``\n\nwhere\n\n * ``{vm-type}`` is the {vm-type} associated with the\n ``OS::Nova::Server``\n * ``{network-role}`` is the {network-role} of the internal\n network", "full_title": "", "hide_links": "", "id": "R-85235", @@ -38837,12 +38837,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-85328": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource **MAY** contain the metadata map value parameter 'vm_role'.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource **MAY**\ncontain the ``metadata`` map value parameter ``vm_role``.", "full_title": "", "hide_links": "", "id": "R-85328", @@ -38865,7 +38865,7 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -38926,7 +38926,7 @@ "validation_mode": "" }, "R-85734": { - "description": "If a VNF's Heat Orchestration Template contains the property 'name'\nfor a non 'OS::Nova::Server' resource, the intrinsic function\n'str_replace' **MUST** be used in conjunction with the ONAP\nsupplied metadata parameter 'vnf_name' to generate a unique value.", + "description": "If a VNF's Heat Orchestration Template contains the property ``name``\nfor a non ``OS::Nova::Server`` resource, the intrinsic function\n``str_replace`` **MUST** be used in conjunction with the ONAP\nsupplied metadata parameter ``vnf_name`` to generate a unique value.", "full_title": "", "hide_links": "", "id": "R-85734", @@ -38948,12 +38948,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-85800": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'name' parameter is defined as a\n'comma_delimited_list', a parameter **MUST** be delcared once for all\n'OS::Nova::Server' resources associated with the '{vm-type}'.", + "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}``.", "full_title": "", "hide_links": "", "id": "R-85800", @@ -38976,9 +38976,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-85959": { "description": "The VNF **SHOULD** automatically enable/disable added/removed\nsub-components or component so there is no manual intervention required.", @@ -39037,7 +39037,7 @@ "validation_mode": "" }, "R-86182": { - "description": "When the VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port'\nis attaching to an internal network, and the internal network is created in a different\nHeat Orchestration Template than the 'OS::Neutron::Port', the 'network'\nparameter name **MUST**\n\n- follow the naming convention 'int\\_{network-role}_net_id' if the Neutron\n network UUID value is used to reference the network\n- follow the naming convention 'int\\_{network-role}_net_name' if the\n OpenStack network name in is used to reference the network.\n\nwhere '{network-role}' is the network-role of the internal network and a 'get_param' **MUST** be used as the intrinsic function.", + "description": "When the VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` is attaching to an internal network (per the\nONAP definition, see Requirements R-52425 and R-46461),\nand the internal network is created in a\ndifferent Heat Orchestration Template than the ``OS::Neutron::Port``,\nthe ``network`` parameter name **MUST**\n\n * follow the naming convention ``int_{network-role}_net_id`` if the Neutron\n network UUID value is used to reference the network\n * follow the naming convention ``int_{network-role}_net_name`` if the\n OpenStack network name in is used to reference the network.\n\nwhere ``{network-role}`` is the network-role of the internal network and\na ``get_param`` **MUST** be used as the intrinsic function.", "full_title": "", "hide_links": "", "id": "R-86182", @@ -39060,9 +39060,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-86235": { "description": "The xNF Package **MUST** include documentation about the monitoring\nparameters that must include latencies, success rates, retry rates, load\nand quality (e.g., DPM) for the key transactions/functions supported by\nthe xNF and those that must be exercised by the xNF in order to perform\nits function.", @@ -39093,7 +39093,7 @@ "validation_mode": "" }, "R-86237": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_id' is passed\ninto a Nested YAML file, the parameter name 'vf_module_id'\n**MUST NOT** change.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_id`` is passed into a\nNested YAML\nfile, the parameter name ``vf_module_id`` **MUST NOT** change.", "full_title": "", "hide_links": "", "id": "R-86237", @@ -39116,9 +39116,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-86261": { "description": "The VNF **MUST NOT** allow vendor access to VNFs remotely.", @@ -39177,7 +39177,7 @@ "validation_mode": "static" }, "R-86476": { - "description": "If a VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vm_role' value **MUST** only\ncontain alphanumeric characters and underscores '_'.", + "description": "If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vm_role`` value **MUST**\nonly contain alphanumeric characters and underscores '_'.", "full_title": "", "hide_links": "", "id": "R-86476", @@ -39200,12 +39200,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-86497": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Cinder::VolumeAttachment Resource ID **SHOULD** use the naming convention\n\n * {vm-type}_volume_attachment_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {index} starts at zero and increments by one", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::Cinder::VolumeAttachment``\nResource ID\n**SHOULD**\nuse the naming convention\n\n* ``{vm-type}_volume_attachment_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{index}`` starts at zero and increments by one", "full_title": "", "hide_links": "", "id": "R-86497", @@ -39223,13 +39223,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -39290,7 +39290,7 @@ "validation_mode": "" }, "R-86588": { - "description": "A VNF's Heat Orchestration Template's '{network-role}' case\nin Resource property parameter names **SHOULD** match the case\nof '{network-role}' in Resource IDs and vice versa.", + "description": "A VNF's Heat Orchestration Template's ``{network-role}`` case in Resource\nproperty parameter names **SHOULD** match the case of ``{network-role}``\nin Resource IDs and vice versa.", "full_title": "", "hide_links": "", "id": "R-86588", @@ -39312,7 +39312,7 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -39423,12 +39423,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-87004": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::Cinder::Volume Resource ID **SHOULD** use the naming convention\n\n * {vm-type}_volume_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {index} starts at zero and increments by one", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::Cinder::Volume``\nResource ID\n**SHOULD**\nuse the naming convention\n\n* ``{vm-type}_volume_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{index}`` starts at zero and increments by one", "full_title": "", "hide_links": "", "id": "R-87004", @@ -39446,13 +39446,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -39480,12 +39480,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-87123": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address'\nparameter '{vm-type}_{network-role}_v6_ip_{index}'\n**MUST NOT** be enumerated in the VNF's Heat Orchestration\nTemplate's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n``{vm-type}_{network-role}_v6_ip_{index}``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-87123", @@ -39508,9 +39508,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-87247": { "description": "VNF Heat Orchestration Template's Incremental Module file name\n**MUST** contain only alphanumeric characters and underscores\n'_' and **MUST NOT** contain the case insensitive word ``base``.", @@ -39598,7 +39598,7 @@ "validation_mode": "static" }, "R-87563": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::InstanceIp' that is configuring an\nIPv6 Address on a port attached to an internal network\nResource ID **MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_v6_IP_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port is attached to\n * {vmi_index} is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of {network-role}\n * 'v6_IP' signifies that an IPv6 address is being configured\n * {index} is the index of the IPv6 address", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp``\nthat is configuring an IPv6 Address on a port attached to an internal network\nResource ID **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_v6_IP_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{vmi_index}`` is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of ``{network-role}``\n* ``v6_IP`` signifies that an IPv6 address is being configured\n* ``{index}`` is the index of the IPv6 address", "full_title": "", "hide_links": "", "id": "R-87563", @@ -39616,15 +39616,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-87564": { "description": "The xNF **SHOULD** conform its YANG model to RFC 7317,\n\"A YANG Data Model for System Management\".", @@ -39657,7 +39657,7 @@ "validation_mode": "" }, "R-87817": { - "description": "When the VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'name' parameter is defined as a\n'comma_delimited_list', the parameter name **MUST** follow the naming\nconvention '{vm-type}_names'.", + "description": "When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty ``name`` parameter is defined as a ``comma_delimited_list``,\nthe parameter name **MUST** follow the naming convention\n``{vm-type}_names``.", "full_title": "", "hide_links": "", "id": "R-87817", @@ -39680,9 +39680,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "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.", @@ -39829,7 +39829,7 @@ "validation_mode": "" }, "R-88524": { - "description": "A VNF's Heat Orchestration Template's Volume Template\nOutput Parameter names **MUST** contain {vm-type} when appropriate.", + "description": "A VNF's Heat Orchestration Template's Volume Template\nOutput Parameter names\n**MUST** contain ``{vm-type}`` when appropriate.", "full_title": "", "hide_links": "", "id": "R-88524", @@ -39846,15 +39846,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-88536": { "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource **SHOULD** contain the metadata map value parameter\n'environment_context'.", @@ -39880,12 +39880,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-88540": { - "description": "A VNF's Heat Orchestration Template's Resource\n'OS::ContrailV2::InstanceIp' that is configuring an IPv6 Address\non a sub-interface port attached to a sub-interface network\nResource ID **MUST** use the naming convention\n\n * {vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_v6_IP_{index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port is attached to\n * {vmi_index} is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of {network-role}\n * 'v6_IP' signifies that an IPv6 address is being configured\n * {index} is the index of the IPv6 address", + "description": "A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp``\nthat is configuring an IPv6 Address on a sub-interface port attached to a\nsub-interface network Resource ID **MUST**\nuse the naming convention\n\n* ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_v6_IP_{index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port is attached to\n* ``{vmi_index}`` is the instance of the the virtual machine interface\n (e.g., port) on the vm-type\n attached to the network of ``{network-role}``\n* ``v6_IP`` signifies that an IPv6 address is being configured\n* ``{index}`` is the index of the IPv6 address", "full_title": "", "hide_links": "", "id": "R-88540", @@ -39903,15 +39903,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-88863": { "description": "A VNF's Heat Orchestration Template's parameter defined\nin a non-nested YAML file as type\n``number`` **MUST** have a parameter constraint of ``range`` or\n``allowed_values`` defined.", @@ -40202,7 +40202,7 @@ "validation_mode": "static" }, "R-90206": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address'\nparameter '{vm-type}\\_int\\_{network-role}_int_ips' **MUST** be enumerated in\nthe VNF's Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n``{vm-type}_int_{network-role}_int_ips``\n**MUST** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-90206", @@ -40225,9 +40225,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-90279": { "description": "A VNF Heat Orchestration's template's parameter **MUST** be used\nin a resource with the exception of the parameters for the\n``OS::Nova::Server`` resource property ``availability_zone``.", @@ -40345,7 +40345,7 @@ "validation_mode": "" }, "R-91125": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'image' parameter **MUST** be enumerated in\nthe Heat Orchestration Template's Environment File and a value **MUST** be\nassigned.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``image`` parameter **MUST** be enumerated in the Heat Orchestration\nTemplate's Environment File and a value **MUST** be assigned.", "full_title": "", "hide_links": "", "id": "R-91125", @@ -40368,9 +40368,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-91273": { "description": "A VNF Heat Orchestration's template's parameter for the\n``OS::Nova::Server`` resource property ``availability_zone``\n**MAY NOT** be used in any ``OS::Nova::Server``.", @@ -40507,18 +40507,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-92193": { - "description": "A VNF's Heat Orchestration Template's parameter\n'{network-role}_net_fqdn'\n**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\nEnvironment File.", + "description": "A VNF's Heat Orchestration Template's parameter\n``{network-role}_net_fqdn``\n**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's\nEnvironment File.", "full_title": "", "hide_links": "", "id": "R-92193", @@ -40536,15 +40536,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", "updated": "", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-92207": { "description": "The VNF **SHOULD** implement a mechanism for automated and\nfrequent \"system configuration (automated provisioning / closed loop)\"\nauditing.", @@ -40688,7 +40688,7 @@ "validation_mode": "" }, "R-93030": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address'\nparameter '{vm-type}_{network-role}_v6_ips' **MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n``{vm-type}_{network-role}_v6_ips``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-93030", @@ -40711,12 +40711,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-93177": { - "description": "When the VNF's Heat Orchestration Template's\nResource 'OS::Neutron::Port' is attaching to an internal\nnetwork, and the internal network is created in the same Heat\nOrchestration Template than the 'OS::Neutron::Port', the 'network'\nparameter name **MUST** obtain the UUID of the internal network\nby using the intrinsic function 'get_resource' or 'get_attr'\nand referencing the Resource ID of the internal network.", + "description": "When the VNF's Heat Orchestration Template's resource\n``OS::Neutron::Port`` is attaching to an internal network (per the\nONAP definition, see Requirements R-52425 and R-46461),\nand the internal network is created in the\nsame Heat Orchestration Template as the ``OS::Neutron::Port``,\nthe ``network`` property value **MUST** obtain the UUID\nof the internal network by using the intrinsic function\n``get_resource``\nand referencing the Resource ID of the internal network.", "full_title": "", "hide_links": "", "id": "R-93177", @@ -40739,9 +40739,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "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.", @@ -40762,13 +40762,13 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, @@ -40803,7 +40803,7 @@ "validation_mode": "" }, "R-93496": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address'\nparameter associated with an internal network, i.e.,\n\n- {vm-type}\\_int\\_{network-role}\\_ip\\_{index}\n- {vm-type}\\_int\\_{network-role}\\_ip\\_v6\\_{index}\n- {vm-type}\\_int\\_{network-role}_ips\n- {vm-type}\\_int\\_{network-role}_v6_ips\n\n**MUST** be enumerated in the Heat Orchestration Template's Environment\nFile and IP addresses **MUST** be assigned.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port``\nproperty ``fixed_ips``\nmap property ``ip_address``\nparameter associated with an internal network, i.e.,\n\n * ``{vm-type}_int_{network-role}_ip_{index}``\n * ``{vm-type}_int_{network-role}_ip_v6_{index}``\n * ``{vm-type}_int_{network-role}_ips``\n * ``{vm-type}_int_{network-role}_v6_ips``\n\n\n**MUST** be enumerated in the Heat Orchestration\nTemplate's Environment File and IP addresses **MUST** be\nassigned.", "full_title": "", "hide_links": "", "id": "R-93496", @@ -40826,9 +40826,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-93860": { "description": "The VNF **SHOULD** provide the capability to integrate with an\nexternal encryption service.", @@ -40945,7 +40945,7 @@ "validation_mode": "" }, "R-94669": { - "description": "If a VNF has one IPv6 OAM Management IP Address and the\nIP Address needs to be inventoried in ONAP's AAI\ndatabase, an output parameter **MUST** be declared in only one of the\nVNF's Heat Orchestration Templates and the parameter **MUST** be named\n'oam_management_v6_address'.", + "description": "If a VNF has one IPv6 OAM Management IP Address and the\nIP Address needs to be inventoried in ONAP's A&AI\ndatabase, an output parameter **MUST** be declared in only one of the\nVNF's Heat Orchestration Templates and the parameter **MUST** be named\n``oam_management_v6_address``.", "full_title": "", "hide_links": "", "id": "R-94669", @@ -40963,15 +40963,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-94978": { "description": "The VNF **MUST** provide a mechanism and tool to perform a graceful\nshutdown of all the containers (VMs) in the VNF without impacting service\nor service quality assuming another VNF in same or other geographical\nlocation can take over traffic and process service requests.", @@ -41030,7 +41030,7 @@ "validation_mode": "static" }, "R-95430": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vm_role' **MUST** be\ndeclared as type: 'string'.", + "description": "A VNF's Heat Orchestration Template's OS::Nova::Server Resource\n``metadata`` map value parameter ``vm_role`` **MUST**\nbe declared as type: ``string``.", "full_title": "", "hide_links": "", "id": "R-95430", @@ -41053,9 +41053,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-95864": { "description": "The VNF **MUST** support digital certificates that comply with X.509\nstandards.", @@ -41146,7 +41146,7 @@ "validation_mode": "" }, "R-96253": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::ContrailV2::VirtualMachineInterface that is attaching\nto an external network Resource ID **MUST**\nuse the naming convention\n\n * {vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}\n\nwhere\n\n * {vm-type} is the vm-type\n * {vm-type_index} is the instance of the {vm-type}\n * {network-role} is the network-role of the network\n that the port (i.e. virtual machine interface) is attached to\n * {vmi_index} is the instance of the the vmi on the vm-type\n attached to the network of {network-role}", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::VirtualMachineInterface`` that is attaching to an external network\nResource ID **MUST** use the naming convention\n\n* ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}``\n\nwhere\n\n* ``{vm-type}`` is the vm-type\n* ``{vm-type_index}`` is the instance of the ``{vm-type}``\n* ``{network-role}`` is the network-role of the network\n that the port (i.e. virtual machine interface) is attached to\n* ``{vmi_index}`` is the instance of the the vmi on the vm-type\n attached to the network of ``{network-role}``", "full_title": "", "hide_links": "", "id": "R-96253", @@ -41164,15 +41164,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-96482": { "description": "When a VNF's Heat Orchestration Template's resource is associated\nwith a single external network, the Resource ID **MUST** contain the text\n'{network-role}'.", @@ -41197,9 +41197,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-96554": { "description": "The xNF **MUST** implement the protocol operation:\n**unlock(target)** - Unlock the configuration datastore target.", @@ -41260,7 +41260,7 @@ "validation_mode": "" }, "R-96983": { - "description": "A VNF's Heat Orchestration Template's Resource ID that is\nassociated with an internal network **MUST** include\n'int\\_{network-role}' as part of the Resource ID, where\n'int\\_' is a hard coded string.", + "description": "A VNF's Heat Orchestration Template's Resource ID that is associated\nwith an internal network **MUST** include ``int_{network-role}`` as part\nof the Resource ID, where ``int_`` is a hard coded string.", "full_title": "", "hide_links": "", "id": "R-96983", @@ -41282,9 +41282,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-97102": { "description": "The VNF Package **MUST** include VM requirements via a Heat\ntemplate that provides the necessary data for VM specifications\nfor all VNF components - for hypervisor, CPU, memory, storage.", @@ -41345,7 +41345,7 @@ "validation_mode": "" }, "R-97201": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address'\nparameter '{vm-type}\\_int\\_{network-role}\\_v6\\_ip\\_{index}'\n**MUST** be enumerated in the VNF's Heat Orchestration\nTemplate's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n``{vm-type}_int_{network-role}_v6_ip_{index}``\n**MUST** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-97201", @@ -41368,9 +41368,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-97293": { "description": "The xNF provider **MUST NOT** require audits\nof Service Provider's business.", @@ -41488,7 +41488,7 @@ "validation_mode": "" }, "R-97726": { - "description": "A VNF's Heat Orchestration Template's Base Module Output\nParameter names **MUST** contain {vm-type} and/or {network-role}\nwhen appropriate.", + "description": "A VNF's Heat Orchestration Template's Base Module Output Parameter names\n**MUST** contain ``{vm-type}`` and/or ``{network-role}`` when appropriate.", "full_title": "", "hide_links": "", "id": "R-97726", @@ -41505,18 +41505,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-98138": { - "description": "When a VNF's Heat Orchestration Template's resource is associated\nwith a single internal network, the Resource ID **MUST** contain the text\n'int\\_{network-role}'.", + "description": "When a VNF's Heat Orchestration Template's resource is associated with a\nsingle internal network, the Resource ID **MUST** contain the text\n``int_{network-role}``.", "full_title": "", "hide_links": "", "id": "R-98138", @@ -41538,9 +41538,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-98191": { "description": "The xNF **MUST** vary the frequency that asynchronous data\nis delivered based on the content and how data may be aggregated or\ngrouped together.\n\n Note:\n\n - For example, alarms and alerts are expected to be delivered as\n soon as they appear. In contrast, other content, such as performance\n measurements, KPIs or reported network signaling may have various\n ways of packaging and delivering content. Some content should be\n streamed immediately; or content may be monitored over a time\n interval, then packaged as collection of records and delivered\n as block; or data may be collected until a package of a certain\n size has been collected; or content may be summarized statistically\n over a time interval, or computed as a KPI, with the summary or KPI\n being delivered.\n - We expect the reporting frequency to be configurable depending on\n the virtual network functions needs for management. For example,\n Service Provider may choose to vary the frequency of collection\n between normal and trouble-shooting scenarios.\n - Decisions about the frequency of data reporting will affect\n the size of delivered data sets, recommended delivery method,\n and how the data will be interpreted by ONAP. These considerations\n should not affect deserialization and decoding of the data, which\n will be guided by the accompanying JSON schema or GPB definition\n files.", @@ -41572,7 +41572,7 @@ "validation_mode": "" }, "R-98374": { - "description": "A VNF's Heat Orchestration Template's OS::Nova::Server\nResource metadata map value parameter 'vf_module_id' **MUST NOT**\nhave parameter contraints defined.", + "description": "A VNF's Heat Orchestration Template's ``OS::Nova::Server`` Resource\n``metadata`` map value parameter ``vf_module_id`` **MUST NOT**\nhave parameter constraints defined.", "full_title": "", "hide_links": "", "id": "R-98374", @@ -41595,9 +41595,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-98391": { "description": "The VNF **MUST**, if not integrated with the Operator's Identity and\nAccess Management system, support Role-Based Access Control to enforce\nleast privilege.", @@ -41628,7 +41628,7 @@ "validation_mode": "" }, "R-98407": { - "description": "A VNF's Heat Orchestration Template's '{vm-type}' **MUST** contain\nonly alphanumeric characters and/or underscores '_' and\n**MUST NOT** contain any of the following strings: '_int' or 'int\\_'\nor '\\_int\\_'.", + "description": "A VNF's Heat Orchestration Template's ``{vm-type}`` **MUST** contain only\nalphanumeric characters and/or underscores '_' and **MUST NOT**\ncontain any of the following strings:\n``_int`` or ``int_`` or ``_int_``.", "full_title": "", "hide_links": "", "id": "R-98407", @@ -41650,12 +41650,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-98450": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Nova::Server' property 'availability\\_zone' parameter name\n**MUST** follow the naming convention 'availability\\_zone\\_{index}'\nwhere the '{index}' **MUST** start at zero and increment by one.", + "description": "The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``\nproperty\n``availability_zone`` parameter name **MUST** follow the naming convention\n``availability_zone_{index}`` where the ``{index}``\n**MUST** start at zero and\nincrement by one.", "full_title": "", "hide_links": "", "id": "R-98450", @@ -41678,12 +41678,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-98569": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'fixed_ips' map property 'ip_address'\nparameter '{vm-type}\\_int\\_{network-role}_v6_ips' **MUST** be enumerated in\nthe VNF's Heat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n``{vm-type}_int_{network-role}_v6_ips``\n**MUST** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-98569", @@ -41706,9 +41706,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-98617": { "description": "The xNF provider **MUST** provide information regarding any\ndependency (e.g., affinity, anti-affinity) with other xNFs and resources.", @@ -41739,7 +41739,7 @@ "validation_mode": "" }, "R-98748": { - "description": "The VNF's Heat Orchestration Template's Resource\n'OS::Neutron::Port' property 'allowed_address_pairs'\nmap property 'ip_address' parameter\n**MUST** be declared as type 'string'.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``allowed_address_pairs``\nmap property ``ip_address`` parameter\n**MUST** be declared as type ``string``.", "full_title": "", "hide_links": "", "id": "R-98748", @@ -41757,18 +41757,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-98905": { - "description": "The VNF's Heat Orchestration Template's Resource 'OS::Neutron::Port'\nproperty 'fixed_ips' map property 'ip_address' parameter\n'{vm-type}_{network-role}_ips' **MUST NOT** be enumerated in the VNF's\nHeat Orchestration Template's Environment File.", + "description": "The VNF's Heat Orchestration Template's Resource\n``OS::Neutron::Port`` property ``fixed_ips``\nmap property ``ip_address`` parameter\n``{vm-type}_{network-role}_ips``\n**MUST NOT** be enumerated in the\nVNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-98905", @@ -41791,9 +41791,9 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-98911": { "description": "The xNF **MUST NOT** use any instance specific parameters\nfor the xNF in roles/cookbooks/recipes invoked for a xNF action.", @@ -41854,7 +41854,7 @@ "validation_mode": "" }, "R-99110": { - "description": "A VNF's Heat Orchestration Template's Resource\nOS::ContrailV2::VirtualNetwork Resource ID **MUST**\nuse the naming convention\n\n * 'int_{network-role}_network'\n\nor\n\n * 'int_{network-role}_RVN' where RVN represents Resource Virtual Network", + "description": "A VNF's Heat Orchestration Template's Resource\n``OS::ContrailV2::VirtualNetwork`` Resource ID **MUST** use the naming convention\n\n1) ``int_{network-role}_network``\n\nor\n\n2) ``int_{network-role}_RVN`` where RVN represents Resource Virtual\n Network\n\nVNF Heat Orchestration Templates can only create internal networks.\nThere is no ``{index}`` after ``{network-role}`` because ``{network-role}``\n**MUST** be unique in the scope of the VNF's\nHeat Orchestration Template.", "full_title": "", "hide_links": "", "id": "R-99110", @@ -41872,15 +41872,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-99174": { "description": "The VNF **MUST** allow the creation of multiple IDs so that\nindividual accountability can be supported.", @@ -42067,18 +42067,18 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" }, "R-99798": { - "description": "A VNF's Heat Orchestration Template's Virtual Machine\n(i.e., OS::Nova::Server Resource) **MAY** boot from an image or **MAY**\nboot from a Cinder Volume.", + "description": "A VNF's Heat Orchestration Template's Virtual Machine\n(i.e., ``OS::Nova::Server`` resource) **MAY** boot from an image or\n**MAY** boot from a Cinder Volume.", "full_title": "", "hide_links": "", "id": "R-99798", @@ -42101,12 +42101,12 @@ "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", "validation_mode": "" }, "R-99812": { - "description": "A value for VNF's Heat Orchestration Template's property 'name'\nfor a non 'OS::Nova::Server' resource **MUST NOT** be declared\nin the VNF's Heat Orchestration Template's Environment File.", + "description": "A value for VNF's Heat Orchestration Template's property ``name``\nfor a non ``OS::Nova::Server`` resource **MUST NOT** be declared\nin the VNF's Heat Orchestration Template's Environment File.", "full_title": "", "hide_links": "", "id": "R-99812", @@ -42122,15 +42122,15 @@ "status": null, "tags": [], "target": "VNF", - "test": "no test found", - "test_case": "no test found", - "test_file": "no test found", + "test": "", + "test_case": "", + "test_file": "", "title": "", "title_from_content": "", "type_name": "Requirement", - "updated": "", + "updated": "casablanca", "validated_by": "", - "validation_mode": "" + "validation_mode": "static" } }, "needs_amount": 712 |