:target: VNF
:keyword: MUST
:validation_mode: static
- :updated: dublin
+ :updated: el alto
- The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``
- property ``availability_zone`` parameter name
+ A VNF's Heat Orchestration Template's base module or incremental module
+ resource ``OS::Nova::Server``
+ property ``availability_zone`` parameter
**MUST** follow the naming convention
* ``availability_zone_{index}``
:target: VNF
:keyword: MUST
:validation_mode: static
- :updated: casablanca
+ :updated: el alto
- The VNF's Heat Orchestration Template's Resource
- ``OS::Nova::Server`` property
+ The VNF's Heat Orchestration Template's base module or incremental module
+ resource ``OS::Nova::Server`` property
``availability_zone`` parameter **MUST** be declared as type: ``string``.
The parameter must not be declared as type ``comma_delimited_list``, ONAP does
Orchestration
Template's Environment File.
+
+.. req::
+ :id: R-256790
+ :target: VNF
+ :keyword: MAY
+ :validation_mode: none
+ :introduced: el alto
+
+ A VNF's Heat Orchestration Template's Resource ``OS::Nova::Server``
+ property ``availability_zone`` parameter name **MAY** change when
+ past into a nested YAML file.
+
+
Example Parameter Definition
.. code-block:: yaml
:updated: casablanca
A VNF's Heat Orchestration Template that contains an ``OS::Nova:Server``
- Resource **MAY** define a parameter for the property
+ resource **MAY** define a parameter for the property
``availability_zone`` that is not utilized in any ``OS::Nova::Server``
resources in the Heat Orchestration Template.
Availability Zone and ResourceGroups
++++++++++++++++++++++++++++++++++++
-The resource OS::Heat::ResourceGroup and the property availability_zone
+The resource ``OS::Heat::ResourceGroup`` and the ``OS::Nova::Server``
+property ``availability_zone`` parameter
has been an "issue" with a few VNFs since ONAP only supports
-availability_zone as a string parameter and not as a
+the ``availability_zone`` parameter as a string and not as a
comma_delimited_list. This makes it difficult to use a
-OS::Heat::ResourceGroup to create Virtual Machines in more than one
+``OS::Heat::ResourceGroup`` to create ``OS::Nova::Server`` in more than one
availability zone.
There are numerous solutions to this issue. Below are two suggested
usage patterns.
-**Option 1:** create a CDL in the OS::Heat::ResourceGroup. In the
-resource type: OS::Heat::ResourceGroup, create a comma_delimited_list
-availability_zones by using the intrinsic function list_join.
+**Option 1:** create a comma delimited list in the ``OS::Heat::ResourceGroup``.
+In the resource ``OS::Heat::ResourceGroup``, create a comma_delimited_list
+property ``availability_zones`` by concatenating the string
+``availability_zone`` parameters.
.. code-block:: yaml
type: nested.yaml
properties:
index: index
- availability_zones: { list_join: [',', [ { get_param: availability_zone_0 }, { get_param: availability_zone_1 } ] ] }
+ availability_zones: [ { get_param: availability_zone_0 }, { get_param: availability_zone_1 } ]
In the nested heat