浏览代码

Merge pull request #7519 from jmencak/openstack-heat-no-resolve-outputs

Removing heat template outputs for stack scalability.
Vadim Rutkovsky 7 年之前
父节点
当前提交
d4a3a3846a

+ 10 - 0
playbooks/openstack/configuration.md

@@ -530,3 +530,13 @@ openshift_hosted_registry_storage_volume_name: registry
 
 
 The volume will be formatted automaticaly and it will be mounted to one of the
 The volume will be formatted automaticaly and it will be mounted to one of the
 infra nodes when the registry pod gets started.
 infra nodes when the registry pod gets started.
+
+
+## Deploying At Scale
+
+By default, heat stack outputs are resolved.  This may cause
+problems in large scale deployments.  Querying heat stack can take
+a long time and eventually time out.  The following setting in
+`inventory/group_vars/all.yml` is recommended to prevent the timeouts:
+
+* `openshift_openstack_resolve_heat_outputs`: False

+ 3 - 0
playbooks/openstack/sample-inventory/group_vars/all.yml

@@ -163,6 +163,9 @@ openshift_openstack_pool_end: "192.168.99.254"
 # hardcoded to `openshift`.
 # hardcoded to `openshift`.
 ansible_user: openshift
 ansible_user: openshift
 
 
+# Resolve heat stack outputs. Disabling outputs helps stack scalability. (default: True)
+#openshift_openstack_resolve_heat_outputs: True
+
 # # Use a single security group for a cluster (default: false)
 # # Use a single security group for a cluster (default: false)
 #openshift_openstack_flat_secgrp: false
 #openshift_openstack_flat_secgrp: false
 
 

+ 2 - 0
roles/openshift_openstack/templates/heat_stack.yaml.j2

@@ -6,6 +6,7 @@ parameters:
 
 
 outputs:
 outputs:
 
 
+{% if openshift_openstack_resolve_heat_outputs|default(True)|bool %}
   etcd_names:
   etcd_names:
     description: Name of the etcds
     description: Name of the etcds
     value: { get_attr: [ etcd, name ] }
     value: { get_attr: [ etcd, name ] }
@@ -53,6 +54,7 @@ outputs:
   infra_floating_ips:
   infra_floating_ips:
     description: Floating IPs of the nodes
     description: Floating IPs of the nodes
     value: { get_attr: [ infra_nodes, floating_ip ] }
     value: { get_attr: [ infra_nodes, floating_ip ] }
+{% endif %}
 
 
   public_api_ip:
   public_api_ip:
     description: IP address for the API/UI endpoint
     description: IP address for the API/UI endpoint