diff options
Diffstat (limited to 'docs/Chapter5')
5 files changed, 519 insertions, 426 deletions
diff --git a/docs/Chapter5/Heat/ONAP Heat Networking.rst b/docs/Chapter5/Heat/ONAP Heat Networking.rst index 81ad997..754f455 100644 --- a/docs/Chapter5/Heat/ONAP Heat Networking.rst +++ b/docs/Chapter5/Heat/ONAP Heat Networking.rst @@ -12,50 +12,68 @@ ONAP defines two types of networks: External Networks and Internal Networks. External Networks ^^^^^^^^^^^^^^^^^^^^ -ONAP defines an external network in relation to the VNF and not with regard -to the Network Cloud site. External networks may also be referred to as -"inter-VNF" networks. An external network must connect VMs in a VNF to -VMs in another VNF or an external gateway or external router. +An ONAP external network is created by using VID or by invoking SO directly +to instantiate the network. +External networks are orchestrated separately, independent of VNFs. +A network instantiated via VID or by invoking SO directly is managed by +ONAP and is inventoried in AAI. -An External Network may be a Neutron Network or a Contrail Network. +An external network can be created by using one of the following +resources: +- ``OS::Neutron::Net`` +- ``OS::Neutron::ProviderNet`` +- ``OS::ContrailV2::VirtualNetwork`` + +An external network **MAY** be used to + +- Connect a VM in a VNF to VMs in another VNF +- Connect a VM in a VNF to an external gateway or external router +- Connect a VM in a VNF to other VMs in the same VNF + +An external network may be designed to perform + +- All three functions listed above or +- Perform only two functions listed above or +- Perform only one function listed above .. req:: :id: R-16968 :target: VNF :keyword: MUST NOT :validation_mode: static - :updated: casablanca + :updated: frankfurt A VNF's Heat Orchestration Templates **MUST NOT** include heat - resources to create external networks. + resources to create an ONAP external network. -External networks must be orchestrated separately, independent of the VNF. -This allows the network to be shared by multiple VNFs and managed -independently of VNFs. + An ONAP external network **MUST** be instantiated by using VID + or by invoking SO directly. .. req:: :id: R-00606 :target: VNF :keyword: MAY - :updated: casablanca + :updated: frankfurt - A VNF **MAY** be connected to zero, one or more than one external + A VNF **MAY** be connected to zero, one or more than one ONAP external network. .. req:: :id: R-57424 :target: VNF - :keyword: MUST + :keyword: MAY :validation_mode: none - :updated: casablanca + :updated: frankfurt - 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. + A VNF's port connected to an ONAP external network **MAY** + use the port for the purpose of + + - Connecting a VM in the VNF to VMs in another VNF and/or + - Connecting a VM in the VNF to an external gateway or external router + and/or + - Connecting a VM in the VNF to other VMs in the same VNF .. req:: :id: R-99794 @@ -64,7 +82,7 @@ independently of VNFs. :validation_mode: none :updated: casablanca - An external network **MUST** have one subnet. An external network + An ONAP external network **MUST** have one subnet. An external network **MAY** have more than one subnet. ONAP enforces a naming convention for @@ -76,35 +94,52 @@ provides additional details. Internal Networks ^^^^^^^^^^^^^^^^^^^^ -ONAP defines an internal network in relation to the VNF and not with -regard to the Network 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 gateway or router +An ONAP internal network is created by the VNF's Heat Orchestration Template. +That is, the VNF's Heat Orchestration Template contains the heat resources to +instantiate the network. +An ONAP internal network is not inventoried by AAI and can not be managed +independently of the VNF. + +An ONAP internal network MUST only be used for connecting a VM in the +VNF to other VMs in the same VNF. + +An ONAP internal network MUST NOT be used for connecting a VM in the VNF to +VMs in another VNF or connecting a VM in the VNF to an external gateway and/or +external router. + +The reason for this is for operational simplicity. An ONAP internal network +will be deleted when the VNF that created the network (referred to as VNF A) +is deleted. If a different VNF (referred to as VNF B) attaches to the ONAP +internal network created by VNF A, then VNF B must be deleted prior VNF A. +In addition, if an ONAP internal network is used to connect two (or more) VNFs, +there is no record in AAI inventory. This could lead to additional +operational complications. .. req:: :id: R-87096 :target: VNF :keyword: MAY - :updated: casablanca + :updated: frankfurt - A VNF **MAY** contain zero, one or more than one internal network. + A VNF **MAY** contain zero, one or more than one ONAP internal network. .. req:: :id: R-35666 :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt - 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 ONAP internal network, the VNF's Heat Orchestration + Template **MUST** include the heat resources to create the + ONAP internal network. - A VNF's Internal Network is created using Neutron Heat Resources - (i.e., ``OS::Neutron::Net``, ``OS::Neutron::Subnet``) and/or - Contrail Heat Resources (i.e., ``OS::ContrailV2::VirtualNetwork``, - ``ContrailV2::NetworkIpam``). + A VNF's ONAP internal network is created using Neutron Heat Resources + (e.g., ``OS::Neutron::Net``, ``OS::Neutron::Subnet``, + ``OS::Neutron::ProviderNet``) and/or + Contrail Heat Resources (e.g., ``OS::ContrailV2::VirtualNetwork``, + ``OS::ContrailV2::NetworkIpam``). .. req:: @@ -112,9 +147,9 @@ or an external gateway or router :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt - A VNF's port connected to an internal network **MUST** + A VNF's port connected to an ONAP internal network **MUST** use the port for the purpose of reaching VMs in the same VNF. .. req:: @@ -122,9 +157,10 @@ or an external gateway or router :target: VNF :keyword: MUST NOT :validation_mode: none - :updated: casablanca + :updated: frankfurt - A VNF's port connected to an internal network **MUST NOT** use the port + A VNF's port connected to an ONAP internal network **MUST NOT** + use the port for the purpose of reaching VMs in another VNF and/or an external gateway and/or external router. @@ -134,10 +170,10 @@ or an external gateway or router :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt - A VNF's internal network **MUST** have one subnet. - A VNF's internal network **MAY** have more than one subnet. + A VNF's ONAP internal network **MUST** have one subnet. + A VNF's ONAP internal network **MAY** have more than one subnet. .. req:: :id: R-86972 @@ -145,8 +181,8 @@ or an external gateway or router :keyword: SHOULD :updated: casablanca - A VNF **SHOULD** create the internal network in the VNF's Heat - Orchestration Template Base Module. + A VNF **SHOULD** create the ONAP internal network in the VNF's Heat + Orchestration Template's Base Module. .. req:: @@ -154,12 +190,13 @@ or an external gateway or router :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt - When a VNF's Heat Orchestration Template creates an internal network + When a VNF's Heat Orchestration Template creates an ONAP internal network (per the ONAP definition, see Requirements R-52425 and R-46461 - and R-35666) and the internal network needs to be shared between modules - within a VNF, the internal network **MUST** be created either in the + and R-35666) and the ONAP internal network needs to be shared between + modules within a VNF, the ONAP + internal network **MUST** be created either in the * the base module * a nested YAML file invoked by the base module @@ -174,12 +211,12 @@ or an external gateway or router parameter name in the base template **MUST** follow the naming convention ``int_{network-role}_net_name`` - ``{network-role}`` **MUST** be the network-role of the internal network - created in the Base Module. + The ``{network-role}`` **MUST** be the network-role of the ONAP + internal network created in the Base Module. The Base Module Output Parameter MUST be declared in the ``parameters:`` section of the Incremental Module(s) where the ``OS::Neutron::Port`` - resource(s) is attaching to the internal network. + resource(s) is attaching to the ONAP internal network. 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 36c4628..755d88e 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 @@ -15,19 +15,21 @@ Contrail Network Parameters Contrail based resources may require references to a Contrail network using the network FQDN. -External Networks -~~~~~~~~~~~~~~~~~ +ONAP External Networks +~~~~~~~~~~~~~~~~~~~~~~ .. req:: :id: R-02164 :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt When a VNF's Heat Orchestration Template's Contrail resource has a property that - references an external network that requires the network's + references an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), + that requires the network's Fully Qualified Domain Name (FQDN), the property parameter * **MUST** follow the format ``{network-role}_net_fqdn`` @@ -58,10 +60,10 @@ External Networks *Example: Contrail Resource OS::ContrailV2::VirtualMachineInterface Reference to a Network FQDN.* -In this example, the {network-role} has been defined as oam to represent -an oam network and the {vm-type} has been defined as fw for firewall. -The Contrail resource OS::ContrailV2::VirtualMachineInterface property -virtual_network_refs references a contrail network FQDN. +In this example, the ``{network-role}`` has been defined as oam to represent +an oam network and the ``{vm-type}`` has been defined as fw for firewall. +The Contrail resource ``OS::ContrailV2::VirtualMachineInterface`` property +``virtual_network_refs`` references a contrail network FQDN. .. code-block:: yaml @@ -222,46 +224,6 @@ properties are ``instance_ip_address`` and ``subnet_uuid``. Resource OS::ContrailV2::InstanceIp Property instance_ip_address ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -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``. - -*Example OS::ContrailV2::InstanceIp Resource* - -.. code-block:: yaml - - <resource ID>: - type: OS::ContrailV2::InstanceIp - properties: - name: { get_param: name } - fq_name: { get_param: fq_name } - display_name: { get_param: display_name } - secondary_ip_tracking_ip: - { - secondary_ip_tracking_ip_ip_prefix: { get_param: secondary_ip_tracking_ip_ip_prefix }, - secondary_ip_tracking_ip_ip_prefix_len: { get_param: secondary_ip_tracking_ip_ip_prefix_len }, - } - instance_ip_address: { get_param: instance_ip_address } - instance_ip_mode: { get_param: instance_ip_mode } - subnet_uuid: { get_param: subnet_uuid } - instance_ip_family: { get_param: instance_ip_family } - annotations: - { - annotations_key_value_pair: - [{ - annotations_key_value_pair_key: { get_param: annotations_key_value_pair_key }, - annotations_key_value_pair_value: { get_param: annotations_key_value_pair_value }, - }], - } - instance_ip_local_ip: { get_param: instance_ip_local_ip } - instance_ip_secondary: { get_param: instance_ip_secondary } - physical_router_refs: [{ get_param: physical_router_refs }] - virtual_machine_interface_refs: [{ get_param: virtual_machine_interface_refs }] - virtual_network_refs: [{ get_param: virtual_network_refs }] - - - A VNF's Heat Orchestration Templates resource ``OS::ContrailV2::InstanceIp`` property ``instance_ip_address`` parameter **MUST** follow the same requirements @@ -289,10 +251,12 @@ property ``ip_address`` parameter. :introduced: dublin :validation_mode: static :target: VNF + :updated: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address - to an external network (per the ONAP definition, see Requirement R-57424), + to an ONAP external network + (per the ONAP definition, see Requirement R-57424 and R-16968), and an IPv4 address is assigned using the property ``instance_ip_address`` and the parameter type is defined as a string, @@ -304,7 +268,7 @@ property ``ip_address`` parameter. where * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external network + * ``{network-role}`` is the {network-role} of the ONAP external network * ``{index}`` is a numeric value that **MUST** start at zero in a VNF's Heat Orchestration Template and **MUST** increment by one @@ -326,7 +290,7 @@ property ``ip_address`` parameter. ONAP's SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template. -*Example External Network IPv4 Address string Parameter Definition* +*Example ONAP External Network IPv4 Address string Parameter Definition* .. code-block:: yaml @@ -344,11 +308,12 @@ the value at orchestration to the Heat Orchestration Template. :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address - to an external network (per the - ONAP definition, see Requirement R-57424), + to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), and an IPv4 address is assigned using the property ``instance_ip_address`` and the parameter type is defined as a @@ -362,7 +327,7 @@ the value at orchestration to the Heat Orchestration Template. * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external + * ``{network-role}`` is the {network-role} of the ONAP external network @@ -403,12 +368,13 @@ Parameter Definition* :introduced: dublin :validation_mode: static :target: VNF + :updated: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address - to an external network + to an ONAP external network (per the - ONAP definition, see Requirement R-57424), + ONAP definition, see Requirement R-57424 and R-16968), and an IPv6 address is assigned using the property ``instance_ip_address`` and the parameter type is defined as a string, @@ -421,7 +387,7 @@ Parameter Definition* * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external network + * ``{network-role}`` is the {network-role} of the ONAP external network * ``{index}`` is a numeric value that **MUST** start at zero in a VNF's Heat Orchestration Template and **MUST** increment by one @@ -443,7 +409,7 @@ Parameter Definition* ONAP's SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template. -*Example External Network IPv6 Address string Parameter Definition* +*Example ONAP External Network IPv6 Address string Parameter Definition* .. code-block:: yaml @@ -461,11 +427,12 @@ the value at orchestration to the Heat Orchestration Template. :validation_mode: static :introduced: dublin :target: VNF + :updated: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address - to an external network (per the - ONAP definition, see Requirement R-57424), + to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), and an IPv6 address is assigned using the property ``instance_ip_address`` and the parameter type is defined as a @@ -479,7 +446,7 @@ the value at orchestration to the Heat Orchestration Template. * ``{vm-type}`` is the {vm-type} associated with the OS::Nova::Server - * ``{network-role}`` is the {network-role} of the external + * ``{network-role}`` is the {network-role} of the ONAP external network @@ -501,7 +468,7 @@ the value at orchestration to the Heat Orchestration Template. ONAP's SDN-Controller assigns the IP Address and ONAP provides the value at orchestration to the Heat Orchestration Template. -*Example External Network IPv6 Address comma_delimited_list Parameter +*Example ONAP External Network IPv6 Address comma_delimited_list Parameter Definition* .. code-block:: yaml @@ -520,11 +487,12 @@ Definition* :introduced: dublin :validation_mode: static :target: VNF + :updated: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address - to an internal network (per the - ONAP definition, see Requirements R-52425 and R-46461), + to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv4 address is assigned using the property ``instance_ip_address`` and the parameter type is @@ -538,7 +506,7 @@ Definition* * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the internal network + * ``{network-role}`` is the {network-role} of the ONAP internal network * ``{index}`` is a numeric value that **MUST** start at zero in a VNF's Heat Orchestration Template and **MUST** increment by one @@ -558,11 +526,11 @@ Definition* **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 +The IP address is local to the VNF's ONAP 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. -*Example Internal Network IPv4 Address string Parameter Definition* +*Example ONAP Internal Network IPv4 Address string Parameter Definition* .. code-block:: yaml @@ -580,11 +548,12 @@ Heat Orchestration Template's Environment File. :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address - to an internal network (per the - ONAP definition, see Requirements R-52425 and R-46461), + to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv4 address is assigned using the property ``instance_ip_address`` and the parameter type is defined as a @@ -598,7 +567,7 @@ Heat Orchestration Template's Environment File. * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the internal + * ``{network-role}`` is the {network-role} of the ONAP internal network @@ -616,11 +585,11 @@ Heat Orchestration Template's Environment File. **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 +The IP address is local to the VNF's ONAP 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. -*Example Internal Network IPv4 Address comma_delimited_list +*Example ONAP Internal Network IPv4 Address comma_delimited_list Parameter Definition* .. code-block:: yaml @@ -639,11 +608,12 @@ Parameter Definition* :introduced: dublin :validation_mode: static :target: VNF + :updated: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address to an - internal network (per the - ONAP definition, see Requirements R-52425 and R-46461), + ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv6 address is assigned using the property ``instance_ip_address`` and the parameter type is defined as a @@ -656,7 +626,7 @@ Parameter Definition* where * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the internal network + * ``{network-role}`` is the {network-role} of the ONAP internal network * ``{index}`` is a numeric value that **MUST** start at zero in a VNF's Heat Orchestration Template and **MUST** increment by one @@ -676,11 +646,11 @@ Parameter Definition* **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 +The IP address is local to the VNF's ONAP 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. -*Example Internal Network IPv6 Address string Parameter Definition* +*Example ONAP Internal Network IPv6 Address string Parameter Definition* .. code-block:: yaml @@ -698,11 +668,12 @@ Heat Orchestration Template's Environment File. :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address to an - internal network (per the - ONAP definition, see Requirements R-52425 and R-46461), + ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv6 address is assigned using the property ``instance_ip_address`` and the parameter type is defined as a @@ -716,7 +687,7 @@ Heat Orchestration Template's Environment File. * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the internal + * ``{network-role}`` is the {network-role} of the ONAP internal network @@ -734,11 +705,11 @@ Heat Orchestration Template's Environment File. **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 +The IP address is local to the VNF's ONAP 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. -*Example Internal Network IPv6 Address comma_delimited_list Parameter +*Example ONAP Internal Network IPv6 Address comma_delimited_list Parameter Definition* @@ -757,11 +728,12 @@ Definition* :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt The VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` property ``instance_ip_address`` - parameter associated with an external network, i.e., + parameter associated with an ONAP external network, i.e., * ``{vm-type}_{network-role}_ip_{index}`` * ``{vm-type}_{network-role}_v6_ip_{index}`` @@ -781,11 +753,12 @@ Definition* :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt The VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` property ``instance_ip_address`` - parameter associated with an internal network, i.e., + parameter associated with an ONAP internal network, i.e., * ``{vm-type}_int_{network-role}_ip_{index}`` * ``{vm-type}_int_{network-role}_v6_ip_{index}`` @@ -878,13 +851,14 @@ The property ``subnet_uuid`` specifies the subnet the IP is assigned from. :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When the VNF's Heat Orchestration Template's resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address - to an external network (per the ONAP definition, see - Requirement R-57424), + to an ONAP external network (per the ONAP definition, see + Requirement R-57424 and R-16968), and an IPv4 address is being cloud assigned by OpenStack's DHCP Service - and the external network IPv4 subnet is to be specified + and the ONAP external network IPv4 subnet is to be specified using the property ``subnet_uuid``, the parameter **MUST** follow the naming convention @@ -892,7 +866,7 @@ The property ``subnet_uuid`` specifies the subnet the IP is assigned from. where - * ``{network-role}`` is the network role of the network. + * ``{network-role}`` is the network role of the ONAP external network. Note that ONAP only supports cloud assigned IP addresses from one IPv4 subnet of a given network. @@ -931,13 +905,14 @@ value at orchestration to the Heat Orchestration Template. :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When the VNF's Heat Orchestration Template's resource ``OS::ContrailV2::InstanceIp`` is assigning an IP address - to an external network (per the ONAP definition, see - Requirement R-57424), + to an ONAP external network (per the ONAP definition, see + Requirement R-57424 and R-16968), and an IPv6 address is being cloud assigned by OpenStack's DHCP Service - and the external network IPv6 subnet is to be specified + and the ONAP external network IPv6 subnet is to be specified using the property ``subnet_uuid``, the parameter **MUST** follow the naming convention @@ -945,7 +920,7 @@ value at orchestration to the Heat Orchestration Template. where - * ``{network-role}`` is the network role of the network. + * ``{network-role}`` is the network role of the ONAP external network. Note that ONAP only supports cloud assigned IP addresses from one IPv6 subnet @@ -985,17 +960,18 @@ value at orchestration to the Heat Orchestration Template. :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When * the VNF's Heat Orchestration Template's resource ``OS::ContrailV2::InstanceIp`` in an Incremental Module is assigning an IP address - to an internal network (per the ONAP definition, see - Requirements R-52425 and R-46461) + to an ONAP internal network (per the ONAP definition, see + Requirements R-52425 and R-46461 and R-35666) 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 + * the ONAP internal network IPv4 subnet is to be specified using the property ``subnet_uuid``, the parameter **MUST** follow the naming convention @@ -1004,7 +980,7 @@ value at orchestration to the Heat Orchestration Template. where - * ``{network-role}`` is the network role of the internal network + * ``{network-role}`` is the network role of the ONAP internal network Note that the parameter **MUST** be defined as an ``output`` parameter in the base module. @@ -1025,7 +1001,7 @@ value at orchestration to the Heat Orchestration Template. VNF's Heat Orchestration Template's Environment File. -The assumption is that internal networks are created in the base module. +The assumption is that ONAP internal networks are created in the base module. The subnet network ID will be passed as an output parameter (e.g., ONAP Base Module Output Parameter) to the incremental modules. In the incremental modules, the output parameter name will be defined as @@ -1049,22 +1025,25 @@ input parameter. :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When * the VNF's Heat Orchestration Template's resource ``OS::ContrailV2::InstanceIp`` in an Incremental Module is attaching - to an internal network (per the ONAP definition, - see Requirements R-52425 and R-46461) + to an ONAP internal network (per the ONAP definition, + see Requirements R-52425 and R-46461 and R-35666) 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 + * the ONAP internal network IPv6 subnet is to be specified using the property ``subnet_uuid``, 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 ONAP internal network. Note that the parameter **MUST** be defined as an ``output`` parameter in the base module. @@ -1100,7 +1079,7 @@ subnet_uuid* The property ``instance_ip_address`` uses the same parameter naming convention as the property ``fixed_ips`` and Map Property ``subnet`` 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. @@ -1137,8 +1116,8 @@ parameter **MUST** follow the same requirements that apply to the resource ``OS::Neutron::Port`` property ``allowed_address_pairs``, map property ``ip_address`` parameter. -External Networks -~~~~~~~~~~~~~~~~~ +ONAP External Networks +~~~~~~~~~~~~~~~~~~~~~~ .. req:: :id: R-100280 @@ -1146,11 +1125,12 @@ External Networks :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt If a VNF's Heat Orchestration Template's resource ``OS::ContrailV2::VirtualMachineInterface`` - is attaching to an external network (per the - ONAP definition, see Requirement R-57424), the + is attaching to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), the map property ``virtual_machine_interface_allowed_address_pairs``, @@ -1172,11 +1152,12 @@ External Networks :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When the VNF's Heat Orchestration Template's resource - ``OS::ContrailV2::VirtualMachineInterface`` is attaching to an external + ``OS::ContrailV2::VirtualMachineInterface`` is attaching to an ONAP external network (per the - ONAP definition, see Requirement R-57424), + ONAP definition, see Requirement R-57424 and R-16968), and an IPv4 Virtual IP (VIP) is required to be supported by the ONAP data model, the map property @@ -1196,7 +1177,7 @@ External Networks where * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external network + * ``{network-role}`` is the {network-role} of the ONAP external network And the parameter **MUST** be declared as type ``string``. @@ -1220,11 +1201,13 @@ External Networks :validation_mode: static :target: VNF :introduced: dublin + :updated: frankfurt When the VNF's Heat Orchestration Template's resource - ``OS::ContrailV2::VirtualMachineInterface`` is attaching to an external + ``OS::ContrailV2::VirtualMachineInterface`` is attaching to an ONAP + external network (per the - ONAP definition, see Requirement R-57424), + ONAP definition, see Requirement R-57424 and R-16968), and an IPv6 Virtual IP (VIP) is required to be supported by the ONAP data model, the map property @@ -1244,7 +1227,7 @@ External Networks where * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external network + * ``{network-role}`` is the {network-role} of the ONAP external network And the parameter **MUST** be declared as type ``string``. @@ -1267,11 +1250,12 @@ External Networks :introduced: dublin :validation_mode: static :target: VNF + :updated: frankfurt When the VNF's Heat Orchestration Template's resource ``OS::ContrailV2::VirtualMachineInterface`` is attaching to an - external network - (per the ONAP definition, see Requirement R-57424), + ONAP external network + (per the ONAP definition, see Requirement R-57424 and R-16968), and the IPv4 VIP address and/or IPv6 VIP address is **not** supported by the ONAP data model, the map property @@ -1306,8 +1290,8 @@ External Networks parameters **not** supported by the ONAP data model. -Internal Networks -~~~~~~~~~~~~~~~~~ +ONAP Internal Networks +~~~~~~~~~~~~~~~~~~~~~~ .. req:: :id: R-100360 @@ -1315,11 +1299,12 @@ Internal Networks :introduced: dublin :validation_mode: static :target: VNF + :upadted: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::VirtualMachineInterface`` is attaching to an - internal network (per the - ONAP definition, see Requirements R-52425 and R-46461), + ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv4 Virtual IP (VIP) address is assigned using the map property, ``virtual_machine_interface_allowed_address_pairs, @@ -1335,7 +1320,7 @@ Internal Networks * ``{vm-type}`` is the {vm-type} associated with the OS::Nova::Server - * ``{network-role}`` is the {network-role} of the external + * ``{network-role}`` is the {network-role} of the ONAP internal network And the parameter **MUST** be declared as ``type: string`` @@ -1352,7 +1337,7 @@ Internal Networks * ``{vm-type}`` is the {vm-type} associated with the OS::Nova::Server - * ``{network-role}`` is the {network-role} of the external + * ``{network-role}`` is the {network-role} of the ONAP internal network And the parameter **MUST** be declared as ``type: comma_delimited_list`` @@ -1365,11 +1350,12 @@ Internal Networks :introduced: dublin :validation_mode: static :target: VNF + :upadted: frankfurt When the VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::VirtualMachineInterface`` is attaching to an - internal network (per the - ONAP definition, see Requirements R-52425 and R-46461), + ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv6 Virtual IP (VIP) address is assigned using the map property, @@ -1386,7 +1372,7 @@ Internal Networks * ``{vm-type}`` is the {vm-type} associated with the OS::Nova::Server - * ``{network-role}`` is the {network-role} of the external + * ``{network-role}`` is the {network-role} of the ONAP internal network And the parameter **MUST** be declared as ``type: string`` @@ -1403,7 +1389,7 @@ Internal Networks * ``{vm-type}`` is the {vm-type} associated with the OS::Nova::Server - * ``{network-role}`` is the {network-role} of the external + * ``{network-role}`` is the {network-role} of the ONAP internal network And the parameter **MUST** be declared as ``type: comma_delimited_list`` 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 30549e7..1305f80 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 @@ -42,15 +42,15 @@ comma_delimited_list are supported in addition to String. fixed_ips: [{"ip_address": String, "subnet": String}, {"ip_address": String, "subnet": String}, ...] network: String -The values associated with these properties may reference an external -network or internal network. External networks and internal +The values associated with these properties may reference an ONAP external +network or ONAP internal network. ONAP external networks and ONAP 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 ONAP external network, all property values are parameters that are retrieved via the intrinsic function ``get_param``. -When the ``OS::Neutron::Port`` is attaching to an internal network, a +When the ``OS::Neutron::Port`` is attaching to an ONAP internal network, a property value maybe retrieved via the intrinsic function ``get_param``, ``get_resource``, or ``get_attr``. @@ -60,12 +60,12 @@ Items to Note ~~~~~~~~~~~~~ A VNF **MAY** have one or more ports connected to a unique -external network. All VNF ports connected to the unique external +ONAP external network. All VNF ports connected to the unique ONAP external network **MUST** have cloud assigned IP addresses or **MUST** have ONAP SDN-C assigned IP addresses. -A VNF **MAY** have one or more ports connected to a unique -internal network. All VNF ports connected to the unique internal +A VNF **MAY** have one or more ports connected to a unique ONAP +internal network. All VNF ports connected to the unique ONAP internal network **MUST** have cloud assigned IP addresses or **MUST** have statically assigned IP addresses. @@ -88,9 +88,10 @@ or **MUST** have statically assigned IP addresses. :id: R-63956 :target: VNF :keyword: MAY - :updated: casablanca + :updated: frankfurt - If the VNF's ports connected to a unique external network + If the VNF's ports connected to a unique ONAP external network + (per the ONAP definition, see Requirement R-57424 and R-16968) and the port's IP addresses are ONAP SDN-C assigned IP addresses, the IPv4 addresses **MAY** be from different subnets and the IPv6 addresses **MAY** be from different subnets. @@ -100,9 +101,10 @@ or **MUST** have statically assigned IP addresses. :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt - If a VNF's Port is attached to an external network and the port's + If a VNF's Port is attached to an ONAP external network (per the ONAP + definition, see Requirement R-57424 and R-16968) and the port's IP addresses are assigned by ONAP's SDN-Controller, the ``OS::Neutron::Port`` Resource's @@ -114,9 +116,10 @@ or **MUST** have statically assigned IP addresses. :id: R-18001 :target: VNF :keyword: MAY - :updated: casablanca + :updated: frankfurt - If the VNF's ports connected to a unique internal network + If the VNF's ports connected to a unique ONAP internal network + (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666) and the port's IP addresses are statically assigned IP addresses, the IPv4 addresses **MAY** be from different subnets and the IPv6 addresses **MAY** be from different subnets. @@ -126,10 +129,12 @@ or **MUST** have statically assigned IP addresses. :target: VNF :keyword: MUST NOT :validation_mode: none - :updated: casablanca + :updated: frankfurt - 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\ + If a VNF's Port is attached to an ONAP internal network + (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666) + 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 @@ -180,11 +185,11 @@ the port is attached to. :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt 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 + ``OS::Neutron::Port`` is attaching to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), the ``network`` parameter name **MUST** * follow the naming convention ``{network-role}_net_id`` if the Neutron @@ -192,7 +197,7 @@ the port is attached to. * 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 + where ``{network-role}`` is the network-role of the ONAP external network and a ``get_param`` **MUST** be used as the intrinsic function. .. req:: @@ -205,8 +210,8 @@ the port is attached to. When the VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` is in an incremental module and - is attaching to an internal network (per the - ONAP definition, see Requirements R-52425 and R-46461), + is attaching to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), the ``network`` parameter name **MUST** * follow the naming convention ``int_{network-role}_net_id`` if the @@ -214,11 +219,11 @@ the port is attached to. * follow the naming convention ``int_{network-role}_net_name`` if the 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 ONAP internal network + and a ``get_param`` **MUST** be used as the intrinsic function. -In Requirement R-86182, the internal network is created in the VNF's +In Requirement R-86182, the ONAP 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. The output parameter name will be declared as a parameter in the @@ -228,8 +233,8 @@ The output parameter name will be declared as a parameter in the When the VNF's Heat Orchestration Template's resource ``OS::Neutron::Port`` is in the base module and is attaching to an internal network (per the -ONAP definition, see Requirements R-52425 and R-46461), -and the internal network is +ONAP definition, see Requirements R-52425 and R-46461 and R-35666), +and the ONAP internal network is * created in the base module, the ``network`` property value can obtain the UUID @@ -253,10 +258,10 @@ and the internal network is parameter **MUST NOT** be enumerated in the Heat Orchestration Template's Environment File. -The parameter values for external networks are provided by ONAP +The parameter values for ONAP external networks are provided by ONAP to the VNF's Heat Orchestration Template at orchestration time. -The parameter values for internal networks created in the VNF's Base Module +The parameter values for ONAP internal networks created in the VNF's Base Module Heat Orchestration Template are provided to the VNF's Incremental Module Heat Orchestration Template at orchestration time. @@ -320,11 +325,11 @@ IPv4 and/or IPv6 addresses. :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), and an IPv4 address is assigned using the property ``fixed_ips`` map property ``ip_address`` and the parameter type is defined as a string, @@ -336,7 +341,7 @@ IPv4 and/or IPv6 addresses. where * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external network + * ``{network-role}`` is the {network-role} of the ONAP external network * ``{index}`` is a numeric value that **MUST** start at zero in a VNF's Heat Orchestration Template and **MUST** increment by one @@ -372,11 +377,11 @@ the value at orchestration to the Heat Orchestration Template. :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), and an IPv4 address is assigned using the property ``fixed_ips`` map property ``ip_address`` and the parameter type is defined as a @@ -390,7 +395,7 @@ the value at orchestration to the Heat Orchestration Template. * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external + * ``{network-role}`` is the {network-role} of the ONAP external network .. req:: @@ -427,11 +432,11 @@ Parameter Definition* :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), and an IPv6 address is assigned using the property ``fixed_ips`` map property ``ip_address`` and the parameter type is defined as a string, @@ -444,7 +449,7 @@ Parameter Definition* * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external network + * ``{network-role}`` is the {network-role} of the ONAP external network * ``{index}`` is a numeric value that **MUST** start at zero in a VNF's Heat Orchestration Template and **MUST** increment by one @@ -480,11 +485,11 @@ the value at orchestration to the Heat Orchestration Template. :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), and an IPv6 address is assigned using the property ``fixed_ips`` map property ``ip_address`` and the parameter type is defined as a @@ -498,7 +503,7 @@ the value at orchestration to the Heat Orchestration Template. * ``{vm-type}`` is the {vm-type} associated with the OS::Nova::Server - * ``{network-role}`` is the {network-role} of the external + * ``{network-role}`` is the {network-role} of the ONAP external network .. req:: @@ -535,11 +540,11 @@ Definition* :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv4 address is assigned using the property ``fixed_ips`` map property ``ip_address`` and the parameter type is @@ -553,7 +558,7 @@ Definition* * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the internal network + * ``{network-role}`` is the {network-role} of the ONAP internal network * ``{index}`` is a numeric value that **MUST** start at zero in a VNF's Heat Orchestration Template and **MUST** increment by one @@ -590,11 +595,11 @@ Heat Orchestration Template's Environment File. :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv4 address is assigned using the property ``fixed_ips`` map property ``ip_address`` and the parameter type is defined as a @@ -608,7 +613,7 @@ Heat Orchestration Template's Environment File. * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the internal + * ``{network-role}`` is the {network-role} of the ONAP internal network .. req:: @@ -643,11 +648,11 @@ Heat Orchestration Template's Environment File. :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv6 address is assigned using the property ``fixed_ips`` map property ``ip_address`` and the parameter type is defined as a @@ -660,7 +665,7 @@ Heat Orchestration Template's Environment File. where * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the internal network + * ``{network-role}`` is the {network-role} of the ONAP internal network * ``{index}`` is a numeric value that **MUST** start at zero in a VNF's Heat Orchestration Template and **MUST** increment by one @@ -698,11 +703,11 @@ Heat Orchestration Template's Environment File. :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv6 address is assigned using the property ``fixed_ips`` map property ``ip_address`` and the parameter type is defined as a @@ -716,7 +721,7 @@ Heat Orchestration Template's Environment File. * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the internal + * ``{network-role}`` is the {network-role} of the ONAP internal network *Example Internal Network IPv6 Address comma_delimited_list Parameter @@ -762,12 +767,12 @@ Heat Orchestration Template's Environment File. :target: VNF :keyword: MUST NOT :validation_mode: static - :updated: casablanca + :updated: frankfurt 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., + parameter associated with an ONAP external network, i.e., * ``{vm-type}_{network-role}_ip_{index}`` * ``{vm-type}_{network-role}_v6_ip_{index}`` @@ -784,12 +789,12 @@ Heat Orchestration Template's Environment File. :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt 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., + parameter associated with an ONAP internal network, i.e., * ``{vm-type}_int_{network-role}_ip_{index}`` * ``{vm-type}_int_{network-role}_v6_ip_{index}`` @@ -809,21 +814,21 @@ Summary Table :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, ONAP external, IPv4, string, {vm-type}_{network-role}_ip_{index}, NO + OS::Neutron::Port, fixed_ips, ip_address, ONAP external, IPv4, comma_delimited_list, {vm-type}_{network-role}_ips, NO + OS::Neutron::Port, fixed_ips, ip_address, ONAP external, IPv6, string, {vm-type}_{network-role}_v6_ip_{index}, NO + OS::Neutron::Port, fixed_ips, ip_address, ONAP external, IPv6, comma_delimited_list, {vm-type}_{network-role}_v6_ips, NO + OS::Neutron::Port, fixed_ips, ip_address, ONAP internal, IPv4, string, {vm-type}_int_{network-role}_ip_{index}, YES + OS::Neutron::Port, fixed_ips, ip_address, ONAP internal, IPv4, comma_delimited_list, {vm-type}_int_{network-role}_ips, YES + OS::Neutron::Port, fixed_ips, ip_address, ONAP internal, IPv6, string, {vm-type}_int_{network-role}_v6_ip_{index}, YES + OS::Neutron::Port, fixed_ips, ip_address, ONAP internal, IPv6, comma_delimited_list, {vm-type}_int_{network-role}_v6_ips, YES Examples ~~~~~~~~ *Example: comma_delimited_list parameters for IPv4 and IPv6 Address -Assignments to an external network* +Assignments to an ONAP 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`` @@ -857,7 +862,7 @@ for database. - "ip_address": {get_param: [ db_oam_v6_ips, 1 ]} *Example: string parameters for IPv4 and IPv6 Address Assignments to an -external network* +ONAP 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 @@ -897,7 +902,7 @@ database. *Example*: comma_delimited_list parameters for IPv4 and IPv6 Address -Assignments to an internal network* +Assignments to an ONAP internal network* In this example, the ``{network-role}`` has been defined as ``ctrl`` to represent an ctrl network internal to the vnf. @@ -935,7 +940,7 @@ database. *Example: string parameters for IPv4 and IPv6 Address Assignments to an -internal network* +ONAP internal network* In this example, the ``int_{network-role}`` has been defined as ``int_ctrl`` to represent a control network internal to the vnf. @@ -987,17 +992,17 @@ The IP address assignment will be made from the specified subnet. Specifying the subnet is not required; it is optional. -If the network (external or internal) that the port is attaching +If the network (ONAP external or ONAP internal) that the port is attaching to only contains one subnet, specifying the subnet is superfluous. The IP address will be assigned from the one existing subnet. -If the network (external or internal) that the port is attaching +If the network (ONAP external or ONAP internal) that the port is attaching to contains two or more subnets, specifying the subnet in the ``fixed_ips`` map property ``subnet`` determines which subnet the IP address will be assigned from. -If the network (external or internal) that the port is attaching +If the network (ONAP external or ONAP 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 the IP address will be assigned from. @@ -1022,14 +1027,14 @@ The property ``fixed_ips`` is used to assign IPs to a port. The Map Property :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt 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), + to an ONAP external network (per the ONAP definition, see + Requirement R-57424 and R-16968), and an IPv4 address is being cloud assigned by OpenStack's DHCP Service - and the external network IPv4 subnet is to be specified + and the ONAP external network IPv4 subnet is to be specified using the property ``fixed_ips`` map property ``subnet``, the parameter **MUST** follow the naming convention @@ -1038,7 +1043,7 @@ The property ``fixed_ips`` is used to assign IPs to a port. The Map Property where - * ``{network-role}`` is the network role of the network. + * ``{network-role}`` is the network role of the ONAP external network. Note that ONAP only supports cloud assigned IP addresses from one IPv4 subnet @@ -1078,14 +1083,14 @@ value at orchestration to the Heat Orchestration Template. :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt 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), + to an ONAP external network (per the ONAP definition, see + Requirement R-57424 and R-16968), and an IPv6 address is being cloud assigned by OpenStack's DHCP Service - and the external network IPv6 subnet is to be specified + and the ONAP external network IPv6 subnet is to be specified using the property ``fixed_ips`` map property ``subnet``, the parameter **MUST** follow the naming convention @@ -1094,7 +1099,7 @@ value at orchestration to the Heat Orchestration Template. where - * ``{network-role}`` is the network role of the network. + * ``{network-role}`` is the network role of the ONAP external network. Note that ONAP only supports cloud assigned IP addresses from one IPv6 subnet of a given network. @@ -1113,8 +1118,8 @@ of a given network. **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* +*Example: One Cloud Assigned IPv4 Address (DHCP) assigned to an ONAP external +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`` @@ -1139,8 +1144,8 @@ DHCP service to assign IP addresses. - subnet: { get_param: oam_subnet_id } *Example: One Cloud Assigned IPv4 address and one Cloud Assigned IPv6 -address assigned to a network that has at least one IPv4 subnet and one -IPv6 subnet* +address assigned to an ONAP external 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 @@ -1172,14 +1177,14 @@ represent an oam network and the ``{vm-type}`` has been defined as :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt When * 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) + to an ONAP internal network (per the ONAP definition, see + Requirements R-52425 and R-46461 and R-35666) 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 @@ -1191,7 +1196,7 @@ represent an oam network and the ``{vm-type}`` has been defined as where - * ``{network-role}`` is the network role of the internal network + * ``{network-role}`` is the network role of the ONAP internal network Note that the parameter **MUST** be defined as an ``output`` parameter in the base module. @@ -1210,7 +1215,8 @@ represent an oam network and the ``{vm-type}`` has been defined as **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 assumption is that the ONAP internal networks are created in the base +module. The Neutron subnet network ID will be passed as an output parameter (e.g., ONAP Base Module Output Parameter) to the incremental modules. In the incremental modules, the output parameter name will be defined as @@ -1235,18 +1241,20 @@ input parameter. When - * 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 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``, + * the VNF's Heat Orchestration Template's + resource ``OS::Neutron::Port`` in an Incremental Module is attaching + to an ONAP internal network (per the ONAP definition, see Requirements + R-52425 and R-46461 and R-35666) + that is created in the Base Module, AND + * an IPv6 address is being cloud assigned by OpenStack's DHCP Service AND + * the ONAP internal network IPv6 subnet is to be specified + using the property ``fixed_ips`` map property ``subnet``, 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 ONAP internal network. Note that the parameter **MUST** be defined as an ``output`` parameter in the base module. @@ -1343,19 +1351,19 @@ The detailed requirements follow in the sections below. -VIP Assignment, External Networks -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +VIP Assignment, ONAP External Networks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. req:: :id: R-83412 :target: VNF :keyword: MUST NOT :validation_mode: static - :updated: dublin + :updated: frankfurt If a 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 + ``OS::Neutron::Port`` is attaching to an ONAP external network (per the + ONAP definition, see Requirement R-57424 and R-16968), the property ``allowed_address_pairs`` map property ``ip_address`` parameter(s) **MUST NOT** be enumerated in the @@ -1367,11 +1375,11 @@ VIP Assignment, External Networks :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP external network + (per the ONAP definition, see Requirement R-57424 and R-16968), and the IPv4 VIP is required to be supported by the ONAP data model, the property ``allowed_address_pairs`` map property ``ip_address`` parameter name **MUST** follow the naming convention @@ -1381,7 +1389,7 @@ VIP Assignment, External Networks where * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external network + * ``{network-role}`` is the {network-role} of the ONAP external network And the parameter **MUST** be declared as type ``string``. @@ -1405,11 +1413,11 @@ VIP Assignment, External Networks :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP external network + (per the ONAP definition, see Requirement R-57424 and R-16968), and the IPv6 VIP is required to be supported by the ONAP data model, the property ``allowed_address_pairs`` map property ``ip_address`` parameter name **MUST** follow the naming convention @@ -1419,7 +1427,7 @@ VIP Assignment, External Networks where * ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` - * ``{network-role}`` is the {network-role} of the external network + * ``{network-role}`` is the {network-role} of the ONAP external network And the parameter **MUST** be declared as type ``string``. @@ -1444,10 +1452,11 @@ VIP Assignment, External Networks :keyword: MUST :validation_mode: static :introduced: dublin + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP external network + (per the ONAP definition, see Requirement R-57424 and R-16968), and the IPv4 VIP address and/or IPv6 VIP address is **not** supported by the ONAP data model, the property ``allowed_address_pairs`` map property ``ip_address`` @@ -1609,8 +1618,8 @@ an oam network and the {vm-type} has been defined as db for database. -VIP Assignment, Internal Networks -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +VIP Assignment, ONAP Internal Networks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. req:: :id: R-717227 @@ -1618,24 +1627,25 @@ VIP Assignment, Internal Networks :introduced: dublin :validation_mode: static :target: VNF + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv4 Virtual IP (VIP) address is assigned using the property ``allowed_address_pairs`` map property ``ip_address``, the parameter name **MUST** follow the naming convention - * ``{vm-type}_int_{network-role}_floating_ip`` + - ``{vm-type}_int_{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 + - ``{vm-type}`` is the {vm-type} associated with the + OS::Nova::Server + - ``{network-role}`` is the {network-role} of the ONAP internal + network And the parameter **MUST** be declared as ``type: string`` and **MUST** be enumerated in the environment file. @@ -1645,14 +1655,14 @@ VIP Assignment, Internal Networks the parameter name **MUST** follow the naming convention - * ``{vm-type}_int_{network-role}_floating_ips`` + - ``{vm-type}_int_{network-role}_floating_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 ONAP internal + network And the parameter **MUST** be declared as ``type: comma_delimited_list`` and **MUST** be enumerated in the environment file. @@ -1664,10 +1674,11 @@ VIP Assignment, Internal Networks :introduced: dublin :validation_mode: static :target: VNF + :updated: frankfurt 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), + ``OS::Neutron::Port`` is attaching to an ONAP internal network (per the + ONAP definition, see Requirements R-52425 and R-46461 and R-35666), and an IPv6 Virtual IP (VIP) address is assigned using the property ``allowed_address_pairs`` @@ -1675,14 +1686,14 @@ VIP Assignment, Internal Networks the parameter name **MUST** follow the naming convention - * ``{vm-type}_int_{network-role}_floating_v6_ip`` + - ``{vm-type}_int_{network-role}_floating_v6_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 ONAP internal + network And the parameter **MUST** be declared as ``type: string`` and **MUST** be enumerated in the environment file @@ -1692,14 +1703,14 @@ VIP Assignment, Internal Networks the parameter name **MUST** follow the naming convention - * ``{vm-type}_int_{network-role}_floating_v6_ips`` + - ``{vm-type}_int_{network-role}_floating_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 ONAP internal + network And the parameter **MUST** be declared as ``type: comma_delimited_list`` and **MUST** be enumerated in the environment file. @@ -1730,7 +1741,7 @@ 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). +(IPv4 or IPv6) and network type (ONAP internal or ONAP external). The valid parameter names are: * ``{vm-type}_{network-role}_floating_ip`` 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 0cc7794..8d5c878 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 @@ -35,21 +35,23 @@ Heat Orchestration Template resources are described in :ref:`resources`. :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt When a VNF's Heat Orchestration Template's resource is associated - with a single external network, the Resource ID **MUST** contain the text - ``{network-role}``. + with a single ONAP external network, the Resource ID **MUST** contain the + text ``{network-role}``. .. req:: :id: R-98138 :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt When a VNF's Heat Orchestration Template's resource is associated with a - single internal network, the Resource ID **MUST** contain the text + single ONAP internal network (per the ONAP definition, see + Requirements R-52425 and R-46461 and R-35666), the Resource ID **MUST** + contain the text ``int_{network-role}``. .. req:: @@ -57,11 +59,12 @@ Heat Orchestration Template resources are described in :ref:`resources`. :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt 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 + and a single ONAP + external network, the Resource ID text **MUST** contain both the ``{vm-type}`` and the ``{network-role}`` @@ -81,10 +84,12 @@ Heat Orchestration Template resources are described in :ref:`resources`. :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt 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** + single ``{vm-type}`` and a single ONAP internal network (per the ONAP + definition, see Requirements R-52425 and R-46461 and R-35666), + 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 @@ -103,23 +108,30 @@ Heat Orchestration Template resources are described in :ref:`resources`. :target: VNF :keyword: MUST NOT :validation_mode: none - :updated: casablanca + :updated: frankfurt 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 + with more than one ``{vm-type}`` and/or more than one ONAP internal network + (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666) + and/or + ONAP external network (per the ONAP definition, see Requirement R-57424 + and R-16968), 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 + :updated: frankfurt 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** + more than one ``{vm-type}`` and/or more than one ONAP internal network + (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666) + and/or ONAP external network (per the ONAP definition, see Requirement + R-57424 and R-16968), the Resource ID **MAY** contain the term + ``shared`` and/or **MAY** contain text that identifies the VNF. .. req:: @@ -301,14 +313,15 @@ OS::Neutron::Net :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Net`` Resource ID **MUST** use the naming convention * ``int_{network-role}_network`` - VNF Heat Orchestration Templates can only create internal networks. + VNF Heat Orchestration Templates can only create ONAP internal networks + (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666). There is no ``{index}`` after ``{network-role}`` because ``{network-role}`` **MUST** be unique in the scope of the VNF's Heat Orchestration Template. @@ -322,10 +335,12 @@ OS::Neutron::Port :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` - that is attaching to an external network Resource ID + that is attaching to an ONAP external network (per the ONAP definition, + see Requirement R-57424 and R-16968), the ``OS::Neutron::Port`` + Resource ID **MUST** use the naming convention * ``{vm-type}_{vm-type_index}_{network-role}_port_{port-index}`` @@ -339,7 +354,7 @@ OS::Neutron::Port in the VNF and **MUST** increment by one each time a new instance of a ``{vm-type}`` is referenced. - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP external network that the port is attached to * ``{port_index}`` references the instance of the port on the ``{vm-type}`` attached to ``{network-role}`` network. The @@ -353,10 +368,12 @@ OS::Neutron::Port :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` - that is attaching to an internal network Resource ID **MUST** + that is attaching to an ONAP internal network + (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666), + the `OS::Neutron::Port`` Resource ID **MUST** use the naming convention * ``{vm-type}_{vm-type_index}_int_{network-role}_port_{port-index}`` @@ -370,7 +387,7 @@ OS::Neutron::Port in the VNF and **MUST** increment by one each time a new instance of a ``{vm-type}`` is referenced. - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP internal network that the port is attached to * ``{port_index}`` references the instance of the port on the ``{vm-type}`` attached to ``{network-role}`` network. The @@ -384,10 +401,11 @@ OS::Neutron::Port :target: VNF :keyword: SHOULD :validation_mode: none - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` - that is creating a *Reserve Port* with an IPv4 address Resource ID + that is creating a *Reserve Port* with an IPv4 address, the + `OS::Neutron::Port`` Resource ID **SHOULD** use the naming convention * ``reserve_port_{vm-type}_{network-role}_floating_ip_{index}`` @@ -395,7 +413,7 @@ OS::Neutron::Port where * ``{vm-type}`` is the vm-type - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP external 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}``. @@ -408,10 +426,11 @@ OS::Neutron::Port :target: VNF :keyword: SHOULD :validation_mode: none - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` - that is creating a *Reserve Port* with an IPv6 address Resource ID + that is creating a *Reserve Port* with an IPv6 address, the + ``OS::Neutron::Port`` Resource ID **SHOULD** use the naming convention * ``reserve_port_{vm-type}_{network-role}_floating_v6_ip_{index}`` @@ -419,7 +438,7 @@ OS::Neutron::Port where * ``{vm-type}`` is the vm-type - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP external 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}``. @@ -433,11 +452,13 @@ OS::Neutron::SecurityGroup :id: R-08775 :target: VNF :keyword: SHOULD - :updated: casablanca + :updated: frankfurt - A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` + 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 + and/or external), the ``OS::Neutron::SecurityGroup`` + Resource ID **SHOULD** use the naming convention * ``{vm-type}_security_group`` @@ -449,42 +470,51 @@ OS::Neutron::SecurityGroup :id: R-03595 :target: VNF :keyword: SHOULD - :updated: casablanca + :updated: frankfurt - 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 + A VNF's Heat Orchestration Template's Resource + ``OS::Neutron::SecurityGroup`` that + is applicable to more than one ``{vm-type}`` and one ONAP external network + (per the ONAP definition, see Requirement R-57424 and R-16968), + the ``OS::Neutron::SecurityGroup`` Resource ID **SHOULD** use the naming convention * ``{network-role}_security_group`` where - * ``{network-role}`` is the network-role + * ``{network-role}`` is the network-role of the ONAP external network .. req:: :id: R-73213 :target: VNF :keyword: SHOULD - :updated: casablanca + :updated: frankfurt - 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 + A VNF's Heat Orchestration Template's Resource + ``OS::Neutron::SecurityGroup`` that + is applicable to more than one ``{vm-type}`` and one ONAP internal network, + (per the ONAP definition, see Requirements R-52425 and R-46461 and + R-35666), the ``OS::Neutron::SecurityGroup`` Resource ID **SHOULD** use the naming convention * ``int_{network-role}_security_group`` where - * ``{network-role}`` is the network-role + * ``{network-role}`` is the network-role of the ONAP internal network .. req:: :id: R-17334 :target: VNF :keyword: SHOULD - :updated: casablanca + :updated: frankfurt - A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` - that is applicable to one ``{vm-type}`` and one external network Resource ID + A VNF's Heat Orchestration Template's Resource + ``OS::Neutron::SecurityGroup`` + that is applicable to one ``{vm-type}`` and one ONAP external network + (per the ONAP definition, see Requirement R-57424 and R-16968), + the ``OS::Neutron::SecurityGroup`` Resource ID **SHOULD** use the naming convention * ``{vm-type}_{network-role}_security_group`` @@ -492,16 +522,20 @@ OS::Neutron::SecurityGroup where * ``{vm-type}`` is the vm-type - * ``{network-role}`` is the network-role + * ``{network-role}`` is the network-role of the ONAP external network .. req:: :id: R-14198 :target: VNF :keyword: SHOULD - :updated: casablanca + :updated: frankfurt - 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** + A VNF's Heat Orchestration Template's Resource + ``OS::Neutron::SecurityGroup`` that + is applicable to one {vm-type} and one ONAP internal network + (per the ONAP definition, see Requirements R-52425 and R-46461 and + R-35666), the + ``OS::Neutron::SecurityGroup`` Resource ID **SHOULD** use the naming convention * ``{vm-type}_int_{network-role}_security_group`` @@ -509,17 +543,19 @@ OS::Neutron::SecurityGroup where * ``{vm-type}`` is the vm-type - * ``{network-role}`` is the network-role + * ``{network-role}`` is the network-role of the ONAP internal network .. req:: :id: R-30005 :target: VNF :keyword: MAY - :updated: casablanca + :updated: frankfurt - A VNF's Heat Orchestration Template's Resource ``OS::Neutron::SecurityGroup`` that + 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** + (internal and/or external), the ``OS::Neutron::SecurityGroup`` Resource ID + **MAY** use the naming convention * ``shared_security_group`` @@ -539,7 +575,7 @@ OS::Neutron::Subnet :id: R-59434 :target: VNF :keyword: SHOULD - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Subnet`` Resource ID **SHOULD** use the naming convention @@ -548,8 +584,10 @@ OS::Neutron::Subnet where - * ``{network-role}`` is the network-role - * ``{index}`` is the ``{index}`` of the subnet of the network. + * ``{network-role}`` is the network-role of the ONAP internal network + (per the ONAP definition, see Requirements R-52425 and R-46461 and + R-35666). + * ``{index}`` is the ``{index}`` of the subnet of the ONAP internal network. The ``{index}`` starts at zero and increments by one (as described in R-11690). @@ -560,16 +598,17 @@ OS::Nova::Keypair :id: R-24997 :target: VNF :keyword: SHOULD - :updated: dublin + :updated: frankfurt - 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}``, the ``OS::Nova::Keypair`` + Resource ID **SHOULD** use the naming convention * ``{vm-type}_keypair_{index}`` where - * ``{network-role}`` is the network-role + * ``{vm-type}`` is the vm-type of the ``OS::Nova::Server`` * ``{index}`` is the ``{index}`` of the keypair. The ``{index}`` starts at zero and increments by one (as described in R-11690). @@ -578,10 +617,11 @@ OS::Nova::Keypair :id: R-65516 :target: VNF :keyword: SHOULD - :updated: dublin + :updated: frankfurt - A VNF's Heat Orchestration Template's Resource ``OS::Nova::Keypair`` applies to - all Virtual Machines in the VNF, the Resource ID **SHOULD** use the naming + A VNF's Heat Orchestration Template's Resource ``OS::Nova::Keypair`` + applies to all Virtual Machines in the VNF, the + ``OS::Nova::Keypair`` Resource ID **SHOULD** use the naming convention * ``{vnf-type}_keypair`` @@ -622,8 +662,8 @@ OS::Nova::ServerGroup :keyword: MAY :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`` @@ -655,14 +695,15 @@ OS::ContrailV2::InstanceIp :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` Resource ID that is configuring an IPv4 Address on a virtual machine interface (i.e., OS::ContrailV2::VirtualMachineInterface) - attached to an external network + attached to an ONAP external network (per the ONAP definition, + see Requirement R-57424 and R-16968) **MUST** use the naming convention * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_IP_{index}`` @@ -676,8 +717,8 @@ OS::ContrailV2::InstanceIp in the VNF and **MUST** increment by one each time a new instance of a ``{vm-type}`` is referenced. - * ``{network-role}`` is the network-role of the network that the - virtual machine interface is attached to + * ``{network-role}`` is the network-role of the ONAP external + network that the virtual machine interface is attached to * ``{vmi_index}`` references the instance of the virtual machine interface on the ``{vm-type}`` attached to ``{network-role}`` network. The ``{vmi_index}`` is a numeric value that **MUST** start at zero on an @@ -697,13 +738,14 @@ OS::ContrailV2::InstanceIp :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` Resource ID that is configuring an IPv6 Address on a virtual machine interface (i.e., OS::ContrailV2::VirtualMachineInterface) - attached to an external network + attached to an ONAP external network (per the ONAP definition, + see Requirement R-57424 and R-16968) **MUST** use the naming convention * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_v6_IP_{index}`` @@ -717,7 +759,7 @@ OS::ContrailV2::InstanceIp in the VNF and **MUST** increment by one each time a new instance of a ``{vm-type}`` is referenced. - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP external network that the port is attached to * ``{vmi_index}`` references the instance of the virtual machine interface on the ``{vm-type}`` attached to ``{network-role}`` network. The @@ -738,13 +780,14 @@ OS::ContrailV2::InstanceIp :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` Resource ID that is configuring an IPv4 Address on a virtual machine interface (i.e., OS::ContrailV2::VirtualMachineInterface) - attached to an internal network + attached to an ONAP internal network (per the ONAP definition, see + Requirements R-52425 and R-46461 and R-35666) **MUST** use the naming convention * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_IP_{index}`` @@ -758,7 +801,7 @@ OS::ContrailV2::InstanceIp in the VNF and **MUST** increment by one each time a new instance of a ``{vm-type}`` is referenced. - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP internal network that the port is attached to * ``{vmi_index}`` references the instance of the virtual machine interface on the ``{vm-type}`` attached to ``{network-role}`` network. The @@ -779,13 +822,14 @@ OS::ContrailV2::InstanceIp :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` Resource ID that is configuring an IPv6 Address on a virtual machine interface (i.e., OS::ContrailV2::VirtualMachineInterface) - attached to an internal network + attached to an ONAP internal network (per the ONAP definition, see + Requirements R-52425 and R-46461 and R-35666) **MUST** use the naming convention * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_v6_IP_{index}`` @@ -799,7 +843,7 @@ OS::ContrailV2::InstanceIp in the VNF and **MUST** increment by one each time a new instance of a ``{vm-type}`` is referenced. - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP internal network that the port is attached to * ``{vmi_index}`` references the instance of the virtual machine interface on the ``{vm-type}`` attached to ``{network-role}`` network. The @@ -856,13 +900,15 @@ OS::ContrailV2::NetworkIpam :target: VNF :keyword: MUST :validation_mode: static - :updated: casablanca + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::NetworkIpam`` Resource ID **MUST** - contain the ``{network-role}``. + contain the ``{network-role}`` of the ONAP internal network (per the ONAP + definition, see Requirements R-52425 and R-46461 and R-35666) that the + resource is associated with. .. req:: :id: R-81979 @@ -870,7 +916,8 @@ OS::ContrailV2::NetworkIpam :keyword: MAY :updated: casablanca - A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::NetworkIpam`` + A VNF's Heat Orchestration Template's Resource + ``OS::ContrailV2::NetworkIpam`` Resource ID **MAY** use the naming convention * ``{network-role}_RNI`` @@ -964,7 +1011,8 @@ OS::ContrailV2::ServiceTemplate :keyword: MAY :updated: dublin - A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::ServiceTemplate`` + A VNF's Heat Orchestration Template's Resource + ``OS::ContrailV2::ServiceTemplate`` Resource ID **MAY** use the naming convention * ``{vm-type}_RST_{index}`` @@ -985,11 +1033,12 @@ OS::ContrailV2::VirtualMachineInterface :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::VirtualMachineInterface`` Resource ID - that is attaching to an external network + that is attaching to an ONAP external network (per the ONAP definition, + see Requirement R-57424 and R-16968) **MUST** use the naming convention * ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}`` @@ -1003,7 +1052,7 @@ OS::ContrailV2::VirtualMachineInterface in the VNF and **MUST** increment by one each time a new instance of a ``{vm-type}`` is referenced. - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP external network that the port (i.e. virtual machine interface) is attached to * ``{vmi_index}`` references the instance of the virtual machine interface on the ``{vm-type}`` attached to ``{network-role}`` network. The @@ -1018,11 +1067,12 @@ OS::ContrailV2::VirtualMachineInterface :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::VirtualMachineInterface`` Resource ID - that is attaching to an internal network + that is attaching to an ONAP internal network (per the ONAP definition, see + Requirements R-52425 and R-46461 and R-35666) **MUST** use the naming convention * ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}`` @@ -1036,7 +1086,7 @@ OS::ContrailV2::VirtualMachineInterface in the VNF and **MUST** increment by one each time a new instance of a ``{vm-type}`` is referenced. - * ``{network-role}`` is the network-role of the network + * ``{network-role}`` is the network-role of the ONAP internal network that the port (i.e. virtual machine interface) is attached to * ``{vmi_index}`` references the instance of the virtual machine interface on the ``{vm-type}`` attached to ``{network-role}`` network. The @@ -1054,7 +1104,7 @@ OS::ContrailV2::VirtualNetwork :target: VNF :keyword: MUST :validation_mode: static - :updated: dublin + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::VirtualNetwork`` Resource ID **MUST** use the naming @@ -1062,7 +1112,8 @@ OS::ContrailV2::VirtualNetwork * ``int_{network-role}_network`` - VNF Heat Orchestration Templates can only create internal networks. + VNF Heat Orchestration Templates can only create ONAP internal networks + (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666). There is no ``{index}`` after ``{network-role}`` because ``{network-role}`` **MUST** be unique in the scope of the VNF's Heat Orchestration Template. 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 150f794..ade9d7f 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 @@ -10,13 +10,14 @@ :target: VNF :keyword: MUST :validation_mode: none - :updated: dublin + :updated: frankfurt - When a VNF's port connects to an internal network or external network, + When a VNF's port connects to an ONAP internal network or ONAP + external network, a network role, referred to as the ``{network-role}`` **MUST** be assigned to the network for use in the VNF's Heat Orchestration Template. The ``{network-role}`` - is used in the VNF's Heat Orchestration Template resource IDs + is used in the VNF's Heat Orchestration Template's resource IDs and resource property parameter names. .. req:: @@ -36,10 +37,11 @@ :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt A VNF's Heat Orchestration Template's Resource property parameter that is - associated with external network **MUST** include the ``{network-role}`` + associated with an ONAP + external network **MUST** include the ``{network-role}`` as part of the parameter name. .. req:: @@ -47,10 +49,10 @@ :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ID that is associated with - an external network **MUST** include the ``{network-role}`` as part + an ONAP external network **MUST** include the ``{network-role}`` as part of the resource ID. .. req:: @@ -58,22 +60,28 @@ :target: VNF :keyword: MUST :validation_mode: none - :updated: casablanca + :updated: frankfurt A VNF's Heat Orchestration Template's Resource property parameter that - is associated with an internal network **MUST** include + is associated with an ONAP internal network (per the ONAP definition, see + Requirements R-52425 and R-46461 and R-35666) + **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: none - :updated: casablanca + :updated: frankfurt A VNF's Heat Orchestration Template's Resource ID that is associated - with an internal network **MUST** include ``int_{network-role}`` as part + with an ONAP internal network (per the ONAP definition, see Requirements + R-52425 and R-46461 and R-35666) + **MUST** include ``int_{network-role}`` as part of the Resource ID, where ``int_`` is a hard coded string. .. req:: |