blob: 0135bc24ab8897cb7d7acfaa95da3632369c69fb [file] [log] [blame]
---
# tasks file for apigee-opdk-setup-bootstrap-rollback
- name: Gracefully Stop apigee components, if possible
ignore_errors: yes
shell: '{{ apigee_all }} stop'
- name: Apigee uninstall
ignore_errors: yes
shell: "{{ apigee_service }} apigee-service uninstall"
when: apigee_service is defined and apigee_service | trim | length > 0
- name: Use no proxy definitions
include_tasks: no_proxy.yml
when: http_proxy is not defined and https_proxy is not defined
- name: Use proxy definitions
include_tasks: with_proxy.yml
when: http_proxy is defined and https_proxy is defined
- 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: Find edge folders to remove on rollback
# find:
# path: '{{ apigee_home }}'
# pattern: 'edge*'
# recurse: no
# file_type: directory
# register: edge_folders
# - name: Find /tmp scripts & logs to remove on rollback
# find:
# path: '{{ opdk_installer_path }}'
# pattern: '*.log'
# file_type: 'file'
# register: tmp_log_files
# - name: Find /tmp scripts & logs to remove on rollback
# find:
# path: '{{ opdk_installer_path }}'
# pattern: 'bootstrap*'
# file_type: 'file'
# register: bootstrap_files
# - name: Remove found apigee & edge folders on rollback
# ignore_errors: yes
# become: yes
# file:
# path: '{{ item.path }}'
# state: absent
# follow: yes
# with_items:
# - '{{ apigee_folders.files }}'
# - '{{ edge_folders.files }}'
# - '{{ tmp_log_files.files }}'
# - '{{ bootstrap_files.files }}'
# - name: Remove nginx
# file:
# path: "{{ item }}"
# state: absent
# with_items:
# - /opt/nginx
# - "{{ apigee_home }}/data"
# - "{{ apigee_home }}/etc"
# - "{{ apigee_home }}/token"
# - "{{ apigee_home }}/var/lock"
# - "{{ apigee_home }}/var/run"
- 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