diff options
author | Brent Eagles <beagles@redhat.com> | 2016-09-16 18:01:00 -0230 |
---|---|---|
committer | Brent Eagles <beagles@redhat.com> | 2016-09-19 16:18:32 -0230 |
commit | 2548f7ddf087c2117b47f3540ddf76362872d8a4 (patch) | |
tree | a7ef2e546a6bab6d4776053f8f1c3882ba9c5b2b | |
parent | d8f3e366a0f6d5bbdfd63d9caccb3b352b5ed60e (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
-rw-r--r-- | puppet/services/neutron-api.yaml | 28 |
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 ] } |