From c4e85b64d93f7bb4cdcf13cbc65f2256e5bb7a33 Mon Sep 17 00:00:00 2001 From: "Bozawglanian, Hagop (hb755d)" Date: Tue, 4 Sep 2018 21:44:28 +0000 Subject: VNFRQTS - Breaking up Chapter 5 - Heat Breaking up the Heat section to make it more granular. Issue-ID: VNFRQTS-275 Change-Id: I020469d7aea199cd71c4d7c67664ad4dbc4071c9 Signed-off-by: Bozawglanian, Hagop (hb755d) --- .../ONAP Output Parameter Names.rst | 224 +++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst (limited to 'docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst') diff --git a/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst new file mode 100644 index 0000000..d2330a6 --- /dev/null +++ b/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/ONAP Output Parameter Names.rst @@ -0,0 +1,224 @@ +.. Licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2017 AT&T Intellectual Property. All rights reserved. + +.. _ONAP Output Parameter Names: + +ONAP Output Parameter Names +------------------------------------------------------------- + +ONAP defines three types of Output Parameters as detailed in +:ref:`Output Parameters`. + +ONAP Base Module Output Parameters: +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ONAP Base Module Output Parameters do not have an explicit naming +convention. + +.. req:: + :id: R-97726 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Base Module Output + Parameter names **MUST** contain {vm-type} and/or {network-role} + when appropriate. + +ONAP Volume Template Output Parameters: +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. req:: + :id: R-88524 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF's Heat Orchestration Template's Volume Template + Output Parameter names **MUST** contain {vm-type} when appropriate. + +Predefined Output Parameters +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ONAP currently defines one predefined output parameter the OAM +Management IP Addresses. + +.. _OAM Management IP Addresses: + +OAM Management IP Addresses +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A VNF may have a management interface for application controllers to +interact with and configure the VNF. Typically, this will be via a +specific VM that performs a VNF administration function. The IP address +of this interface must be captured and inventoried by ONAP. The IP +address might be a VIP if the VNF contains an HA pair of management VMs, +or may be a single IP address assigned to one VM. + +.. req:: + :id: R-47874 + :target: VNF + :keyword: MAY + :test: no test found + :test_case: no test found + :test_file: no test found + + A VNF **MAY** have + + * Only an IPv4 OAM Management IP Address + * Only an IPv6 OAM Management IP Address + * Both a IPv4 and IPv6 OAM Management IP Addresses + +.. req:: + :id: R-18683 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + 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'. + +.. req:: + :id: R-94669 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + If a VNF has one IPv6 OAM Management IP Address and the + IP Address needs to be inventoried in ONAP's AAI + 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'. + +The OAM Management IP Address maybe assigned either via + * ONAP SDN-C + * DHCP + +.. req:: + :id: R-56287 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + If the VNF's OAM Management IP Address is assigned by ONAP SDN-C and + assigned in the VNF's Heat Orchestration Template's via a heat resource + 'OS::Neutron::Port' property 'fixed_ips' map property + 'ip_adress' parameter (e.g., '{vm-type}_{network-role}_ip_{index}', + '{vm-type}_{network-role}_v6_ip_{index}') + and the OAM IP Address is required to be inventoried in ONAP AAI, + then the parameter **MUST** be echoed in an output statement. + +.. code-block:: yaml + + outputs: + oam_management_v4_address: + value: {get_param: {vm-type}_{network-role}_ip_{index} } + oam_management_v6_address: + value: {get_param: {vm-type}_{network-role}_v6_ip_{index} } + +*Example: ONAP SDN-C Assigned IP Address echoed as +oam_management_v4_address* + +.. code-block:: yaml + + parameters: + admin_oam_ip_0: + type: string + description: Fixed IPv4 assignment for admin VM 0 on the OAM network + . . . + resources: + admin_0_oam_port_0: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: VNF_NAME_admin_oam_port_0 + params: + VNF_NAME: {get_param: vnf_name} + network: { get_param: oam_net_id } + fixed_ips: [{ "ip_address": { get_param: admin_oam_ip_0 }}] + security_groups: [{ get_param: security_group }] + admin_server_0: + type: OS::Nova::Server + properties: + name: { get_param: admin_names } + image: { get_param: admin_image_name } + flavor: { get_param: admin_flavor_name } + availability_zone: { get_param: availability_zone_0 } + networks: + - port: { get_resource: admin_0_oam_net_port_0 } + metadata: + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vnf_name: {get_param: vnf_name } + outputs: + oam_management_v4_address: + value: {get_param: admin_oam_ip_0 } + + +.. req:: + :id: R-48987 + :target: VNF + :keyword: MUST + :test: no test found + :test_case: no test found + :test_file: no test found + + If the VNF's OAM Management IP Address is Cloud assigned and + and the OAM IP Address is required to be inventoried in ONAP AAI, + then the parameter **MUST** be obtained by the resource 'OS::Neutron::Port' + attribute 'ip_address'. + +.. code-block:: yaml + + outputs: + oam_management_v4_address: + value: {get_attr: [ {OS::Neutron Port Resource ID}, fixed_ips, 0, ip_address] } + +*Example: Cloud Assigned IP Address output as oam_management_v4_address* + +.. code-block:: yaml + + parameters: + . . . + resources: + admin_0_oam_port_0: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: VNF_NAME_admin_oam_0_port + params: + VNF_NAME: {get_param: vnf_name} + network: { get_param: oam_net_id } + security_groups: [{ get_param: security_group }] + admin_server_0: + type: OS::Nova::Server + properties: + name: { get_param: admin_name_0 } + image: { get_param: admin_image_name } + flavor: { get_param: admin_flavor_name } + availability_zone: { get_param: availability_zone_0 } + networks: + - port: { get_resource: admin_0_oam_port_0 } + metadata: + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vnf_name: {get_param: vnf_name } + outputs: + oam_management_v4_address: + value: {get_attr: [admin_0_oam_port_0, fixed_ips, 0, ip_address] } -- cgit 1.2.3-korg