tripleo-heat-templates/puppet/services/neutron-plugin-plumgrid.yaml
Saravanan KR a096ddab34 Add role specific information to the service template
When a service is enabled on multiple roles, the parameters for the
service will be global. This change enables an option to provide
role specific parameter to services and other templates.

Two new parameters - RoleName and RoleParameters, are added to the
service template. RoleName provides the role name of on which the
current instance of the service is being applied on. RoleParameters
provides the list of parameters which are configured specific to the
role in the environment file, like below:

  parameters_default:
      # Default value for applied to all roles
      NovaReservedHostMemory: 2048
      ComputeDpdkParameters:
          # Applied only to ComputeDpdk role
          NovaReservedHostMemory: 4096

In above sample, the cluster contains 2 roles - Compute, ComputeDpdk.
The values of ComputeDpdkParameters will be passed on to the templates
as RoleParameters while creating the stack for ComputeDpdk role. The
parameter which supports role specific configuration, should find the
parameter first in in the RoleParameters list, if not found, then the
default (for all roles) should be used.
Implements: blueprint tripleo-derive-parameters

Change-Id: I72376a803ec6b2ed93903cc0c95a6ffce718b6dc
2017-05-15 10:06:46 +05:30

131 lines
4.7 KiB
YAML

heat_template_version: pike
description: >
OpenStack Neutron Plumgrid plugin
parameters:
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
NeutronPassword:
description: The password for the neutron service and db account, used by neutron agents.
type: string
hidden: true
NeutronMetadataProxySharedSecret:
description: Shared secret to prevent spoofing
type: string
hidden: true
AdminPassword:
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
type: string
hidden: true
# PLUMgrid specific settings
PLUMgridDirectorServer:
description: IP address of the PLUMgrid Director Server
type: string
default: 127.0.0.1
PLUMgridDirectorServerPort:
description: Port of the PLUMgrid Director Server
type: string
default: 443
PLUMgridUsername:
description: Username for PLUMgrid platform
type: string
PLUMgridPassword:
description: Password for PLUMgrid platform
type: string
hidden: true
PLUMgridNovaMetadataIP:
description: IP address of Nova Metadata
type: string
default: 169.254.169.254
PLUMgridNovaMetadataPort:
description: Port of Nova Metadata
type: string
default: 8775
PLUMgridL2GatewayVendor:
description: Vendor for L2 Gateway Switch
type: string
default: vendor
PLUMgridL2GatewayUsername:
description: Username for L2 Gateway Switch
type: string
default: username
PLUMgridL2GatewayPassword:
description: Password for L2 Gateway Switch
type: string
hidden: true
PLUMgridIdentityVersion:
description: Keystone Identity version
type: string
default: v2.0
PLUMgridConnectorType:
description: Neutron Network Connector Type
type: string
default: distributed
PLUMgridNeutronPluginVersion:
description: PLUMgrid Neutron Plugin version
type: string
default: present
PLUMgridPlumlibVersion:
description: PLUMgrid Plumlib version
type: string
default: present
outputs:
role_data:
description: Role data for the Neutron Plumgrid plugin
value:
service_name: neutron_plugin_plumgrid
config_settings:
neutron::plugins::plumgrid::connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
username: neutron
password: {get_param: NeutronPassword}
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /ovs_neutron
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
neutron::plugins::plumgrid::controller_priv_host: {get_param: [EndpointMap, KeystoneInternal, host]}
neutron::plugins::plumgrid::admin_password: {get_param: AdminPassword}
neutron::plugins::plumgrid::metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
neutron::plugins::plumgrid::director_server: {get_param: PLUMgridDirectorServer}
neutron::plugins::plumgrid::director_server_port: {get_param: PLUMgridDirectorServerPort}
neutron::plugins::plumgrid::username: {get_param: PLUMgridUsername}
neutron::plugins::plumgrid::password: {get_param: PLUMgridPassword}
neutron::plugins::plumgrid::nova_metadata_ip: {get_param: PLUMgridNovaMetadataIP}
neutron::plugins::plumgrid::nova_metadata_port: {get_param: PLUMgridNovaMetadataPort}
neutron::plugins::plumgrid::l2gateway_vendor: {get_param: PLUMgridL2GatewayVendor}
neutron::plugins::plumgrid::l2gateway_sw_username: {get_param: PLUMgridL2GatewayUsername}
neutron::plugins::plumgrid::l2gateway_sw_password: {get_param: PLUMgridL2GatewayPassword}
neutron::plugins::plumgrid::connector_type: {get_param: PLUMgridConnectorType}
neutron::plugins::plumgrid::identity_version: {get_param: PLUMgridIdentityVersion}
neutron::plugins::plumgrid::package_ensure: {get_param: PLUMgridNeutronPluginVersion}
neutron::plugins::plumgrid::plumlib_package_ensure: {get_param: PLUMgridPlumlibVersion}
step_config: |
include tripleo::profile::base::neutron::plugins::plumgrid