1 .. Licensed under a Creative Commons Attribution 4.0 International License.
 
   2 .. http://creativecommons.org/licenses/by/4.0
 
   3 .. Copyright 2017 AT&T Intellectual Property.  All rights reserved.
 
   5 .. _ONAP Output Parameter Names:
 
   7 ONAP Output Parameter Names
 
   8 -------------------------------------------------------------
 
  10 ONAP defines three types of Output Parameters as detailed in
 
  11 :ref:`Output Parameters`.
 
  13 ONAP Base Module Output Parameters:
 
  14 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
  16 ONAP Base Module Output Parameters do not have an explicit naming
 
  23     :validation_mode: static
 
  26     A VNF's Heat Orchestration Template's Base Module Output Parameter names
 
  27     **MUST** contain ``{vm-type}`` and/or ``{network-role}`` when appropriate.
 
  29 ONAP Volume Template Output Parameters:
 
  30 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
  36     :validation_mode: static
 
  39     A VNF's Heat Orchestration Template's Volume Template
 
  40     Output Parameter names
 
  41     **MUST** contain ``{vm-type}`` when appropriate.
 
  43 Predefined Output Parameters
 
  44 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
  46 ONAP currently defines one predefined output parameter the OAM
 
  47 Management IP Addresses.
 
  49 .. _OAM Management IP Addresses:
 
  51 OAM Management IP Addresses
 
  52 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
  54 A VNF may have a management interface for application controllers to
 
  55 interact with and configure the VNF. Typically, this will be via a
 
  56 specific VM that performs a VNF administration function. The IP address
 
  57 of this interface must be captured and inventoried by ONAP. The IP
 
  58 address might be a VIP if the VNF contains an HA pair of management VMs,
 
  59 or may be a single IP address assigned to one VM.
 
  68       * Only an IPv4 OAM Management IP Address
 
  69       * Only an IPv6 OAM Management IP Address
 
  70       * Both a IPv4 and IPv6 OAM Management IP Addresses
 
  76     :validation_mode: static
 
  79     If a VNF has one IPv4 OAM Management IP Address and the
 
  80     IP Address needs to be inventoried in ONAP's A&AI
 
  81     database, an output parameter **MUST** be declared in only one of the
 
  82     VNF's Heat Orchestration Templates and the parameter **MUST** be named
 
  83     ``oam_management_v4_address``.
 
  89     :validation_mode: static
 
  92     If a VNF has one IPv6 OAM Management IP Address and the
 
  93     IP Address needs to be inventoried in ONAP's A&AI
 
  94     database, an output parameter **MUST** be declared in only one of the
 
  95     VNF's Heat Orchestration Templates and the parameter **MUST** be named
 
  96     ``oam_management_v6_address``.
 
  98 The OAM Management IP Address maybe assigned either via
 
 106     :validation_mode: static
 
 109     If the VNF's OAM Management IP Address is assigned by ONAP SDN-C and
 
 110     assigned in the VNF's Heat Orchestration Template's via a heat resource
 
 111     ``OS::Neutron::Port`` property ``fixed_ips`` map property
 
 112     ``ip_adress`` parameter (e.g., ``{vm-type}_{network-role}_ip_{index}``,
 
 113     ``{vm-type}_{network-role}_v6_ip_{index}``)
 
 114     and the OAM IP Address is required to be inventoried in ONAP A&AI,
 
 115     then the parameter **MUST** be echoed in an output statement.
 
 120           oam_management_v4_address:
 
 121             value: {get_param: {vm-type}_{network-role}_ip_{index} }
 
 122           oam_management_v6_address:
 
 123             value: {get_param: {vm-type}_{network-role}_v6_ip_{index} }
 
 126 *Example: ONAP SDN-C Assigned IP Address echoed as
 
 127 oam_management_v4_address*
 
 134       description: Fixed IPv4 assignment for admin VM 0 on the OAM network
 
 138       type: OS::Neutron::Port
 
 142             template: VNF_NAME_admin_oam_port_0
 
 144               VNF_NAME: {get_param: vnf_name}
 
 145         network: { get_param: oam_net_id }
 
 146         fixed_ips: [{ "ip_address": { get_param: admin_oam_ip_0 }}]
 
 147         security_groups: [{ get_param: security_group }]
 
 149       type: OS::Nova::Server
 
 151         name: { get_param: admin_names }
 
 152         image: { get_param: admin_image_name }
 
 153         flavor: { get_param: admin_flavor_name }
 
 154         availability_zone: { get_param: availability_zone_0 }
 
 156         - port: { get_resource: admin_0_oam_net_port_0 }
 
 158         vnf_id: { get_param: vnf_id }
 
 159         vf_module_id: { get_param: vf_module_id }
 
 160         vnf_name: {get_param: vnf_name }
 
 162       oam_management_v4_address:
 
 163         value: {get_param: admin_oam_ip_0 }
 
 169     :validation_mode: static
 
 172     If the VNF's OAM Management IP Address is cloud assigned and
 
 173     and the OAM IP Address is required to be inventoried in ONAP A&AI,
 
 174     then the parameter **MUST** be obtained by the
 
 175     resource ``OS::Neutron::Port``
 
 176     attribute ``ip_address``.
 
 181        oam_management_v4_address:
 
 182          value: {get_attr: [ {OS::Neutron Port Resource ID}, fixed_ips, 0, ip_address] }
 
 184 *Example: Cloud Assigned IP Address output as oam_management_v4_address*
 
 192       type: OS::Neutron::Port
 
 196             template: VNF_NAME_admin_oam_0_port
 
 198               VNF_NAME: {get_param: vnf_name}
 
 199         network: { get_param: oam_net_id }
 
 200         security_groups: [{ get_param: security_group }]
 
 202       type: OS::Nova::Server
 
 204         name: { get_param: admin_name_0 }
 
 205         image: { get_param: admin_image_name }
 
 206         flavor: { get_param: admin_flavor_name }
 
 207         availability_zone: { get_param: availability_zone_0 }
 
 209           - port: { get_resource: admin_0_oam_port_0 }
 
 211           vnf_id: { get_param: vnf_id }
 
 212           vf_module_id: { get_param: vf_module_id }
 
 213           vnf_name: {get_param: vnf_name }
 
 215     oam_management_v4_address:
 
 216       value: {get_attr: [admin_0_oam_port_0, fixed_ips, 0, ip_address] }