summaryrefslogtreecommitdiffstats
path: root/roles/openstack-stack
diff options
context:
space:
mode:
authortzumainn <tzumainn@redhat.com>2017-10-13 05:21:26 -0400
committerTomas Sedovic <tomas@sedovic.cz>2017-10-13 11:21:26 +0200
commitb450ff75888f7801094ca88957a237f33f5e85f1 (patch)
tree744495b2d7d95dcb4b487c3bb5a9b8340eff0bbd /roles/openstack-stack
parent2bb21a8e26cce69b9da722463a6b78860902d3e5 (diff)
downloadopenshift-b450ff75888f7801094ca88957a237f33f5e85f1.tar.gz
openshift-b450ff75888f7801094ca88957a237f33f5e85f1.tar.bz2
openshift-b450ff75888f7801094ca88957a237f33f5e85f1.tar.xz
openshift-b450ff75888f7801094ca88957a237f33f5e85f1.zip
Allow the specification of server group policies when provisioning openstack (#747)
* Allow for the specifying of server policies during OpenStack provisioning * documentation for openstack server group policies * add doc link detailing allowed policies * changed default to anti-affinity
Diffstat (limited to 'roles/openstack-stack')
-rw-r--r--roles/openstack-stack/templates/heat_stack.yaml.j222
-rw-r--r--roles/openstack-stack/templates/heat_stack_server.yaml.j26
-rw-r--r--roles/openstack-stack/templates/heat_stack_server_nofloating.yaml.j26
3 files changed, 34 insertions, 0 deletions
diff --git a/roles/openstack-stack/templates/heat_stack.yaml.j2 b/roles/openstack-stack/templates/heat_stack.yaml.j2
index ef46211a4..a6b088efb 100644
--- a/roles/openstack-stack/templates/heat_stack.yaml.j2
+++ b/roles/openstack-stack/templates/heat_stack.yaml.j2
@@ -536,6 +536,20 @@ resources:
- interface
{% endif %}
+{% if master_server_group_policies|length > 0 %}
+ master_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name: master_server_group
+ policies: {{ master_server_group_policies }}
+{% endif %}
+{% if infra_server_group_policies|length > 0 %}
+ infra_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name: infra_server_group
+ policies: {{ infra_server_group_policies }}
+{% endif %}
{% if num_masters|int > 1 %}
loadbalancer:
type: OS::Heat::ResourceGroup
@@ -643,6 +657,10 @@ resources:
floating_network: {{ external_network }}
{% endif %}
volume_size: {{ master_volume_size }}
+{% if master_server_group_policies|length > 0 %}
+ scheduler_hints:
+ group: { get_resource: master_server_group }
+{% endif %}
{% if not provider_network %}
depends_on:
- interface
@@ -766,6 +784,10 @@ resources:
floating_network: {{ external_network }}
{% endif %}
volume_size: {{ infra_volume_size }}
+{% if infra_server_group_policies|length > 0 %}
+ scheduler_hints:
+ group: { get_resource: infra_server_group }
+{% endif %}
{% if not provider_network %}
depends_on:
- interface
diff --git a/roles/openstack-stack/templates/heat_stack_server.yaml.j2 b/roles/openstack-stack/templates/heat_stack_server.yaml.j2
index fc797941e..66c2491a9 100644
--- a/roles/openstack-stack/templates/heat_stack_server.yaml.j2
+++ b/roles/openstack-stack/templates/heat_stack_server.yaml.j2
@@ -98,6 +98,11 @@ parameters:
description: OpenShift Node Labels
default: {"region": "default" }
+ scheduler_hints:
+ type: json
+ description: Server scheduler hints.
+ default: {}
+
outputs:
name:
@@ -154,6 +159,7 @@ resources:
host-type: { get_param: type }
sub-host-type: { get_param: subtype }
node_labels: { get_param: node_labels }
+ scheduler_hints: { get_param: scheduler_hints }
{% if use_trunk_ports|default(false)|bool %}
trunk-port:
diff --git a/roles/openstack-stack/templates/heat_stack_server_nofloating.yaml.j2 b/roles/openstack-stack/templates/heat_stack_server_nofloating.yaml.j2
index 2c16ad778..4b79d5ab6 100644
--- a/roles/openstack-stack/templates/heat_stack_server_nofloating.yaml.j2
+++ b/roles/openstack-stack/templates/heat_stack_server_nofloating.yaml.j2
@@ -89,6 +89,11 @@ parameters:
description: OpenShift Node Labels
default: {"region": "default" }
+ scheduler_hints:
+ type: json
+ description: Server scheduler hints.
+ default: {}
+
outputs:
name:
@@ -131,6 +136,7 @@ resources:
host-type: { get_param: type }
sub-host-type: { get_param: subtype }
node_labels: { get_param: node_labels }
+ scheduler_hints: { get_param: scheduler_hints }
{% if use_trunk_ports|default(false)|bool %}
trunk-port: