blob: 9360611682ea68e74da4adfe8d0ab81aa7939372 [file] [log] [blame] [edit]
---
# tasks file for apigee-opdk-setup-bootstrap-rollback
- name: Gracefully Stop apigee components, if possible
ignore_errors: yes
shell: '{{ apigee_all }} stop'
when: apigee_all is defined and apigee_all | trim | length > 0
- name: Apigee uninstall
ignore_errors: yes
shell: "/opt/apigee/apigee-service/bin/apigee-service apigee-service uninstall"
when: apigee_service is defined and apigee_service | trim | length > 0
- name: Remove apigee, edge, baas and qpid packages
become: yes
ignore_errors: yes
yum:
name: '{{ item }}'
state: absent
with_items: "{{ apigee_packages}}"
environment:
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Set target bootstrap script name for 4.16.01
set_fact:
bootstrap_script: '{{ opdk_installer_path }}/bootstrap.sh'
when: opdk_version | version_compare('4.16.01', '==')
- name: Set target bootstrap script name for version > 4.16.01
set_fact:
bootstrap_script: '{{ opdk_installer_path }}/bootstrap_{{ opdk_version }}.sh'
when: opdk_version | version_compare('4.16.01', '>')
- name: Find files to remove
find:
path: '{{ item.dir }}'
pattern: '{{ item.pattern }}'
file_type: file
recurse: yes
with_items:
- { dir: "/opt/nginx/", pattern: "conf.d" }
- { dir: "/etc/yum/vars/", pattern: "apigee*" }
- { dir: "/tmp/", pattern: "edge" }
register: remove
- name: Clear all artifacts from YUM repo
become: yes
shell: 'yum clean all'
- name: Remove files
file:
path: '{{ item.1.path }}'
state: absent
follow: yes
with_subelements:
- "{{ remove.results }}"
- files
- block:
- name: Find apigee & edge folders to remove on rollback
find:
path: '{{ item.dir }}'
pattern: '{{ item.pattern }}'
recurse: yes
file_type: '{{ item.file_type }}'
register: apigee_folders
with_items:
- { dir: "{{ apigee_home }}", pattern: "apigee*", file_type: "directory" }
- { dir: "{{ apigee_home }}", pattern: "edge*", file_type: "directory" }
- { dir: "{{ apigee_home }}", pattern: "edge*", file_type: "directory" }
- { dir: "{{ opdk_installer_path }}", pattern: "*.log", file_type: "file" }
- { dir: "{{ opdk_installer_path }}", pattern: "bootstrap*", file_type: "file" }
- { dir: "/opt", pattern: "nginx", file_type: "directory" }
- { dir: "{{ apigee_home }}", pattern: "data", file_type: "directory" }
- { dir: "{{ apigee_home }}", pattern: "etc", file_type: "directory" }
- { dir: "{{ apigee_home }}", pattern: "token", file_type: "directory" }
- { dir: "{{ apigee_home }}", pattern: "var/lock", file_type: "directory" }
- { dir: "{{ apigee_home }}", pattern: "var/run", file_type: "directory" }
- name: Remove files
file:
path: '{{ item.1.path }}'
state: absent
follow: yes
with_subelements:
- "{{ apigee_folders.results }}"
- files
- name: Determine current user
shell: whoami
register: whoami
- name: Determine if safe to kill user owned process
set_fact:
kill_user: '{{ whoami.stdout != opdk_user_name }}'
- name: Release any apigee user owned processes
ignore_errors: yes
become: yes
shell: 'pkill -u {{ opdk_user_name }}'
when: kill_user
async: 45
poll: 0
when: remove_apigee is defined and remove_apigee
- name: Remove logs
file:
path: '{{ apigee_home }}/var/log/'
state: absent
when: clear_logs is defined and clear_logs | bool == True
- name: Remove on rollback
shell: "rm -rf {{ item }}"
with_items: "{{ remove_on_rollback }}"
when: remove_on_rollback is defined