diff options
author | Bozawglanian, Hagop (hb755d) <hb755d@att.com> | 2019-01-31 19:25:20 +0000 |
---|---|---|
committer | Bozawglanian, Hagop (hb755d) <hb755d@att.com> | 2019-01-31 19:25:20 +0000 |
commit | cffcba907a997a3771e0d9b2e6068333aa31ba03 (patch) | |
tree | b8c6efcb66f35ef6bc414d9510559e064267d172 /docs/rst.csv | |
parent | c8d2fa4f72c2598a57512684b2189f4d81b71956 (diff) |
VNFRQTS - Updating format of test case annex
Issue-ID: VNFRQTS-531
Change-Id: If8ef548ba2e231280d94b238a4645fd74ae52bd5
Signed-off-by: Bozawglanian, Hagop (hb755d) <hb755d@att.com>
Diffstat (limited to 'docs/rst.csv')
-rw-r--r-- | docs/rst.csv | 1172 |
1 files changed, 1172 insertions, 0 deletions
diff --git a/docs/rst.csv b/docs/rst.csv new file mode 100644 index 0000000..f44ff78 --- /dev/null +++ b/docs/rst.csv @@ -0,0 +1,1172 @@ +Requirement ID,Requirement,Test Module,Test Name
+`R-00977 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/{network-role}.html#R-00977>`_,"A VNF's Heat Orchestration Template's ``{network-role}`` +**MUST NOT** be a substring of ``{vm-type}``.",`test_nova_servers_vm_types <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types.py>`_,test_vm_type_network_role_collision
+`R-01455 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/{vm-type}.html#R-01455>`_,"When a VNF's Heat Orchestration Template creates a Virtual Machine +(i.e., ``OS::Nova::Server``), +each ""class"" of VMs **MUST** be assigned a VNF unique +``{vm-type}``; where ""class"" defines VMs that +**MUST** have the following identical characteristics: + + 1.) ``OS::Nova::Server`` resource property ``flavor`` value + + 2.) ``OS::Nova::Server`` resource property ``image`` value + + 3.) Cinder Volume attachments + + - Each VM in the ""class"" **MUST** have the identical Cinder Volume + configuration + + 4.) Network attachments and IP address requirements + + - Each VM in the ""class"" **MUST** have the identical number of + ports connecting to the identical networks and requiring the identical + IP address configuration.",`test_vm_class_has_unique_type <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_vm_class_has_unique_type.py>`_,test_vm_class_has_unique_type
+`R-02164 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Contrail%20Resource%20Parameters.html#R-02164>`_,"When a VNF's Heat Orchestration Template's Contrail resource +has a property that +references an external network that requires the network's +Fully Qualified Domain Name (FQDN), the property parameter + +* **MUST** follow the format ``{network-role}_net_fqdn`` +* **MUST** be declared as type ``string`` +* **MUST NOT** be enumerated in the VNF's Heat Orchestration Template's + Environment File",`test_contrail_fqdn <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_fqdn.py>`_,test_contrail_fqdn
+`R-02691 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-02691>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``workload_context`` +parameter ``workload_context`` **MUST NOT** +be enumerated in the Heat Orchestration Template's environment file.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_workload_context_parameter_doesnt_exist_in_environment_file
+`R-03324 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-03324>`_,"A VNF's Heat Orchestration template's Environment File **MUST** +contain the ``parameters:`` section.",`test_environment_file_structure <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_structure.py>`_,test_environment_file_contains_required_sections
+`R-04697 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-04697>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an external network (per the +ONAP definition, see Requirement R-57424), +and an IPv4 address is assigned +using the property ``fixed_ips`` +map property ``ip_address`` and the parameter type is defined as a +``comma_delimited_list``, +the parameter name **MUST** follow the +naming convention + + * ``{vm-type}_{network-role}_ips`` + + where + + * ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` + * ``{network-role}`` is the {network-role} of the external + network",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-04747 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-04747>`_,"A VNF's Heat Orchestration Template's Resource ``OS::Heat::CloudConfig`` +Resource ID **MUST** contain the ``{vm-type}``.",`test_cloud_config_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_cloud_config_resource_id.py>`_,test_cloud_config
+`R-05257 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-05257>`_,"A VNF's Heat Orchestration Template's **MUST NOT** +contain the Resource ``OS::Neutron::FloatingIP``.",`test_forbidden_resources <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_forbidden_resources.py>`_,test_neutron_floating_ip_resource_type
+`R-07443 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-07443>`_,"A VNF's Heat Orchestration Templates' Cinder Volume Module Output +Parameter's name and type **MUST** match the input parameter name and type +in the corresponding Base Module or Incremental Module.",`test_volume_outputs_consumed <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_volume_outputs_consumed.py>`_,test_volume_outputs_consumed
+`R-07507 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-07507>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` +resource property +``metadata`` key/value pair ``vnf_id`` parameter +**MUST** be declared as ``vnf_id`` and the parameter **MUST** +be defined as type: ``string``.",`test_server_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_server_parameters.py>`_,test_vnf_id_parameter_type_and_parameter_name
+`R-08975 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-08975>`_,"A VNF's Heat Orchestration Template's Resource ``OS::Heat::SoftwareConfig`` +Resource ID **MUST** contain the ``{vm-type}``.",`test_software_config_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_software_config_resource_id.py>`_,test_software_config_vm_type
+`R-09811 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-09811>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``vf_module_index`` **MUST NOT** +have parameter constraints defined.",`test_required_parameters_no_constraints <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_required_parameters_no_constraints.py>`_,test_vf_module_index_parameter_has_no_constraints
+`R-10754 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-10754>`_,"If a VNF has two or more ports that +attach to an external network that require a Virtual IP Address (VIP), +and the VNF requires ONAP automation to assign the IP address, +all the Virtual Machines using the VIP address **MUST** +be instantiated in the same Base Module Heat Orchestration Template +or in the same Incremental Module Heat Orchestration Template.",`test_neutron_port_addresses <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_addresses.py>`_,test_neutron_port_floating
+`R-10834 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-10834>`_,"If a VNF's Heat Orchestration Template resource attribute +``property:`` uses a nested ``get_param``, the nested +``get_param`` **MUST** reference an index. + +That is, to obtain a property value, two ``get_param`` intrinsic +functions are used. The second ``get_param`` must be used +to obtain an index value used to reference a parameter value in +a parameter defined as ``type: comma_delimited_list``. For +example: + +* ``name: {get_param: [ name, get_param: index ] }``",`test_nested_parameter_args <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nested_parameter_args.py>`_,test_nested_parameter_args
+`R-11041 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Template%20Constructs.html#R-11041>`_,"All parameters defined in a VNFs Nested YAML file +**MUST** be passed in as properties of the resource calling +the nested yaml file.",`test_nested_template_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nested_template_parameters.py>`_,test_nested_template_parameters
+`R-11200 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-11200>`_,"A VNF's Cinder Volume Module, when it exists, **MUST** be 1:1 +with a Base module or Incremental module.",`test_volume_outputs_consumed <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_volume_outputs_consumed.py>`_,test_volume_outputs_consumed
+`R-11441 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-11441>`_,"A VNF's Heat Orchestration Template's parameter type **MUST** be one of +the following values: + +* ``string`` +* ``number`` +* ``json`` +* ``comma_delimited_list`` +* ``boolean``",`test_heat_template_structure <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_template_structure.py>`_,test_parameter_type
+`R-11690 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-11690>`_,"When a VNF's Heat Orchestration Template's Resource ID contains an +``{index}``, the ``{index}`` is a numeric value that **MUST** start at +zero and **MUST** increment by one. + +As stated in R-16447, +*a VNF's <resource ID> MUST be unique across all Heat +Orchestration Templates and all HEAT Orchestration Template +Nested YAML files that are used to create the VNF*. While the ``{index}`` +will start at zero in the VNF, the ``{index}`` may not start at zero +in a given Heat Orchestration Template or HEAT Orchestration Template +Nested YAML file.",`test_resource_indices <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_resource_indices.py>`_,test_indices_start_at_0_increment
+`R-13194 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-13194>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property +``metadata`` key/value pair ``environment_context`` **MUST NOT** +be enumerated in the Heat Orchestration Template's environment file.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_environment_context_parameter_doesnt_exist_in_environment_file
+`R-15287 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-15287>`_,"When the VNF's Heat Orchestration Template's +resource ``OS::Neutron::Port`` is attaching +to an external network (per the ONAP definition, see +Requirement R-57424), +and an IPv6 address is being cloud assigned by OpenStack's DHCP Service +and the external network IPv6 subnet is to be specified +using the property ``fixed_ips`` +map property ``subnet``, the parameter +**MUST** follow the naming convention + + * ``{network-role}_v6_subnet_id`` + +where + + * ``{network-role}`` is the network role of the network.",`test_neutron_port_fixed_ips <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_fixed_ips.py>`_,test_neutron_port_external_fixed_ips
+`R-15480 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-15480>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property +``metadata`` key/value pair ``vf_module_name`` parameter ``vf_module_name`` +**MUST NOT** have parameter constraints defined.",`test_required_parameters_no_constraints <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_required_parameters_no_constraints.py>`_,test_vf_module_name_parameter_has_no_constraints
+`R-16241 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Networking.html#R-16241>`_,"A VNF's internal network **MUST** have one subnet. +A VNF's internal network **MAY** have more than one subnet.",`test_network_format <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_network_format.py>`_,test_network_has_subnet
+`R-16437 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-16437>`_,"A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::ServiceTemplate`` +Resource ID **MUST** contain the ``{vm-type}``.",`test_contrail_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_resource_id.py>`_,test_contrail_servicetemplate_resource_id
+`R-16447 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-16447>`_,"A VNF's <resource ID> **MUST** be unique across all Heat +Orchestration Templates and all HEAT Orchestration Template +Nested YAML files that are used to create the VNF.",`test_unique_resources_across_all_templates <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_unique_resources_across_all_templates.py>`_,test_unique_resources_across_all_yaml_files
+`R-16968 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Networking.html#R-16968>`_,"A VNF's Heat Orchestration Templates **MUST NOT** include heat +resources to create external networks.",`test_network_format <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_network_format.py>`_,test_network_resource_id_format
+`R-17528 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Template%20Constructs.html#R-17528>`_,"A VNF's Heat Orchestration Template's first level Nested YAML file +**MUST NOT** contain more than one ``OS::Nova::Server`` resource. +A VNF's Heat Orchestration Template's second level Nested YAML file +**MUST NOT** contain an ``OS::Nova::Server`` resource.",`test_nesting_nova_server <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nesting_nova_server.py>`_,test_nesting_nova_server
+`R-18008 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-18008>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` +property ``network`` parameter **MUST** be declared as type: ``string``.",`test_neutron_port_network_parameter <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_network_parameter.py>`_,test_neutron_port_network_param_is_string
+`R-18683 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/ONAP%20Output%20Parameter%20Names.html#R-18683>`_,"If a VNF has one IPv4 OAM Management IP Address and the +IP Address needs to be inventoried in ONAP's A&AI +database, an output parameter **MUST** be declared in only one of the +VNF's Heat Orchestration Templates and the parameter **MUST** be named +``oam_management_v4_address``.",`test_oam_address_outputs <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_oam_address_outputs.py>`_,test_oam_address_v4_zero_or_one
+`R-19756 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Contrail%20Resource%20Parameters.html#R-19756>`_,"If a VNF's Heat Orchestration Template +``OS::ContrailV2::InterfaceRouteTable`` resource +``interface_route_table_routes`` property +``interface_route_table_routes_route`` map property parameter +``{vm-type}_{network-role}_route_prefixes`` +**MUST** be defined as type ``json``.",`test_contrail_irt_routes <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_irt_routes.py>`_,test_contrail_irt_route_param_type
+`R-20065 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-20065>`_,"A VNF's Heat Orchestration Template's Resource +``OS::ContrailV2::PortTuple`` +Resource ID **MUST** contain the ``{vm-type}``.",`test_contrail_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_resource_id.py>`_,test_contrail_porttuple_resource_id
+`R-20308 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-20308>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``environment_context`` +parameter **MUST** be declared as ``environment_context`` and the +parameter type **MUST** be defined as type: ``string``.",`test_nova_servers_environment_context <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_environment_context.py>`_,test_environment_context
+`R-20453 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-20453>`_,"A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` +that is attaching to an external network Resource ID +**MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_{network-role}_port_{port-index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port is attached to +* ``{port-index}`` is the instance of the port on the vm-type + attached to the network of ``{network-role}``",`test_port_resource_ids <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_port_resource_ids.py>`_,test_port_resource_ids
+`R-20856 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-20856>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` +resource property +``metadata`` key/value pair ``vnf_id`` parameter ``vnf_id`` **MUST NOT** +be enumerated in the Heat Orchestration Template's environment file.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_vnf_id_parameter_doesnt_exist_in_environment_file
+`R-20947 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-20947>`_,"A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` +that is configuring an IPv4 Address on a sub-interface port attached to a +sub-interface network Resource ID **MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_IP_{index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port is attached to +* ``{vmi_index}`` is the instance of the virtual machine interface + (e.g., port) on the vm-type + attached to the network of ``{network-role}`` +* ``IP`` signifies that an IPv4 address is being configured +* ``{index}`` is the index of the IPv4 address",`test_contrail_instance_ip_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_instance_ip_resource_id.py>`_,test_contrail_instance_ip_resource_id_subint
+`R-22288 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-22288>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``subnet`` parameter +``int_{network-role}_v6_subnet_id`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_fixedips_subnet_parameter_doesnt_exist_in_environment_file
+`R-22688 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Networking.html#R-22688>`_,"If a VNF's port is connected to an internal network and the port is +created in an Incremental Module and the internal network is created +in the Base Module then the UUID of the internal network **MUST** be +exposed as a parameter in the ``outputs:`` section of the Base Module +and the port resource **MUST** use a ``get_param`` to obtain the network +UUID.",`test_neutron_port_internal_network <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_internal_network.py>`_,test_neutron_port_internal_network
+`R-22838 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-22838>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property +``name`` parameter **MUST NOT** be enumerated in the Heat Orchestration +Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_name_parameter_doesnt_exist_in_environment_file
+`R-23311 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-23311>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Nova::Server`` property +``availability_zone`` parameter **MUST** be declared as type: ``string``.",`test_server_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_server_parameters.py>`_,test_availability_zone_parameter_type
+`R-23503 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-23503>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an external network (per the +ONAP definition, see Requirement R-57424), +and an IPv6 address is assigned +using the property ``fixed_ips`` +map property ``ip_address`` and the parameter type is defined as a +``comma_delimited_list``, +the parameter name **MUST** follow the +naming convention + + * ``{vm-type}_{network-role}_v6_ips`` + +where + + * ``{vm-type}`` is the {vm-type} associated with the + OS::Nova::Server + * ``{network-role}`` is the {network-role} of the external + network",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-23664 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-23664>`_,"A VNF's Heat Orchestration template **MUST** +contain the section ``resources:``.",`test_heat_template_structure <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_template_structure.py>`_,test_heat_template_structure_contains_resources
+`R-25720 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-25720>`_,"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. +There is no ``{index}`` after ``{network-role}`` because ``{network-role}`` +**MUST** be unique in the scope of the VNF's +Heat Orchestration Template.",`test_neutron_net_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_net_resource_id.py>`_,test_neutron_net_resource_id
+`R-25877 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-25877>`_,"A VNF's Heat Orchestration Template's parameter name +(i.e., <param name>) **MUST** contain only alphanumeric +characters and underscores ('_').",`test_heat_parameter_section <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_parameter_section.py>`_,test_parameter_names
+`R-26351 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-26351>`_,"A VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` +that is attaching to an internal network Resource ID **MUST** +use the naming convention + +* ``{vm-type}_{vm-type_index}_int_{network-role}_port_{port-index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port is attached to +* ``{port-index}`` is the instance of the port on the vm-type + attached to the network of ``{network-role}``",`test_port_resource_ids <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_port_resource_ids.py>`_,test_port_resource_ids
+`R-26506 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/{network-role}.html#R-26506>`_,"A VNF's Heat Orchestration Template's ``{network-role}`` **MUST** contain +only alphanumeric characters and/or underscores '_' and +**MUST NOT** contain any of the following strings: +``_int`` or ``int_`` or ``_int_``.",`test_port_resource_ids <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_port_resource_ids.py>`_,test_port_resource_ids
+`R-270358 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Cinder%20Volumes.html#R-270358>`_,"A VNF's Heat Orchestration Template's Cinder Volume Template **MUST** +contain either + +* An ``OS::Cinder::Volume`` resource +* An ``OS::Heat::ResourceGroup`` resource that references a Nested YAML + file that contains an ``OS::Cinder::Volume`` resource +* A resource that defines the property ``type`` as a Nested YAML file + (i.e., static nesting) and the Nested YAML contains + an ``OS::Cinder::Volume`` resource",`test_volume_templates <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_volume_templates.py>`_,test_volume_templates_contains_cinder_or_resource_group
+`R-27078 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-27078>`_,"A VNF's Heat Orchestration template **MUST** contain the +section ``heat_template_version:``.",`test_heat_template_structure <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_template_structure.py>`_,test_heat_template_structure_contains_heat_template_version
+`R-27818 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-27818>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an internal network (per the +ONAP definition, see Requirements R-52425 and R-46461), +and an IPv6 address is assigned +using the property ``fixed_ips`` +map property ``ip_address`` and the parameter type is defined as a +``string``, +the parameter name **MUST** follow the +naming convention + +* ``{vm-type}_int_{network-role}_v6_ip_{index}`` + +where + +* ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` +* ``{network-role}`` is the {network-role} of the internal network +* ``{index}`` is a numeric value that **MUST** start at zero in a + VNF's Heat Orchestration Template and **MUST** increment by one",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-28222 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Contrail%20Resource%20Parameters.html#R-28222>`_,"If a VNF's Heat Orchestration Template +``OS::ContrailV2::InterfaceRouteTable`` resource +``interface_route_table_routes`` property +``interface_route_table_routes_route`` map property parameter name +**MUST** follow the format + +* ``{vm-type}_{network-role}_route_prefixes``",`test_contrail_irt_routes <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_irt_routes.py>`_,test_contrail_irt_route_param_format
+`R-28795 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-28795>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +``{vm-type}_int_{network-role}_ip_{index}`` +**MUST** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_internal_fixedips_ipaddress_parameter_exists_in_environment_file
+`R-29751 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-29751>`_,"A VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` Resource ID +**MUST** use the naming convention + +* ``{vm-type}_server_{index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{index}`` is the index",`test_nova_server_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_server_resource_id.py>`_,test_nova_server_resource_id
+`R-29765 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-29765>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an internal network (per the +ONAP definition, see Requirements R-52425 and R-46461), +and an IPv6 address is assigned +using the property ``fixed_ips`` +map property ``ip_address`` and the parameter type is defined as a +``comma_delimited_list``, +the parameter name **MUST** follow the +naming convention + + * ``{vm-type}_int_{network-role}_v6_ips`` + +where + + * ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` + * ``{network-role}`` is the {network-role} of the internal + network",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-29872 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-29872>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` +property ``network`` +parameter **MUST NOT** be enumerated in the Heat Orchestration +Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_network_parameter_doesnt_exist_in_environment_file
+`R-304011 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-304011>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource's + +* Resource ID (defined in R-29751) +* property ``image`` parameter name (defined in R-58670) +* property ``flavor`` parameter name (defined in R-45188) +* property ``name`` parameter name (defined in R-54171 & R-87817) +* property port referenced OS::Neutron::Port Resource ID + (defined in R-20453) + +**MUST** contain the identical ``{vm-type}`` +and **MUST** follow the naming conventions defined +in R-58670, R-45188, R-54171, R-87817, and R-29751. And the ``{index}`` in +the ``OS::Nova::Server`` Resource ID (defined in R-29751) **MUST** match +the ``{vm-type_index}`` defined in +the ``OS::Nova::Server`` property ``port`` +referenced ``OS::Neutron::Port`` Resource ID (defined in R-20453).",`test_server_and_port_vm_indices_match <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_server_and_port_vm_indices_match.py>`_,test_server_and_port_vmtype_indices_match
+`R-30753 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-30753>`_,"A VNF's Heat Orchestration Template's Resource +``OS::ContrailV2::NetworkIpam`` +Resource ID +**MUST** +contain the ``{network-role}``.",`test_contrail_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_resource_id.py>`_,test_contrail_networkipam_resource_id
+`R-30804 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-30804>`_,"A VNF's Heat Orchestration Template's Resource +``OS::Heat::MultipartMime`` +Resource ID +**MUST** +contain the ``{vm-type}``.",`test_multipart_mime_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_multipart_mime_resource_id.py>`_,test_multipart_mime
+`R-31141 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-31141>`_,"VNF Heat Orchestration Template's Cinder Volume Module's Environment File +**MUST** be named identical to the VNF Heat Orchestration Template's +Cinder Volume Module with ``.y[a]ml`` replaced with ``.env``.",`test_heat_pairs_provided <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_pairs_provided.py>`_,test_heat_pairs_provided
+`R-32394 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/{vm-type}.html#R-32394>`_,"A VNF's Heat Orchestration Template's use of ``{vm-type}`` in all Resource +property parameter names **MUST** be the same case.",`test_vm_type_case <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_vm_type_case.py>`_,test_vm_type_case
+`R-34037 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-34037>`_,"The VNF's Heat Orchestration Template's +resource ``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +**MUST** be declared as either type ``string`` or type +``comma_delimited_list``.",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-34055 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-34055>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``workload_context`` +parameter ``workload_context`` **MUST NOT** +have parameter constraints defined.",`test_required_parameters_no_constraints <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_required_parameters_no_constraints.py>`_,test_workload_context_parameter_has_no_constraints
+`R-348813 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-348813>`_,"The VNF's Heat Orchestration Template's ZIP file **MUST NOT** include +a binary image file.",`test_no_image_files <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_no_image_files.py>`_,test_no_image_files_included
+`R-35414 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-35414>`_,"A VNF Heat Orchestration's template **MUST** contain the +section ``parameters:``.",`test_heat_template_structure <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_template_structure.py>`_,test_heat_template_structure_contains_parameters
+`R-35666 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Networking.html#R-35666>`_,"If a VNF has an internal network, the VNF Heat Orchestration Template +**MUST** include the heat resources to create the internal network.",`test_network_format <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_network_format.py>`_,test_network_resource_id_format
+`R-35735 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-35735>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an external network (per the +ONAP definition, see Requirement R-57424), +and an IPv6 Virtual IP (VIP) +address is assigned via ONAP automation +using the property ``allowed_address_pairs`` +map property ``ip_address``, +the parameter name **MUST** follow the +naming convention + + * ``{vm-type}_{network-role}_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 + +And the parameter **MUST** be declared as type ``string``.",`test_allowed_address_pairs_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_allowed_address_pairs_include_vm_type_network_role.py>`_,test_allowed_address_pairs_include_vm_type_network_role
+`R-36542 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-36542>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``vnf_name`` parameter +``vnf_name`` **MUST NOT** +be enumerated in the Heat Orchestration Template's environment file.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_vnf_name_parameter_doesnt_exist_in_environment_file
+`R-36772 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-36772>`_,"A VNF's Heat Orchestration Template's parameter **MUST** include the +attribute ``type:``.",`test_heat_template_parameters_contain_required_fields <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_template_parameters_contain_required_fields.py>`_,test_heat_template_parameters_contain_required_fields
+`R-37028 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-37028>`_,A VNF **MUST** be composed of one Base Module,`test_base_template_names <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_base_template_names.py>`_,test_base_template_names
+`R-37039 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-37039>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property +``metadata`` key/value pair ``vf_module_index`` parameter +``vf_module_index`` **MUST NOT** +be enumerated in the Heat Orchestration Template's environment file.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_vf_module_index_parameter_doesnt_exist_in_environment_file
+`R-37437 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-37437>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` +resource property ``metadata`` **MUST** +contain the key/value pair ``vnf_id`` +and the value **MUST** be obtained via a ``get_param``.",`test_servers_have_required_metadata <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_servers_have_required_metadata.py>`_,test_servers_have_required_metadata
+`R-38236 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-38236>`_,"The VNF's Heat Orchestration Template's +resource ``OS::Neutron::Port`` property ``fixed_ips`` +map property ``subnet`` parameter +**MUST** be declared type ``string``.",`test_neutron_port_fixed_ips <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_fixed_ips.py>`_,test_neutron_port_fixed_ips
+`R-38474 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-38474>`_,A VNF's Base Module **MUST** have a corresponding Environment File.,`test_env_and_yaml_same_name <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_env_and_yaml_same_name.py>`_,test_env_and_yaml_same_name
+`R-39067 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-39067>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property +``metadata`` key/value pair ``vf_module_name`` parameter **MUST** be +declared as ``vf_module_name`` and the parameter **MUST** +be defined as type: ``string``.",`test_server_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_server_parameters.py>`_,test_vf_module_name_parameter_type_and_parameter_name
+`R-39402 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-39402>`_,"A VNF's Heat Orchestration Template **MUST** contain the +section ``description:``.",`test_heat_template_structure <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_template_structure.py>`_,test_heat_template_structure_contains_description
+`R-39841 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-39841>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +``{vm-type}_{network-role}_ip_{index}`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_external_fixedips_ipaddress_parameter_doesnt_exist_in_environment_file
+`R-40499 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-40499>`_,"Each VNF's Heat Orchestration Template's ``{vm-type}`` **MUST** +have a unique parameter name for the ``OS::Nova::Server`` property +``flavor`` even if more than one ``{vm-type}`` shares the same flavor.",`test_nova_servers_resource_ids <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_resource_ids.py>`_,test_nova_servers_valid_resource_ids
+`R-40971 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-40971>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an external network (per the +ONAP definition, see Requirement R-57424), +and an IPv4 address is assigned +using the property ``fixed_ips`` +map property ``ip_address`` and the parameter type is defined as a string, +the parameter name **MUST** follow the +naming convention + +* ``{vm-type}_{network-role}_ip_{index}`` + +where + +* ``{vm-type}`` is the {vm-type} associated with the ``OS::Nova::Server`` +* ``{network-role}`` is the {network-role} of the external network +* ``{index}`` is a numeric value that **MUST** start at zero in a + VNF's Heat Orchestration Template and **MUST** increment by one",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-41492 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-41492>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an external network (per the +ONAP definition, see Requirement R-57424), +and an IPv4 Virtual IP (VIP) +address is assigned via ONAP automation +using the property ``allowed_address_pairs`` +map property ``ip_address`` and +the parameter name **MUST** follow the +naming convention + + * ``{vm-type}_{network-role}_floating_ip`` + +where + + * ``{vm-type}`` is the {vm-type} associated with the + OS::Nova::Server + * ``{network-role}`` is the {network-role} of the external + network + +And the parameter **MUST** be declared as type ``string``.",`test_allowed_address_pairs_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_allowed_address_pairs_include_vm_type_network_role.py>`_,test_allowed_address_pairs_include_vm_type_network_role
+`R-41888 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Template%20Constructs.html#R-41888>`_,"A VNF's Heat Orchestration Template intrinsic function +``get_file`` **MUST NOT** utilize URL-based file retrieval.",`test_get_file_only_reference_local_files <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_get_file_only_reference_local_files.py>`_,test_get_file_no_url_retrieval
+`R-41956 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-41956>`_,"If a VNF requires ONAP to assign a Virtual IP (VIP) Address to +ports connected an external network, the port +**MUST NOT** have more than one IPv6 VIP address.",`test_neutron_port_addresses <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_addresses.py>`_,test_neutron_port_external_ipaddress_v6
+`R-44001 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-44001>`_,"A VNF's Heat Orchestration Template parameter declaration **MUST** +contain the attribute ``description``.",`test_heat_template_parameters_contain_required_fields <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_template_parameters_contain_required_fields.py>`_,test_heat_template_parameters_contain_required_fields
+`R-44318 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-44318>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``vnf_name`` +parameter ``vnf_name`` **MUST NOT** +have parameter constraints defined.",`test_required_parameters_no_constraints <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_required_parameters_no_constraints.py>`_,test_vnf_name_parameter_has_no_constraints
+`R-45188 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-45188>`_,"The VNF's Heat Orchestration Template's Resource 'OS::Nova::Server' property +``flavor`` parameter name **MUST** follow the naming convention +``{vm-type}_flavor_name``.",`test_nova_servers_vm_types <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types.py>`_,test_nova_server_flavor_parameter
+`R-46128 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-46128>`_,"A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` +that is configuring an IPv6 Address on a port attached to an external network +Resource ID **MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_v6_IP_{index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port is attached to +* ``{vmi_index}`` is the instance of the virtual machine interface + (e.g., port) on the vm-type + attached to the network of {network-role} +* ``v6_IP`` signifies that an IPv6 address is being configured +* ``{index}`` is the index of the IPv6 address",`test_contrail_instance_ip_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_instance_ip_resource_id.py>`_,test_contrail_instance_ip_resource_id_external
+`R-46839 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/{vm-type}.html#R-46839>`_,"A VNF's Heat Orchestration Template's use of ``{vm-type}`` +in all Resource IDs **MUST** be the same case.",`test_vm_type_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_vm_type_resource_id.py>`_,test_vm_type_resource_id
+`R-48067 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/{vm-type}.html#R-48067>`_,"A VNF's Heat Orchestration Template's ``{vm-type}`` **MUST NOT** be a +substring +of ``{network-role}``.",`test_nova_servers_vm_types <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types.py>`_,test_vm_type_network_role_collision
+`R-481670 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-481670>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property ``flavor`` value **MUST** be be obtained via a ``get_param``.",`test_nova_servers_vm_types_use_get_param <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types_use_get_param.py>`_,test_vm_type_assignments_on_nova_servers_only_use_get_param
+`R-50011 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Template%20Constructs.html#R-50011>`_,"A VNF's Heat Orchestration Template's ``OS::Heat::ResourceGroup`` +property ``count`` **MUST** be enumerated in the VNF's +Heat Orchestration Template's Environment File and **MUST** be +assigned a value.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_heat_rg_count_parameter_exists_in_environment_file
+`R-50436 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-50436>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property +``flavor`` parameter **MUST** be declared as type: ``string``.",`test_nova_servers_vm_types <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types.py>`_,test_nova_server_flavor_parameter
+`R-50468 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-50468>`_,"A VNF's Heat Orchestration Template's Resource +``OS::ContrailV2::VirtualMachineInterface`` that is attaching to an internal network +Resource ID **MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port (i.e. virtual machine interface) is attached to +* ``{vmi_index}`` is the instance of the vmi on the vm-type + attached to the network of ``{network-role}``",`test_contrail_vmi_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_vmi_resource_id.py>`_,test_contrail_instance_ip_resource_id_internal
+`R-50816 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-50816>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` +resource property ``metadata`` **MAY** +contain the key/value pair ``vf_module_index`` +and the value **MUST** be obtained via a ``get_param``.",`test_servers_metadata_use_get_param <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_servers_metadata_use_get_param.py>`_,test_servers_vf_module_index_metadata_use_get_param
+`R-511776 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-511776>`_,"When a VNF's Heat Orchestration Template is ready +to be on-boarded to ONAP, +all files composing the VNF Heat Orchestration Template +**MUST** be placed in a flat (i.e., non-hierarchical) directory and +archived using ZIP. The resulting ZIP file is uploaded into ONAP.",`test_files_in_flat_dir <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_files_in_flat_dir.py>`_,test_files_in_flat_dir
+`R-51430 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-51430>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property +``name`` parameter **MUST** be declared as either type ``string`` +or type ``comma_delimited_list``.",`test_nova_servers_vm_types <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types.py>`_,test_nova_server_name_parameter
+`R-53310 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-53310>`_,"A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` +that is configuring an IPv4 Address on a port attached to an external network +Resource ID **MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}_IP_{index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the {vm-type} +* ``{network-role}`` is the network-role of the network that the port is attached to +* ``{vmi_index}`` is the instance of the virtual machine interface + (e.g., port) on the vm-type attached to the network of {network-role} +* ``IP`` signifies that an IPv4 address is being configured +* ``{index}`` is the index of the IPv4 address",`test_contrail_instance_ip_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_instance_ip_resource_id.py>`_,test_contrail_instance_ip_resource_id_external
+`R-53433 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-53433>`_,A VNF's Cinder Volume Module **MUST** have a corresponding environment file,`test_env_and_yaml_same_name <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_env_and_yaml_same_name.py>`_,test_env_and_yaml_same_name
+`R-53952 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-53952>`_,"A VNF's Heat Orchestration Template's Resource +**MUST NOT** reference a HTTP-based resource definitions.",`test_no_http_resources <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_no_http_resources.py>`_,test_no_http_resources
+`R-54171 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-54171>`_,"When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property ``name`` parameter is defined as a ``string``, +the parameter name **MUST** follow the naming convention + +* ``{vm-type}_name_{index}`` + +where ``{index}`` is a numeric value that **MUST** start at +zero in a VNF's Heat Orchestration Template and **MUST** increment by one.",`test_nova_server_name_parameters_start_at_0 <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_server_name_parameters_start_at_0.py>`_,test_nova_server_name_parameter_starts_at
+`R-54340 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-54340>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property +``metadata`` key/value pair ``vf_module_index`` parameter **MUST** +be declared as ``vf_module_index`` and the parameter **MUST** be +defined as type: ``number``.",`test_server_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_server_parameters.py>`_,test_vf_module_index_parameter_type_and_parameter_name
+`R-54458 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-54458>`_,"A VNF's Heat Orchestration Template's Resource +``OS::ContrailV2::VirtualMachineInterface`` that is attaching to a sub-interface +network Resource ID **MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port (i.e. virtual machine interface) is attached to +* ``{vmi_index}`` is the instance of the vmi on the vm-type + attached to the network of ``{network-role}``",`test_contrail_vmi_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_vmi_resource_id.py>`_,test_contrail_instance_ip_resource_id_subint
+`R-55218 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-55218>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` +resource property +``metadata`` key/value pair ``vnf_id`` parameter ``vnf_id`` **MUST NOT** +have parameter constraints defined.",`test_required_parameters_no_constraints <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_required_parameters_no_constraints.py>`_,test_vnf_id_parameter_has_no_constraints
+`R-55306 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-55306>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``vf_module_index`` **MUST NOT** +be used in a ``OS::Cinder::Volume`` resource and **MUST NOT** be +used in VNF's Volume template; +it is not supported.",`test_volume_templates <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_volume_templates.py>`_,test_no_vf_module_index_in_cinder
+`R-56183 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-56183>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata``key/value pair ``environment_context`` +parameter ``environment_context`` **MUST NOT** +have parameter constraints defined.",`test_required_parameters_no_constraints <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_required_parameters_no_constraints.py>`_,test_environment_context_parameter_has_no_constraints
+`R-56438 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-56438>`_,"A VNF's Heat Orchestration Template's Nested YAML file extension **MUST** +be in the lower case format ``.yaml`` or ``.yml``.",`test_heat_pairs_provided <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_pairs_provided.py>`_,test_heat_pairs_provided
+`R-57282 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-57282>`_,"Each VNF's Heat Orchestration Template's ``{vm-type}`` **MUST** +have a unique parameter name for the ``OS::Nova::Server`` property +``image`` even if more than one ``{vm-type}`` shares the same image.",`test_nova_servers_resource_ids <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_resource_ids.py>`_,test_nova_servers_valid_resource_ids
+`R-58670 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-58670>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property +``image`` parameter name **MUST** follow the naming convention +``{vm-type}_image_name``.",`test_nova_servers_vm_types <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types.py>`_,test_nova_server_image_parameter
+`R-589037 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-589037>`_,"A VNF Heat Orchestration Template's Cinder Volume Module resources section +**MUST** only be defined using one of the following: + +* one of more ``OS::Cinder::Volume`` resources +* one or more ``OS::Heat::ResourceGroup`` resources that call a nested YAML + file that contains only ``OS::Cinder::Volume`` resources +* a resource that calls a nested YAML file (static nesting) that contains + only ``OS::Cinder::Volume`` resources",`test_volume_module_naming <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_volume_module_naming.py>`_,test_detected_volume_module_follows_naming_convention
+`R-59568 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-59568>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property +``availability_zone`` parameter **MUST NOT** be enumerated in the Heat +Orchestration +Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_az_parameter_doesnt_exist_in_environment_file
+`R-599443 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Support%20of%20Environment%20Files.html#R-599443>`_,"A parameter enumerated in a +VNF's Heat Orchestration Template's environment file **MUST** be declared +in the +corresponding VNF's Heat Orchestration Template's YAML file's +``parameters:`` section.",`test_env_parameters_defined_in_template <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_env_parameters_defined_in_template.py>`_,test_env_params_are_defined_in_template
+`R-60011 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Template%20Constructs.html#R-60011>`_,"A VNF's Heat Orchestration Template **MUST** have no more than two +levels of nesting.",`test_nesting_level <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nesting_level.py>`_,test_nesting_level
+`R-62187 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-62187>`_,"A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` +that is configuring an IPv4 Address on a port attached to an internal network +Resource ID **MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_IP_{index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port is attached to +* ``{vmi_index}`` is the instance of the virtual machine interface + (e.g., port) on the vm-type + attached to the network of ``{network-role}`` +* ``IP`` signifies that an IPv4 address is being configured +* ``{index}`` is the index of the IPv4 address",`test_contrail_instance_ip_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_instance_ip_resource_id.py>`_,test_contrail_instance_ip_resource_id_internal
+`R-62428 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-62428>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``vnf_name`` parameter **MUST** +be declared as ``vnf_name`` and the parameter **MUST** be defined as +type: ``string``.",`test_server_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_server_parameters.py>`_,test_vnf_name_parameter_type_and_parameter_name
+`R-62590 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-62590>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` +property ``fixed_ips`` +map property ``ip_address`` +parameter associated with an external network, i.e., + + * ``{vm-type}_{network-role}_ip_{index}`` + * ``{vm-type}_{network-role}_v6_ip_{index}`` + * ``{vm-type}_{network-role}_ips`` + * ``{vm-type}_{network-role}_v6_ips`` + + +**MUST NOT** be enumerated in the Heat Orchestration +Template's Environment File. ONAP provides the IP address +assignments at orchestration time.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_external_fixedips_ipaddress_parameter_doesnt_exist_in_environment_file
+`R-62802 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-62802>`_,"When the VNF's Heat Orchestration Template's +resource ``OS::Neutron::Port`` is attaching +to an external network (per the ONAP definition, see +Requirement R-57424), +and an IPv4 address is being cloud assigned by OpenStack's DHCP Service +and the external network IPv4 subnet is to be specified +using the property ``fixed_ips`` +map property ``subnet``, the parameter +**MUST** follow the naming convention + + * ``{network-role}_subnet_id`` + +where + + * ``{network-role}`` is the network role of the network.",`test_neutron_port_fixed_ips <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_fixed_ips.py>`_,test_neutron_port_external_fixed_ips
+`R-62983 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-62983>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an external network (per the +ONAP definition, see Requirement R-57424), the +``network`` parameter name **MUST** + + * follow the naming convention ``{network-role}_net_id`` if the Neutron + network UUID value is used to reference the network + * follow the naming convention ``{network-role}_net_name`` if the + OpenStack network name is used to reference the network. + +where ``{network-role}`` is the network-role of the external network +and a ``get_param`` **MUST** be used as the intrinsic function.",`test_network_format <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_network_format.py>`_,test_network_format
+`R-663631 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-663631>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property ``name`` value **MUST** be be obtained via a ``get_param``.",`test_nova_servers_vm_types_use_get_param <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types_use_get_param.py>`_,test_vm_type_assignments_on_nova_servers_only_use_get_param
+`R-67231 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-67231>`_,"A VNF's Heat Orchestration template's Environment File's +**MUST NOT** contain the ``resource_registry:`` section.",`test_env_no_resource_registry <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_env_no_resource_registry.py>`_,test_env_no_resource_registry
+`R-67597 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-67597>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``vm_role`` parameter ``vm_role`` +**MUST NOT** have parameter constraints defined.",`test_required_parameters_no_constraints <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_required_parameters_no_constraints.py>`_,test_vm_role_parameter_has_no_constraints
+`R-68023 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-68023>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` **SHOULD** +contain the key/value pair ``vf_module_name`` and the value **MUST** +be obtained via a ``get_param``.",`test_servers_metadata_use_get_param <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_servers_metadata_use_get_param.py>`_,test_servers_vf_module_name_metadata_use_get_param
+`R-681859 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-681859>`_,"A VNF's Heat Orchestration Template's ``OS::Neutron::Port`` resource's + +* Resource ID (defined in R-20453) +* property ``network`` parameter name (defined in R-62983 and + R-86182) +* property ``fixed_ips``, map property ``ip_address`` parameter name + (defined in R-40971, R-04697, R-71577, R-23503, R-78380, R-85235, + R-27818, and R-29765) +* property ``fixed_ips``, map property ``subnet`` parameter name + (defined in R-62802, R-15287, R-84123, R-76160) +* property ``allowed_address_pairs`` parameter name (defined in + R-41492 and R-83418) + +**MUST** contain the identical ``{network-role}``.",`test_port_resource_ids <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_port_resource_ids.py>`_,test_port_resource_ids
+`R-69431 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-69431>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property +``flavor`` parameter **MUST** be enumerated in the Heat Orchestration +Template's Environment File and a value **MUST** be assigned.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_flavor_parameter_exists_in_environment_file
+`R-69634 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-69634>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``subnet`` parameter +``int_{network-role}_subnet_id`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_fixedips_subnet_parameter_doesnt_exist_in_environment_file
+`R-70276 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-70276>`_,"A VNF HEAT's Orchestration Nested Template's YAML file name **MUST NOT** +be in the format ``{vm-type}.y[a]ml`` where ``{vm-type}`` is defined +in the Heat Orchestration Template.",`test_filename_is_vmtype_dot_yaml <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_filename_is_vmtype_dot_yaml.py>`_,test_filename_is_vmtype_dot_yaml
+`R-708564 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Template%20Constructs.html#R-708564>`_,"If a VNF's Heat Orchestration Template's resource invokes a nested +YAML file, either statically or dynamically, the names of the parameters +passed into the nested YAML file **MUST NOT** change.",`test_nested_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nested_parameters.py>`_,test_parameter_name_doesnt_change_in_nested_template
+`R-71152 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-71152>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property +``image`` parameter **MUST** be declared as type: ``string``.",`test_nova_servers_vm_types <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types.py>`_,test_nova_server_image_parameter
+`R-71493 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-71493>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` **MUST** +contain the key/value pair ``vf_module_id`` +and the value MUST be obtained via a ``get_param``.",`test_servers_have_required_metadata <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_servers_have_required_metadata.py>`_,test_servers_have_required_metadata
+`R-71577 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-71577>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an external network (per the +ONAP definition, see Requirement R-57424), +and an IPv6 address is assigned +using the property ``fixed_ips`` +map property ``ip_address`` and the parameter type is defined as a string, +the parameter name **MUST** follow the +naming convention + +* ``{vm-type}_{network-role}_v6_ip_{index}`` + +where + +* ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` +* ``{network-role}`` is the {network-role} of the external network +* ``{index}`` is a numeric value that **MUST** start at zero in a + VNF's Heat Orchestration Template and **MUST** increment by one",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-71699 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-71699>`_,"A VNF's Heat Orchestration Template's Resource +**MUST NOT** reference a HTTP-based Nested YAML file.",`test_no_http_resources <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_no_http_resources.py>`_,test_no_http_resources
+`R-72483 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-72483>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource property +``metadata`` **MUST** contain the key/value pair ``vnf_name`` and the +value **MUST** be obtained via a ``get_param``.",`test_servers_have_required_metadata <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_servers_have_required_metadata.py>`_,test_servers_have_required_metadata
+`R-72871 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-72871>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource property +``metadata`` key/value pair ``vf_module_id`` parameter ``vf_module_id`` +**MUST NOT** +be enumerated in the Heat Orchestration Template's environment file.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_vf_module_id_parameter_doesnt_exist_in_environment_file
+`R-74304 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-74304>`_,"A VNF's Heat Orchestration Template's Environment file extension **MUST** +be in the lower case format ``.env``.",`test_heat_pairs_provided <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_pairs_provided.py>`_,test_heat_pairs_provided
+`R-74978 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-74978>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``workload_context`` +parameter **MUST** +be declared as ``workload_context`` and the parameter **MUST** +be defined as type: ``string``.",`test_nova_servers_workload_context <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_workload_context.py>`_,test_workload_context
+`R-75141 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-75141>`_,"A VNF's Heat Orchestration Template's resource name +(i.e., <resource ID>) **MUST** only contain alphanumeric +characters and underscores ('_').",`test_resource_ids_alphanumeric_only <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_resource_ids_alphanumeric_only.py>`_,test_alphanumeric_resource_ids_only
+`R-76014 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-76014>`_,"A VNF's Heat Orchestration Template's Resource +``OS::ContrailV2::ServiceHealthCheck`` +Resource ID +**MUST** +contain the ``{vm-type}``.",`test_contrail_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_resource_id.py>`_,test_contrail_servicehealthcheck_resource_id
+`R-76057 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-76057>`_,"VNF Heat Orchestration Template's Nested YAML file name **MUST** contain +only alphanumeric characters and underscores '_' and +**MUST NOT** contain the case insensitive word ``base``.",`test_base_template_names <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_base_template_names.py>`_,test_base_template_names
+`R-76160 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-76160>`_,"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 parameter **MUST** follow the naming convention +``int_{network-role}_v6_subnet_id``, +where ``{network-role}`` is the network role of the internal network. + +Note that the parameter **MUST** be defined as an ``output`` parameter in +the base module.",`test_neutron_port_fixed_ips <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_fixed_ips.py>`_,test_neutron_port_internal_fixed_ips
+`R-76449 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-76449>`_,"A VNF's Heat Orchestration Template's **MUST NOT** +contain the Resource ``OS::Neutron::FloatingIPAssociation``.",`test_forbidden_resources <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_forbidden_resources.py>`_,test_neutron_floating_ip_association_resource_type
+`R-76682 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Contrail%20Resource%20Parameters.html#R-76682>`_,"If a VNF's Heat Orchestration Template +``OS::ContrailV2::InterfaceRouteTable`` resource +``interface_route_table_routes`` property +``interface_route_table_routes_route`` map property parameter +``{vm-type}_{network-role}_route_prefixes`` +**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's +Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_contrail_route_prefixes_parameter_doesnt_exist_in_environment_file
+`R-76718 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Template%20Constructs.html#R-76718>`_,"If a VNF's Heat Orchestration Template uses the intrinsic function +``get_file``, the ``get_file`` target **MUST** be referenced in +the Heat Orchestration Template by file name.",`test_get_file_only_reference_local_files <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_get_file_only_reference_local_files.py>`_,test_get_file_only_reference_local_files
+`R-78380 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-78380>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an internal network (per the +ONAP definition, see Requirements R-52425 and R-46461), +and an IPv4 address is assigned +using the property ``fixed_ips`` +map property ``ip_address`` and the parameter type is +defined as a ``string``, +the parameter name **MUST** follow the +naming convention + +* ``{vm-type}_int_{network-role}_ip_{index}`` + +where + +* ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` +* ``{network-role}`` is the {network-role} of the internal network +* ``{index}`` is a numeric value that **MUST** start at zero in a + VNF's Heat Orchestration Template and **MUST** increment by one",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-80374 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-80374>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``vf_module_name`` +parameter ``vf_module_name`` **MUST NOT** +be enumerated in the Heat Orchestration Template's environment file.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_vf_module_name_parameter_doesnt_exist_in_environment_file
+`R-80829 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-80829>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``subnet`` parameter +``{network-role}_v6_subnet_id`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_fixedips_subnet_parameter_doesnt_exist_in_environment_file
+`R-81214 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-81214>`_,"A VNF's Heat Orchestration Template's Resource +``OS::ContrailV2::InterfaceRouteTable`` +Resource ID +**MUST** +contain the ``{network-role}``.",`test_contrail_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_resource_id.py>`_,test_contrail_interfaceroutetable_resource_id
+`R-81339 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-81339>`_,"A VNF Heat Orchestration Template's Base Module file name **MUST** include +case insensitive 'base' in the filename and +**MUST** match one of the following four +formats: + + 1.) ``base_<text>.y[a]ml`` + + 2.) ``<text>_base.y[a]ml`` + + 3.) ``base.y[a]ml`` + + 4.) ``<text>_base_<text>``.y[a]ml + +where ``<text>`` **MUST** contain only alphanumeric characters and +underscores '_' and **MUST NOT** contain the case insensitive word ``base``.",`test_base_template_names <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_base_template_names.py>`_,test_base_template_names
+`R-81725 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-81725>`_,A VNF's Incremental Module **MUST** have a corresponding Environment File,`test_env_and_yaml_same_name <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_env_and_yaml_same_name.py>`_,test_env_and_yaml_same_name
+`R-82134 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-82134>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource property +``metadata`` key/value pair ``vf_module_id`` parameter **MUST** +be declared as ``vf_module_id`` and the parameter **MUST** +be defined as type: ``string``.",`test_server_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_server_parameters.py>`_,test_vf_module_id_parameter_type_and_parameter_name
+`R-82732 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-82732>`_,"A VNF Heat Orchestration Template's Cinder Volume Module **MUST** +be named identical to the base or incremental module it is supporting with +``_volume`` appended.",`test_volume_outputs_consumed <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_volume_outputs_consumed.py>`_,test_volume_module_name_matches_incremental_or_base_module
+`R-83412 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-83412>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``allowed_address_pairs`` +map property ``ip_address`` parameter +``{vm-type}_{network-role}_floating_ip`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_aap_ip_parameter_doesnt_exist_in_environment_file
+`R-83418 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-83418>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``allowed_address_pairs`` +map property ``ip_address`` parameter +``{vm-type}_{network-role}_floating_v6_ip`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_aap_ip_parameter_doesnt_exist_in_environment_file
+`R-83677 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-83677>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``subnet`` parameter +``{network-role}_subnet_id`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_fixedips_subnet_parameter_doesnt_exist_in_environment_file
+`R-84123 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-84123>`_,"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 IPv4 address is being cloud assigned by OpenStack's DHCP Service AND + * the internal network IPv4 subnet is to be specified + using the property ``fixed_ips`` map property ``subnet``, + +the parameter **MUST** follow the naming convention + + * ``int_{network-role}_subnet_id`` + +where + + * ``{network-role}`` is the network role of the internal network + +Note that the parameter **MUST** be defined as an ``output`` parameter in +the base module.",`test_neutron_port_fixed_ips <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_fixed_ips.py>`_,test_neutron_port_internal_fixed_ips
+`R-85235 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-85235>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an internal network (per the +ONAP definition, see Requirements R-52425 and R-46461), +and an IPv4 address is assigned +using the property ``fixed_ips`` +map property ``ip_address`` and the parameter type is defined as a +``comma_delimited_list``, +the parameter name **MUST** follow the +naming convention + + * ``{vm-type}_int_{network-role}_ips`` + +where + + * ``{vm-type}`` is the {vm-type} associated with the + ``OS::Nova::Server`` + * ``{network-role}`` is the {network-role} of the internal + network",`test_fixed_ips_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_fixed_ips_include_vm_type_network_role.py>`_,test_fixed_ips_include_vm_type_network_role
+`R-85734 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20Property.html#R-85734>`_,"If a VNF's Heat Orchestration Template contains the property ``name`` +for a non ``OS::Nova::Server`` resource, the intrinsic function +``str_replace`` **MUST** be used in conjunction with the ONAP +supplied metadata parameter ``vnf_name`` to generate a unique value. +Additional data **MAY** be used in the ``str_replace`` construct +to generate a unique value.",`test_non_server_name <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_non_server_name.py>`_,test_non_server_name
+`R-86182 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-86182>`_,"When the VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` is attaching to an internal network (per the +ONAP definition, see Requirements R-52425 and R-46461), +and the internal network is created in a +different Heat Orchestration Template than the ``OS::Neutron::Port``, +the ``network`` parameter name **MUST** + + * follow the naming convention ``int_{network-role}_net_id`` if the Neutron + network UUID value is used to reference the network + * follow the naming convention ``int_{network-role}_net_name`` if the + OpenStack network name in is used to reference the network. + +where ``{network-role}`` is the network-role of the internal network and +a ``get_param`` **MUST** be used as the intrinsic function.",`test_network_format <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_network_format.py>`_,test_network_format
+`R-86285 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-86285>`_,"A VNF's Heat Orchestration template **MUST** have a +corresponding environment file.",`test_heat_pairs_provided <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_pairs_provided.py>`_,test_heat_pairs_provided
+`R-86476 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-86476>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource +property ``metadata`` key/value pair ``vm_role`` value **MUST** +only contain alphanumeric characters and underscores (i.e., '_').",`test_vm_role_value <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_vm_role_value.py>`_,test_vm_role_hardcoded
+`R-87123 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-87123>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +``{vm-type}_{network-role}_v6_ip_{index}`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_external_fixedips_ipaddress_parameter_doesnt_exist_in_environment_file
+`R-87247 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-87247>`_,"VNF Heat Orchestration Template's Incremental Module file name +**MUST** contain only alphanumeric characters and underscores +'_' and **MUST NOT** contain the case insensitive word ``base``.",`test_base_template_names <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_base_template_names.py>`_,test_base_template_names
+`R-87485 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-87485>`_,"A VNF's Heat Orchestration Template's file extension **MUST** +be in the lower case format ``.yaml`` or ``.yml``.",`test_base_template_names <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_base_template_names.py>`_,test_base_template_names
+`R-87563 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-87563>`_,"A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` +that is configuring an IPv6 Address on a port attached to an internal network +Resource ID **MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_int_{network-role}_vmi_{vmi_index}_v6_IP_{index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port is attached to +* ``{vmi_index}`` is the instance of the virtual machine interface + (e.g., port) on the vm-type + attached to the network of ``{network-role}`` +* ``v6_IP`` signifies that an IPv6 address is being configured +* ``{index}`` is the index of the IPv6 address",`test_contrail_instance_ip_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_instance_ip_resource_id.py>`_,test_contrail_instance_ip_resource_id_internal
+`R-87817 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-87817>`_,"When the VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property ``name`` parameter is defined as a ``comma_delimited_list``, +the parameter name **MUST** follow the naming convention +``{vm-type}_names``.",`test_nova_servers_vm_types <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types.py>`_,test_nova_server_name_parameter
+`R-88540 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-88540>`_,"A VNF's Heat Orchestration Template's Resource ``OS::ContrailV2::InstanceIp`` +that is configuring an IPv6 Address on a sub-interface port attached to a +sub-interface network Resource ID **MUST** +use the naming convention + +* ``{vm-type}_{vm-type_index}_subint_{network-role}_vmi_{vmi_index}_v6_IP_{index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port is attached to +* ``{vmi_index}`` is the instance of the virtual machine interface + (e.g., port) on the vm-type + attached to the network of ``{network-role}`` +* ``v6_IP`` signifies that an IPv6 address is being configured +* ``{index}`` is the index of the IPv6 address",`test_contrail_instance_ip_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_instance_ip_resource_id.py>`_,test_contrail_instance_ip_resource_id_subint
+`R-89913 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-89913>`_,"A VNF's Heat Orchestration Template's Cinder Volume Module Output +Parameter(s) +**MUST** include the +UUID(s) of the Cinder Volumes created in template.",`test_volume_templates_outputs <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_volume_templates_outputs.py>`_,test_volume_templates_contains_outputs
+`R-901331 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-901331>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property ``image`` value **MUST** be be obtained via a ``get_param``.",`test_nova_servers_vm_types_use_get_param <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_nova_servers_vm_types_use_get_param.py>`_,test_vm_type_assignments_on_nova_servers_only_use_get_param
+`R-90152 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-90152>`_,"A VNF's Heat Orchestration Template's +``resources:`` section **MUST** contain the declaration of at +least one resource.",`test_initial_configuration <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_initial_configuration.py>`_,test_06_heat_template_resource_section_has_resources
+`R-90206 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-90206>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +``{vm-type}_int_{network-role}_int_ips`` +**MUST** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_internal_fixedips_ipaddress_parameter_exists_in_environment_file
+`R-90279 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-90279>`_,"A VNF Heat Orchestration's template's parameter **MUST** be used +in a resource with the exception of the parameters for the +``OS::Nova::Server`` resource property ``availability_zone``.",`test_all_parameters_used_in_template <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_all_parameters_used_in_template.py>`_,test_all_parameters_used_in_template
+`R-90526 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-90526>`_,"A VNF Heat Orchestration Template parameter declaration **MUST NOT** +contain the ``default`` attribute.",`test_heat_parameter_section <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_parameter_section.py>`_,test_default_values
+`R-91125 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-91125>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property +``image`` parameter **MUST** be enumerated in the Heat Orchestration +Template's Environment File and a value **MUST** be assigned.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_nova_server_image_parameter_exists_in_environment_file
+`R-91342 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-91342>`_,"A VNF Heat Orchestration Template's Base Module's Environment File +**MUST** be named identical to the VNF Heat Orchestration Template's +Base Module with ``.y[a]ml`` replaced with ``.env``.",`test_heat_pairs_provided <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_pairs_provided.py>`_,test_heat_pairs_provided
+`R-91810 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-91810>`_,"If a VNF requires ONAP to assign a Virtual IP (VIP) Address to +ports connected an external network, the port +**MUST NOT** have more than one IPv4 VIP address.",`test_neutron_port_addresses <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_neutron_port_addresses.py>`_,test_neutron_port_external_ipaddress
+`R-92193 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Contrail%20Resource%20Parameters.html#R-92193>`_,"A VNF's Heat Orchestration Template's parameter +``{network-role}_net_fqdn`` +**MUST NOT** be enumerated in the VNF's Heat Orchestration Template's +Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_network_fqdn_parameter_doesnt_exist_in_environment_file
+`R-92635 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Template%20Format.html#R-92635>`_,"A VNF's Heat Orchestration Template **MUST** be compliant with the +OpenStack Template Guide.",`test_initial_configuration <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_initial_configuration.py>`_,test_02_no_duplicate_keys_in_file
+`R-93030 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-93030>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +``{vm-type}_{network-role}_v6_ips`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_external_fixedips_ipaddress_parameter_doesnt_exist_in_environment_file
+`R-93177 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-93177>`_,"When the VNF's Heat Orchestration Template's resource +``OS::Neutron::Port`` is attaching to an internal network (per the +ONAP definition, see Requirements R-52425 and R-46461), +and the internal network is created in the +same Heat Orchestration Template as the ``OS::Neutron::Port``, +the ``network`` property value **MUST** obtain the UUID +of the internal network by using the intrinsic function +``get_resource`` +and referencing the Resource ID of the internal network.",`test_network_format_use_get_param_or_get_resource <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_network_format_use_get_param_or_get_resource.py>`_,test_network_format_use_get_param_or_get_resource
+`R-93496 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-93496>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Neutron::Port`` +property ``fixed_ips`` +map property ``ip_address`` +parameter associated with an internal network, i.e., + + * ``{vm-type}_int_{network-role}_ip_{index}`` + * ``{vm-type}_int_{network-role}_v6_ip_{index}`` + * ``{vm-type}_int_{network-role}_ips`` + * ``{vm-type}_int_{network-role}_v6_ips`` + + +**MUST** be enumerated in the Heat Orchestration +Template's Environment File and IP addresses **MUST** be +assigned.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_internal_fixedips_ipaddress_parameter_exists_in_environment_file
+`R-94509 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-94509>`_,"A VNF Heat Orchestration Template's Incremental Module's Environment File +**MUST** be named identical to the VNF Heat Orchestration Template's +Incremental Module with ``.y[a]ml`` replaced with ``.env``.",`test_heat_pairs_provided <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_heat_pairs_provided.py>`_,test_heat_pairs_provided
+`R-94669 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/ONAP%20Output%20Parameter%20Names.html#R-94669>`_,"If a VNF has one IPv6 OAM Management IP Address and the +IP Address needs to be inventoried in ONAP's A&AI +database, an output parameter **MUST** be declared in only one of the +VNF's Heat Orchestration Templates and the parameter **MUST** be named +``oam_management_v6_address``.",`test_oam_address_outputs <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_oam_address_outputs.py>`_,test_oam_address_v6_zero_or_one
+`R-95303 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/General%20Guidelines%20for%20Heat.html#R-95303>`_,A VNF's Heat Orchestration Template **MUST** be defined using valid YAML.,`test_get_attr_usage <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_get_attr_usage.py>`_,test_08_validate_get_attr_usage
+`R-95430 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-95430>`_,"If a VNF's Heat Orchestration Template's ``OS::Nova::Server`` +resource property +``metadata`` key/value pair ``vm_role`` value is obtained via +``get_param``, the parameter **MUST** be declared as ``vm_role`` +and the parameter **MUST** be defined as type: ``string``.",`test_server_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_server_parameters.py>`_,test_vm_role_parameter_type_and_parameter_name
+`R-96253 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-96253>`_,"A VNF's Heat Orchestration Template's Resource +``OS::ContrailV2::VirtualMachineInterface`` that is attaching to an external network +Resource ID **MUST** use the naming convention + +* ``{vm-type}_{vm-type_index}_{network-role}_vmi_{vmi_index}`` + +where + +* ``{vm-type}`` is the vm-type +* ``{vm-type_index}`` is the instance of the ``{vm-type}`` +* ``{network-role}`` is the network-role of the network + that the port (i.e. virtual machine interface) is attached to +* ``{vmi_index}`` is the instance of the vmi on the vm-type + attached to the network of ``{network-role}``",`test_contrail_vmi_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_vmi_resource_id.py>`_,test_contrail_instance_ip_resource_id_external
+`R-97201 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-97201>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +``{vm-type}_int_{network-role}_v6_ip_{index}`` +**MUST** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_internal_fixedips_ipaddress_parameter_exists_in_environment_file
+`R-98374 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Metadata%20Parameters.html#R-98374>`_,"A VNF's Heat Orchestration Template's ``OS::Nova::Server`` resource property +``metadata`` key/value pair ``vf_module_id`` parameter ``vf_module_id`` +**MUST NOT** +have parameter constraints defined.",`test_required_parameters_no_constraints <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_required_parameters_no_constraints.py>`_,test_vf_module_id_parameter_has_no_constraints
+`R-98407 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/{vm-type}.html#R-98407>`_,"A VNF's Heat Orchestration Template's ``{vm-type}`` **MUST** contain only +alphanumeric characters and/or underscores '_' and **MUST NOT** +contain any of the following strings: +``_int`` or ``int_`` or ``_int_``.",`test_vm_type_syntax <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_vm_type_syntax.py>`_,test_vm_type_syntax
+`R-98450 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Nova%20Parameters.html#R-98450>`_,"The VNF's Heat Orchestration Template's Resource ``OS::Nova::Server`` +property ``availability_zone`` parameter name +**MUST** follow the naming convention + +* ``availability_zone_{index}`` + +where ``{index}`` is a numeric value that **MUST** start at zero +in a VNF's Heat Orchestration Templates and **MUST** +increment by one.",`test_availability_zone <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_availability_zone.py>`_,test_availability_zone_naming
+`R-98569 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-98569>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +``{vm-type}_int_{network-role}_v6_ips`` +**MUST** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_internal_fixedips_ipaddress_parameter_exists_in_environment_file
+`R-98748 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-98748>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``allowed_address_pairs`` +map property ``ip_address`` parameter +**MUST** be declared as type ``string``.",`test_allowed_address_pairs_include_vm_type_network_role <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_allowed_address_pairs_include_vm_type_network_role.py>`_,test_allowed_address_pairs_include_vm_type_network_role
+`R-98905 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Neutron%20Parameters.html#R-98905>`_,"The VNF's Heat Orchestration Template's Resource +``OS::Neutron::Port`` property ``fixed_ips`` +map property ``ip_address`` parameter +``{vm-type}_{network-role}_ips`` +**MUST NOT** be enumerated in the +VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_neutron_port_external_fixedips_ipaddress_parameter_doesnt_exist_in_environment_file
+`R-99110 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20IDs.html#R-99110>`_,"A VNF's Heat Orchestration Template's Resource +``OS::ContrailV2::VirtualNetwork`` Resource ID **MUST** use the naming convention + +1) ``int_{network-role}_network`` + +or + +2) ``int_{network-role}_RVN`` where RVN represents Resource Virtual + Network + +VNF Heat Orchestration Templates can only create internal networks. +There is no ``{index}`` after ``{network-role}`` because ``{network-role}`` +**MUST** be unique in the scope of the VNF's +Heat Orchestration Template. + +Note that option 1 is preferred.",`test_contrail_vn_resource_id <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_contrail_vn_resource_id.py>`_,test_neutron_net_resource_id
+`R-99646 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Orchestration%20Templates%20Overview.html#R-99646>`_,"A VNF's YAML files (i.e, Heat Orchestration Template files and +Nested files) **MUST** have a unique name in the scope of the VNF.",`test_files_in_flat_dir <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_files_in_flat_dir.py>`_,test_files_in_flat_dir
+`R-99812 <https://docs.onap.org/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/ONAP%20Heat%20Resource%20ID%20and%20Parameter%20Naming%20Convention/Resource%20Property.html#R-99812>`_,"A value for VNF's Heat Orchestration Template's property ``name`` +for a non ``OS::Nova::Server`` resource **MUST NOT** be declared +in the VNF's Heat Orchestration Template's Environment File.",`test_environment_file_parameters <https://github.com/onap/vvp-validation-scripts/blob/master/ice_validator/tests/test_environment_file_parameters.py>`_,test_non_nova_server_name_parameter_doesnt_exist_in_environment_file
|