Change flat network name for nosdn fdio scenario
[apex-tripleo-heat-templates.git] / puppet / services / neutron-base.yaml
1 heat_template_version: pike
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   DatabaseSyncTimeout:
26     default: 300
27     description: DB Sync Timeout default
28     type: number
29   NeutronDhcpAgentsPerNetwork:
30     type: number
31     default: 0
32     description: The number of neutron dhcp agents to schedule per network
33   DhcpAgentNotification:
34     default: true
35     description: Whether or not to enable DHCP agent notifications.
36     type: boolean
37   NeutronDnsDomain:
38     type: string
39     default: openstacklocal
40     description: Domain to use for building the hostnames.
41   NeutronCorePlugin:
42     default: 'ml2'
43     description: |
44         The core plugin for Neutron. The value should be the entrypoint to be loaded
45         from neutron.core_plugins namespace.
46     type: string
47   NeutronServicePlugins:
48     default: "router,qos,trunk"
49     description: |
50         Comma-separated list of service plugin entrypoints to be loaded from the
51         neutron.service_plugins namespace.
52     type: comma_delimited_list
53   Debug:
54     type: string
55     default: ''
56     description: Set to True to enable debugging on all services.
57   NeutronDebug:
58     default: ''
59     description: Set to True to enable debugging Neutron services.
60     type: string
61   EnableConfigPurge:
62     type: boolean
63     default: false
64     description: >
65         Remove configuration that is not generated by TripleO. Used to avoid
66         configuration remnants after upgrades.
67   NeutronGlobalPhysnetMtu:
68     type: number
69     default: 1500
70     description: |
71         MTU of the underlying physical network. Neutron uses this value to
72         calculate MTU for all virtual network components. For flat and VLAN
73         networks, neutron uses this value without modification. For overlay
74         networks such as VXLAN, neutron automatically subtracts the overlay
75         protocol overhead from this value.
76   NeutronDBSyncExtraParams:
77     default: ''
78     description: |
79         String of extra command line parameters to append to the neutron-db-manage
80         upgrade head command.
81     type: string
82   ServiceData:
83     default: {}
84     description: Dictionary packing service data
85     type: json
86   ServiceNetMap:
87     default: {}
88     description: Mapping of service_name -> network name. Typically set
89                  via parameter_defaults in the resource registry.  This
90                  mapping overrides those in ServiceNetMapDefaults.
91     type: json
92   DefaultPasswords:
93     default: {}
94     type: json
95   RoleName:
96     default: ''
97     description: Role name on which the service is applied
98     type: string
99   RoleParameters:
100     default: {}
101     description: Parameters specific to the role
102     type: json
103   EndpointMap:
104     default: {}
105     description: Mapping of service endpoint -> protocol. Typically set
106                  via parameter_defaults in the resource registry.
107     type: json
108   NotificationDriver:
109     type: string
110     default: 'messagingv2'
111     description: Driver or drivers to handle sending notifications.
112     constraints:
113       - allowed_values: [ 'messagingv2', 'noop' ]
114
115 conditions:
116   dhcp_agents_zero: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]}
117   service_debug_unset: {equals : [{get_param: NeutronDebug}, '']}
118
119 outputs:
120   role_data:
121     description: Role data for the Neutron base service.
122     value:
123       service_name: neutron_base
124       config_settings:
125         map_merge:
126           - neutron::rabbit_password: {get_param: RabbitPassword}
127             neutron::rabbit_user: {get_param: RabbitUserName}
128             neutron::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
129             neutron::rabbit_port: {get_param: RabbitClientPort}
130             neutron::notification_driver: {get_param: NotificationDriver}
131             neutron::core_plugin: {get_param: NeutronCorePlugin}
132             neutron::service_plugins: {get_param: NeutronServicePlugins}
133             neutron::debug:
134               if:
135               - service_debug_unset
136               - {get_param: Debug }
137               - {get_param: NeutronDebug }
138             neutron::purge_config: {get_param: EnableConfigPurge}
139             neutron::allow_overlapping_ips: true
140             neutron::dhcp_agent_notification: {get_param: DhcpAgentNotification}
141             neutron::dns_domain: {get_param: NeutronDnsDomain}
142             neutron::rabbit_heartbeat_timeout_threshold: 60
143             neutron::host: '%{::fqdn}'
144             neutron::db::database_db_max_retries: -1
145             neutron::db::database_max_retries: -1
146             neutron::db::sync::db_sync_timeout: {get_param: DatabaseSyncTimeout}
147             neutron::global_physnet_mtu: {get_param: NeutronGlobalPhysnetMtu}
148             neutron::db::sync::extra_params: {get_param: NeutronDBSyncExtraParams}
149           - if:
150             - dhcp_agents_zero
151             - {}
152             - tripleo::profile::base::neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}