Browse Source

Add node_removal_policies variable to allow for scaling down

Tzu-Mainn Chen 8 năm trước cách đây
mục cha
commit
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: