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
: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
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::
: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::
: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.
: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
: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::
: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
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
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``
*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
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
: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,
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
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
: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
* ``{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
: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,
* ``{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
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
: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
* ``{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
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
: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
* ``{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
**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
: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
* ``{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
**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
: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
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
**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
: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
* ``{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
**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*
: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}``
: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}``
: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
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.
: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
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
: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
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.
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
: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.
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.
resource ``OS::Neutron::Port`` property
``allowed_address_pairs``, map property ``ip_address`` parameter.
-External Networks
-~~~~~~~~~~~~~~~~~
+ONAP External Networks
+~~~~~~~~~~~~~~~~~~~~~~
.. req::
:id: R-100280
: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``,
: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
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``.
: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
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``.
: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
parameters **not** supported by the ONAP data model.
-Internal Networks
-~~~~~~~~~~~~~~~~~
+ONAP Internal Networks
+~~~~~~~~~~~~~~~~~~~~~~
.. req::
:id: R-100360
: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,
* ``{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``
* ``{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``
: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,
* ``{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``
* ``{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``
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``.
~~~~~~~~~~~~~
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.
: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.
: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
: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.
: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
: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
* 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::
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
* 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
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
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.
: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,
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
: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
* ``{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::
: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,
* ``{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
: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
* ``{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::
: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
* ``{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
: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
* ``{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::
: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
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
: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
* ``{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
: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}``
: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}``
: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``
- "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
*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.
*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.
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.
: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
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
: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
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.
**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``
- 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
: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
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.
**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
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.
-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
: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
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``.
: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
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``.
: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``
-VIP Assignment, Internal Networks
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+VIP Assignment, ONAP Internal Networks
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. req::
:id: R-717227
: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.
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.
: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``
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
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.
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``
: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::
: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}``
: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
: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::
: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.
: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}``
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
: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}``
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
: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}``
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}``.
: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}``
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}``.
: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``
: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``
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``
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``
: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
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).
: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).
: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``
: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``
: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}``
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
: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}``
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
: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}``
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
: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}``
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
: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
: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``
: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}``
: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}``
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
: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}``
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
: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
* ``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.
: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::
: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::
: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::
: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::