summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcluster.sh22
-rw-r--r--playbooks/gce/os3-master/terminate.yml37
-rw-r--r--playbooks/gce/os3-minion/terminate.yml39
3 files changed, 68 insertions, 30 deletions
diff --git a/cluster.sh b/cluster.sh
index cd8ba2d87..50fbe66eb 100755
--- a/cluster.sh
+++ b/cluster.sh
@@ -8,6 +8,7 @@ PROVIDER=gce
function usage {
cat 1>&2 <<-EOT
${0} : [create|destroy|update|list] {GCE environment tag}
+
Supported environment tags:
$(grep 'SUPPORTED_ENVS.*=' ./cloud.rb)
EOT
@@ -23,7 +24,7 @@ function create_cluser {
./cloud.rb "${PROVIDER}" launch -e "${ENV}" --type=os3-master
done
update_cluster
- echo -n "\nCreated ${MASTERS} masters and ${MINIONS} minions using ${PROVIDER} provider\n"
+ echo -e "\nCreated ${MASTERS} masters and ${MINIONS} minions using ${PROVIDER} provider\n"
}
function update_cluster {
@@ -37,23 +38,18 @@ function update_cluster {
}
function terminate_cluster {
- for (( i = 0; i < $MINIONS; i ++ )); do
- ./cloud.rb "${PROVIDER}" terminate -e "${ENV}" --type=os3-minion
- done
-
- for (( i = 0; i < $MASTERS; i ++ )); do
- ./cloud.rb "${PROVIDER}" terminate -e "${ENV}" --type=os3-master
- done
+ #./cloud.rb "${PROVIDER}" terminate -e "${ENV}" --type=os3-master
+ ./cloud.rb "${PROVIDER}" terminate -e "${ENV}" --type=os3-minion
}
-[ -f ./cloud.rb ] || (echo 1 > 2 'Cannot find ./cloud.rb' && exit 1)
+[ -f ./cloud.rb ] || (echo 1>&2 'Cannot find ./cloud.rb' && exit 1)
while getopts ':p:m:n:' flag; do
case "${flag}" in
p) PROVIDER="${OPTARG}" ;;
m) MASTERS="${OPTARG}" ;;
n) MINIONS="${OPTARG}" ;;
- *) echo -n 2>&1 "unsupported option $OPTARG\n"
+ *) echo -e 2>&1 "unsupported option $OPTARG\n"
usage
exit 1 ;;
esac
@@ -64,15 +60,15 @@ shift $((OPTIND-1))
case "${1}" in
'create')
- [ -z "${2:-''}" ] && (usage; exit 1)
+ [ -z "${2:-}" ] && (usage; exit 1)
ENV="${2}"
create_cluser ;;
'update')
- [ -z "${2:-''}" ] && (usage; exit 1)
+ [ -z "${2:-}" ] && (usage; exit 1)
ENV="${2}"
update_cluster ;;
'terminate')
- [ -z "${2:-''}" ] && (usage; exit 1)
+ [ -z "${2:-}" ] && (usage; exit 1)
ENV="${2}"
terminate_cluster ;;
'list') ./cloud.rb "${PROVIDER}" list ;;
diff --git a/playbooks/gce/os3-master/terminate.yml b/playbooks/gce/os3-master/terminate.yml
index 8a618ecb8..b6a1b38e4 100644
--- a/playbooks/gce/os3-master/terminate.yml
+++ b/playbooks/gce/os3-master/terminate.yml
@@ -2,17 +2,38 @@
hosts: localhost
gather_facts: no
tasks:
- - name: Evaluate oo_host_group_exp if it's set
- add_host: "name={{ item }} groups=oo_hosts_to_terminate"
- with_items: "{{ oo_host_group_exp | default('') }}"
- when: oo_host_group_exp is defined
+ - debug: var=oo_host_group_exp
-- name: "Terminate instances"
+ - name: Evaluate oo_host_group_exp if it's set
+ add_host: "name={{ item }} groups=oo_hosts_to_terminate"
+ with_items: "{{ oo_host_group_exp | default('') }}"
+ when: oo_host_group_exp is defined
+
+ - debug: msg="{{ groups['oo_hosts_to_terminate'] }}"
+
+
+- name: Terminate instances
hosts: localhost
connection: local
tasks:
- name: Terminate master instances
- local_action:
- module: gce
+ gce:
+ service_account_email: "{{ gce_service_account_email }}"
+ pem_file: "{{ gce_pem_file }}"
+ project_id: "{{ gce_project_id }}"
state: 'absent'
- instance_names: "{{ oo_hosts_to_terminate }}"
+ instance_names: "{{ groups['oo_hosts_to_terminate'] }}"
+ disks: "{{ groups['oo_hosts_to_terminate'] }}"
+ register: gce
+
+ - debug: var=gce
+
+# - name: Remove disks of instances
+# gce_pd:
+# service_account_email: "{{ gce_service_account_email }}"
+# pem_file: "{{ gce_pem_file }}"
+# project_id: "{{ gce_project_id }}"
+# name: "{{ item }}"
+# state: deleted
+# with_items: gce.instance_names
+
diff --git a/playbooks/gce/os3-minion/terminate.yml b/playbooks/gce/os3-minion/terminate.yml
index 8a618ecb8..d31f175e1 100644
--- a/playbooks/gce/os3-minion/terminate.yml
+++ b/playbooks/gce/os3-minion/terminate.yml
@@ -2,17 +2,38 @@
hosts: localhost
gather_facts: no
tasks:
- - name: Evaluate oo_host_group_exp if it's set
- add_host: "name={{ item }} groups=oo_hosts_to_terminate"
- with_items: "{{ oo_host_group_exp | default('') }}"
- when: oo_host_group_exp is defined
+ - debug: var=oo_host_group_exp
-- name: "Terminate instances"
+ - name: Evaluate oo_host_group_exp if it's set
+ add_host: "name={{ item }} groups=oo_hosts_to_terminate"
+ with_items: "{{ oo_host_group_exp | default('') }}"
+ when: oo_host_group_exp is defined
+
+ - debug: msg="{{ groups['oo_hosts_to_terminate'] }}"
+
+
+- name: Terminate instances
hosts: localhost
connection: local
tasks:
- - name: Terminate master instances
- local_action:
- module: gce
+ - name: Terminate minion instances
+ gce:
+ service_account_email: "{{ gce_service_account_email }}"
+ pem_file: "{{ gce_pem_file }}"
+ project_id: "{{ gce_project_id }}"
state: 'absent'
- instance_names: "{{ oo_hosts_to_terminate }}"
+ instance_names: "{{ groups['oo_hosts_to_terminate'] }}"
+ disks: "{{ groups['oo_hosts_to_terminate'] }}"
+ register: gce
+
+ - debug: var=gce
+
+# - name: Remove disks of instances
+# gce_pd:
+# service_account_email: "{{ gce_service_account_email }}"
+# pem_file: "{{ gce_pem_file }}"
+# project_id: "{{ gce_project_id }}"
+# name: "{{ item }}"
+# state: deleted
+# with_items: gce.instance_names
+