瀏覽代碼

Add node_removal_policies variable to allow for scaling down

Tzu-Mainn Chen 8 年之前
父節點
當前提交
8219f17503

+ 3 - 0
playbooks/provisioning/openstack/README.md

@@ -67,6 +67,9 @@ The `openstack_num_masters`, `openstack_num_infra` and
 `openstack_num_nodes` values specify the number of Master, Infra and
 App nodes to create.
 
+The `openstack_node_removal_policies` allows you to specify which App nodes to
+remove.
+
 The `openstack_flat_secgrp`, controls Neutron security groups creation for Heat
 stacks. Set it to true, if you experience issues with sec group rules
 quotas. It trades security for number of rules, by sharing the same set

+ 1 - 0
playbooks/provisioning/openstack/provision-openstack.yml

@@ -23,6 +23,7 @@
     num_nodes: "{{ openstack_num_nodes }}"
     num_infra: "{{ openstack_num_infra }}"
     num_dns: "{{ openstack_num_dns | default(1) }}"
+    node_removal_policies: "{{ openstack_node_removal_policies | to_yaml }}"
     master_volume_size: "{{ docker_volume_size }}"
     app_volume_size: "{{ docker_volume_size }}"
     infra_volume_size: "{{ docker_volume_size }}"

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

@@ -12,6 +12,8 @@ openstack_num_masters: 1
 openstack_num_infra: 1
 openstack_num_nodes: 2
 
+openstack_node_removal_policies: []
+
 docker_volume_size: "15"
 
 openstack_subnet_prefix: "192.168.99"

+ 1 - 0
roles/openstack-stack/defaults/main.yml

@@ -9,4 +9,5 @@ num_masters: 1
 num_nodes: 1
 num_dns: 1
 num_infra: 1
+node_removal_policies: []
 etcd_volume_size: 2

+ 2 - 0
roles/openstack-stack/templates/heat_stack.yaml.j2

@@ -620,6 +620,8 @@ resources:
     type: OS::Heat::ResourceGroup
     properties:
       count: {{ num_nodes }}
+      removal_policies:
+      - resource_list: {{ node_removal_policies }}
       resource_def:
         type: server.yaml
         properties: