summaryrefslogtreecommitdiffstats
path: root/playbooks/adhoc/uninstall.yml
blob: 7d1544be84e81ebe284642b2d769bdbaf4a42d02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# This deletes *ALL* Origin, Atomic Enterprise Platform and OpenShift
# Enterprise content installed by ansible.  This includes:
#
#    configuration
#    containers
#    example templates and imagestreams
#    images
#    RPMs
---
- hosts:
    - OSEv3:children

  sudo: yes

  tasks:
    - name: Detecting Operating System
      shell: ls /run/ostree-booted
      ignore_errors: yes
      failed_when: false
      register: ostree_output

    - set_fact:
        is_atomic: "{{ ostree_output.rc == 0 }}"

    - service: name={{ item }} state=stopped
      with_items:
        - atomic-enterprise-master
        - atomic-enterprise-node
        - atomic-openshift-master
        - atomic-openshift-master-api
        - atomic-openshift-master-controllers
        - atomic-openshift-node
        - etcd
        - openshift-master
        - openshift-master-api
        - openshift-master-controllers
        - openshift-node
        - openvswitch
        - origin-master
        - origin-master-api
        - origin-master-controllers
        - origin-node

    - yum: name={{ item }} state=absent
      when: not is_atomic | bool
      with_items:
        - atomic-enterprise
        - atomic-enterprise-master
        - atomic-enterprise-node
        - atomic-enterprise-sdn-ovs
        - atomic-openshift
        - atomic-openshift-clients
        - atomic-openshift-master
        - atomic-openshift-node
        - atomic-openshift-sdn-ovs
        - etcd
        - openshift
        - openshift-master
        - openshift-node
        - openshift-sdn
        - openshift-sdn-ovs
        - openvswitch
        - origin
        - origin-master
        - origin-node
        - origin-sdn-ovs
        - tuned-profiles-atomic-enterprise-node
        - tuned-profiles-atomic-openshift-node
        - tuned-profiles-openshift-node
        - tuned-profiles-origin-node

    - shell: systemctl reset-failed
      changed_when: False

    - shell: systemctl daemon-reload
      changed_when: False

    - shell: find /var/lib/origin/openshift.local.volumes -type d -exec umount {} \; 2>/dev/null || true
      changed_when: False

    - shell: find /var/lib/atomic-enterprise/openshift.local.volumes -type d -exec umount {} \; 2>/dev/null || true
      changed_when: False

    - shell: find /var/lib/openshift/openshift.local.volumes -type d -exec umount {} \; 2>/dev/null || true
      changed_when: False

    - shell: docker rm -f "{{ item }}"-master "{{ item }}"-node 
      changed_when: False
      failed_when: False
      with_items:
        - openshift-enterprise
        - atomic-enterprise
        - origin

    - shell: docker ps -a | grep Exited | grep "{{ item }}" | awk '{print $1}'
      changed_when: False
      failed_when: False
      register: exited_containers_to_delete
      with_items:
        - aep3/aep
        - openshift3/ose
        - openshift/origin

    - shell: "docker rm {{ item.stdout_lines | join(' ') }}"
      changed_when: False
      failed_when: False
      with_items: "{{ exited_containers_to_delete.results }}"

    - shell: docker images | grep {{ item }} | awk '{ print $3 }'
      changed_when: False
      failed_when: False
      register: images_to_delete
      with_items:
        - registry.access.redhat.com/openshift3
        - registry.access.redhat.com/aep3
        - docker.io/openshift

    - shell:  "docker rmi -f {{ item.stdout_lines | join(' ') }}"
      changed_when: False
      failed_when: False
      with_items: "{{ images_to_delete.results }}"

    - file: path={{ item }} state=absent
      with_items:
        - /etc/ansible/facts.d/openshift.fact
        - /etc/atomic-enterprise
        - /etc/etcd
        - /etc/openshift
        - /etc/openshift-sdn
        - /etc/origin
        - /etc/sysconfig/atomic-enterprise-master
        - /etc/sysconfig/atomic-enterprise-node
        - /etc/sysconfig/atomic-openshift-master
        - /etc/sysconfig/atomic-openshift-node
        - /etc/sysconfig/openshift-master
        - /etc/sysconfig/openshift-node
        - /etc/sysconfig/origin-master
        - /etc/sysconfig/origin-node
        - /root/.kube
        - "~{{ ansible_ssh_user }}/.kube"
        - /usr/share/openshift/examples
        - /var/lib/atomic-enterprise
        - /var/lib/etcd
        - /var/lib/openshift
        - /var/lib/origin