aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--overcloud.j2.yaml10
-rw-r--r--puppet/services/neutron-api.yaml28
-rw-r--r--puppet/services/rabbitmq.yaml2
-rw-r--r--roles_data.yaml27
4 files changed, 50 insertions, 17 deletions
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml
index 187741ff..aad1af62 100644
--- a/overcloud.j2.yaml
+++ b/overcloud.j2.yaml
@@ -121,16 +121,12 @@ parameters:
resource_registry) which represent nested stacks
for each service that should get installed on the {{role.name}} role.
type: comma_delimited_list
- {% if role.ServicesDefault %}
- default: {{role.ServicesDefault}}
- {% endif %}
+ default: {{role.ServicesDefault|default([])}}
{{role.name}}Count:
description: Number of {{role.name}} nodes to deploy
type: number
- {% if role.CountDefault %}
- default: {{role.CountDefault}}
- {% endif %}
+ default: {{role.CountDefault|default(0)}}
{{role.name}}HostnameFormat:
type: string
@@ -140,6 +136,8 @@ parameters:
and %stackname% is replaced with the stack name e.g overcloud
{% if role.HostnameFormatDefault %}
default: "{{role.HostnameFormatDefault}}"
+ {% else %}
+ default: "%stackname%-{{role.name.lower()}}-%index%"
{% endif %}
{{role.name}}RemovalPolicies:
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 ] }
diff --git a/puppet/services/rabbitmq.yaml b/puppet/services/rabbitmq.yaml
index e4a16e86..52300a2f 100644
--- a/puppet/services/rabbitmq.yaml
+++ b/puppet/services/rabbitmq.yaml
@@ -66,7 +66,7 @@ outputs:
rabbitmq::repos_ensure: false
rabbitmq_environment:
RABBITMQ_NODENAME: "rabbit@%{::hostname}"
- RABBITMQ_SERVER_ERL_ARGS: '"+K true +A30 +P 1048576 -kernel inet_default_connect_options [{nodelay,true},{raw,6,18,<<5000:64/native>>}] -kernel inet_default_listen_options [{raw,6,18,<<5000:64/native>>}]"'
+ RABBITMQ_SERVER_ERL_ARGS: '"+K true +P 1048576 -kernel inet_default_connect_options [{nodelay,true},{raw,6,18,<<5000:64/native>>}] -kernel inet_default_listen_options [{raw,6,18,<<5000:64/native>>}]"'
rabbitmq_kernel_variables:
inet_dist_listen_min: '25672'
inet_dist_listen_max: '25672'
diff --git a/roles_data.yaml b/roles_data.yaml
index af1eba82..e052aeef 100644
--- a/roles_data.yaml
+++ b/roles_data.yaml
@@ -1,6 +1,25 @@
+# Specifies which roles (groups of nodes) will be deployed
+# Note this is used as an input to the various *.j2.yaml
+# jinja2 templates, so that they are converted into *.yaml
+# during the plan creation (via a mistral action/workflow).
+#
+# The format is a list, with the following format:
+#
+# * name: (string) mandatory, name of the role, must be unique
+#
+# CountDefault: (number) optional, default number of nodes, defaults to 0
+# sets the default for the {{role.name}}Count parameter in overcloud.yaml
+#
+# HostnameFormatDefault: (string) optional default format string for hostname
+# defaults to '%stackname%-{{role.name.lower()}}-%index%'
+# sets the default for {{role.name}}HostnameFormat parameter in overcloud.yaml
+#
+# ServicesDefault: (list) optional default list of services to be deployed
+# on the role, defaults to an empty list. Sets the default for the
+# {{role.name}}Services parameter in overcloud.yaml
+
- name: Controller
CountDefault: 1
- HostnameFormatDefault: '%stackname%-controller-%index%'
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephMon
@@ -102,8 +121,6 @@
- OS::TripleO::Services::VipHosts
- name: BlockStorage
- CountDefault: 0
- HostnameFormatDefault: '%stackname%-blockstorage-%index%'
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CinderVolume
@@ -118,8 +135,6 @@
- OS::TripleO::Services::VipHosts
- name: ObjectStorage
- CountDefault: 0
- HostnameFormatDefault: '%stackname%-objectstorage-%index%'
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::Kernel
@@ -135,8 +150,6 @@
- OS::TripleO::Services::VipHosts
- name: CephStorage
- CountDefault: 0
- HostnameFormatDefault: '%stackname%-cephstorage-%index%'
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephOSD