Pass ServiceNetMap to services
[apex-tripleo-heat-templates.git] / puppet / services / neutron-base.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Neutron base service. Shared for all Neutron agents.
5
6 parameters:
7   RabbitPassword:
8     description: The password for RabbitMQ
9     type: string
10     hidden: true
11   RabbitUserName:
12     default: guest
13     description: The username for RabbitMQ
14     type: string
15   RabbitClientUseSSL:
16     default: false
17     description: >
18         Rabbit client subscriber parameter to specify
19         an SSL connection to the RabbitMQ host.
20     type: string
21   RabbitClientPort:
22     default: 5672
23     description: Set rabbit subscriber port, change this if using SSL
24     type: number
25   NeutronDhcpAgentsPerNetwork:
26     type: number
27     default: 3
28     description: The number of neutron dhcp agents to schedule per network
29   NeutronCorePlugin:
30     default: 'ml2'
31     description: |
32         The core plugin for Neutron. The value should be the entrypoint to be loaded
33         from neutron.core_plugins namespace.
34     type: string
35   NeutronServicePlugins:
36     default: "router,qos"
37     description: |
38         Comma-separated list of service plugin entrypoints to be loaded from the
39         neutron.service_plugins namespace.
40     type: comma_delimited_list
41   Debug:
42     type: string
43     default: ''
44     description: Set to True to enable debugging on all services.
45   EnableConfigPurge:
46     type: boolean
47     default: true
48     description: >
49         Remove configuration that is not generated by TripleO. Setting
50         to false may result in configuration remnants after updates/upgrades.
51   ServiceNetMap:
52     default: {}
53     description: Mapping of service_name -> network name. Typically set
54                  via parameter_defaults in the resource registry.  This
55                  mapping overrides those in ServiceNetMapDefaults.
56     type: json
57   EndpointMap:
58     default: {}
59     description: Mapping of service endpoint -> protocol. Typically set
60                  via parameter_defaults in the resource registry.
61     type: json
62
63 outputs:
64   role_data:
65     description: Role data for the Neutron base service.
66     value:
67       service_name: neutron_base
68       config_settings:
69         neutron::rabbit_password: {get_param: RabbitPassword}
70         neutron::rabbit_user: {get_param: RabbitUserName}
71         neutron::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
72         neutron::rabbit_port: {get_param: RabbitClientPort}
73         neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
74         neutron::core_plugin: {get_param: NeutronCorePlugin}
75         neutron::service_plugins:
76           str_replace:
77             template: PLUGINS
78             params:
79               PLUGINS: {get_param: NeutronServicePlugins}
80         neutron::debug: {get_param: Debug}
81         neutron::purge_config: {get_param: EnableConfigPurge}
82         neutron::allow_overlapping_ips: true
83         neutron::rabbit_heartbeat_timeout_threshold: 60
84         neutron::host: '"%{::fqdn}"'    #NOTE: extra quoting is needed
85         neutron::db::database_db_max_retries: -1
86         neutron::db::database_max_retries: -1