Guillaume Coré
2019-01-15 b16ec4de707cb4e477bb5687f88cf831be62d394
OCP 4: detect cluster dirs and run destroy cluster as user
1 files added
1 files modified
53 ■■■■■ changed files
ansible/configs/ocp4-coreos-deployer/destroy_cluster.yml 28 ●●●●● patch | view | raw | blame | history
ansible/configs/ocp4-coreos-deployer/destroy_env.yml 25 ●●●●● patch | view | raw | blame | history
ansible/configs/ocp4-coreos-deployer/destroy_cluster.yml
New file
@@ -0,0 +1,28 @@
---
- name: Detect username
  set_fact:
    username: "{{ cluster_dir | regex_replace('/home/([^/]+).*', '\\1') }}"
- debug:
    msg: "Deleting {{ cluster_dir }} using user {{ username }}"
- name: destroy terraform resources (openshift-install destroy cluster)
  command: openshift-install destroy cluster --dir={{ cluster_dir }}
  become: yes
  become_user: "{{ username }}"
  register: destroyr
- name: pack an archive of everything
  archive:
    path: "{{ cluster_dir }}"
    dest: /tmp/{{ guid }}_{{ cluster_dir | basename }}.tar.gz
  become: yes
  become_user: "{{ username }}"
- name: get archive of environment target dir
  fetch:
    flat: yes
    src: /tmp/{{ guid }}_{{ cluster_dir | basename }}.tar.gz
    dest: "{{ hostvars.localhost.output_dir }}/{{ env_type }}_{{ guid }}_{{ guid }}_{{ cluster_dir | basename }}.tar.gz"
  become: yes
  become_user: "{{ username }}"
ansible/configs/ocp4-coreos-deployer/destroy_env.yml
@@ -169,8 +169,29 @@
              flat: yes
              src: /tmp/cluster-{{ guid }}.tar.gz
              dest: "{{ hostvars.localhost.output_dir }}/{{ env_type }}_{{ guid }}_cluster-{{ guid }}.tar.gz"
        - set_fact:
            oktodelete: yes
          - set_fact:
              oktodelete: yes
        - when: not statclusterdir.stat.exists
          block:
            - name: Detect cluster dir using the terraform file
              find:
                file_type: file
                paths: /home
                pattern: terraform.tfstate
                recurse: yes
                depth: 5
              become: yes
              register: findr
            - name: Try to destroy all clusters
              loop: "{{ findr.files }}"
              include_tasks: destroy_cluster.yml
              vars:
                cluster_dir: "{{ item.path | dirname }}"
            - set_fact:
                oktodelete: yes
- name: Delete ocp4 provisioner stack
  hosts: localhost