aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
authorBrent Eagles <beagles@redhat.com>2016-09-16 18:01:00 -0230
committerBrent Eagles <beagles@redhat.com>2016-09-19 16:18:32 -0230
commit2548f7ddf087c2117b47f3540ddf76362872d8a4 (patch)
treea7ef2e546a6bab6d4776053f8f1c3882ba9c5b2b /puppet
parentd8f3e366a0f6d5bbdfd63d9caccb3b352b5ed60e (diff)
Enable L3 HA when multiple controllers and no DVR
This patch conditionally enables Neutron L3 HA if there are multiple controllers but DVR has not been enabled. If the conditions are false, the value of NeutronL3HA is used. Change-Id: If1ebeaf417c0da99d833450e394b71cabff2c800 Closes-Bug: #1623155
Diffstat (limited to 'puppet')
-rw-r--r--puppet/services/neutron-api.yaml28
1 files changed, 25 insertions, 3 deletions
diff --git a/puppet/services/neutron-api.yaml b/puppet/services/neutron-api.yaml
index 35934f7e..b939e7be 100644
--- a/puppet/services/neutron-api.yaml
+++ b/puppet/services/neutron-api.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: 2016-10-14
description: >
OpenStack Neutron Server configured with Puppet
@@ -39,7 +39,10 @@ parameters:
type: string
NeutronL3HA:
default: false
- description: Whether to enable HA for virtual routers
+ description: |
+ Whether to enable HA for virtual routers. While the default value is
+ 'false', L3 HA will be automatically enabled if the number of nodes hosting
+ controller configurations and DVR is disabled.
type: boolean
NovaPassword:
description: The password for the nova service and db account, used by nova-api.
@@ -61,6 +64,13 @@ parameters:
default:
tag: openstack.neutron.api
path: /var/log/neutron/server.log
+ ControllerCount:
+ description: |
+ Under normal conditions, this should not be overridden manually and is
+ set at deployment time. The default value is present to allow the
+ template to be used in environments that do not override it.
+ default: 1
+ type: number
resources:
@@ -71,6 +81,18 @@ resources:
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
+conditions:
+
+ auto_enable_l3_ha:
+ and:
+ - not:
+ equals:
+ - get_param: ControllerCount
+ - 1
+ - equals:
+ - get_param: NeutronEnableDVR
+ - false
+
outputs:
role_data:
description: Role data for the Neutron Server agent service.
@@ -103,7 +125,7 @@ outputs:
neutron::server::api_workers: {get_param: NeutronWorkers}
neutron::server::rpc_workers: {get_param: NeutronWorkers}
neutron::server::allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
- neutron::server::l3_ha: {get_param: NeutronL3HA}
+ neutron::server::l3_ha: {if: ["auto_enable_l3_ha", true, {get_param: NeutronL3HA}]}
neutron::keystone::authtoken::password: {get_param: NeutronPassword}
neutron::server::notifications::nova_url: { get_param: [ EndpointMap, NovaInternal, uri ] }