uninstall.yml 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. # This deletes *ALL* Origin, Atomic Enterprise Platform and OpenShift
  2. # Enterprise content installed by ansible. This includes:
  3. #
  4. # configuration
  5. # containers
  6. # example templates and imagestreams
  7. # images
  8. # RPMs
  9. ---
  10. - hosts:
  11. - OSEv3:children
  12. become: yes
  13. tasks:
  14. - name: Detecting Operating System
  15. shell: ls /run/ostree-booted
  16. ignore_errors: yes
  17. failed_when: false
  18. register: ostree_output
  19. # Since we're not calling openshift_facts we'll do this for now
  20. - set_fact:
  21. is_atomic: "{{ ostree_output.rc == 0 }}"
  22. - set_fact:
  23. is_containerized: "{{ is_atomic or containerized | default(false) | bool }}"
  24. - name: Stop services
  25. service: name={{ item }} state=stopped
  26. with_items:
  27. - atomic-enterprise-master
  28. - atomic-enterprise-node
  29. - atomic-openshift-master
  30. - atomic-openshift-master-api
  31. - atomic-openshift-master-controllers
  32. - atomic-openshift-node
  33. - etcd
  34. - haproxy
  35. - openshift-master
  36. - openshift-master-api
  37. - openshift-master-controllers
  38. - openshift-node
  39. - openvswitch
  40. - origin-master
  41. - origin-master-api
  42. - origin-master-controllers
  43. - origin-node
  44. - pcsd
  45. failed_when: false
  46. - name: unmask services
  47. command: systemctl unmask "{{ item }}"
  48. changed_when: False
  49. failed_when: False
  50. with_items:
  51. - etcd
  52. - firewalld
  53. - atomic-openshift-master
  54. - name: Stop additional atomic services
  55. service: name={{ item }} state=stopped
  56. when: is_containerized | bool
  57. with_items:
  58. - etcd_container
  59. failed_when: false
  60. - name: Remove packages
  61. action: "{{ ansible_pkg_mgr }} name={{ item }} state=absent"
  62. when: not is_atomic | bool
  63. with_items:
  64. - atomic-enterprise
  65. - atomic-enterprise-master
  66. - atomic-enterprise-node
  67. - atomic-enterprise-sdn-ovs
  68. - atomic-openshift
  69. - atomic-openshift-clients
  70. - atomic-openshift-master
  71. - atomic-openshift-node
  72. - atomic-openshift-sdn-ovs
  73. - cockpit-bridge
  74. - cockpit-docker
  75. - cockpit-shell
  76. - cockpit-ws
  77. - corosync
  78. - etcd
  79. - haproxy
  80. - kubernetes-client
  81. - openshift
  82. - openshift-master
  83. - openshift-node
  84. - openshift-sdn
  85. - openshift-sdn-ovs
  86. - openvswitch
  87. - origin
  88. - origin-clients
  89. - origin-master
  90. - origin-node
  91. - origin-sdn-ovs
  92. - pacemaker
  93. - pcs
  94. - tuned-profiles-atomic-enterprise-node
  95. - tuned-profiles-atomic-openshift-node
  96. - tuned-profiles-openshift-node
  97. - tuned-profiles-origin-node
  98. - shell: systemctl reset-failed
  99. changed_when: False
  100. - shell: systemctl daemon-reload
  101. changed_when: False
  102. - name: Remove remaining files
  103. file: path={{ item }} state=absent
  104. with_items:
  105. - "~{{ ansible_ssh_user }}/.kube"
  106. - /etc/ansible/facts.d/openshift.fact
  107. - /etc/atomic-enterprise
  108. - /etc/corosync
  109. - /etc/etcd
  110. - /etc/openshift
  111. - /etc/openshift-sdn
  112. - /etc/origin
  113. - /etc/systemd/system/atomic-openshift-master.service
  114. - /etc/systemd/system/atomic-openshift-master-api.service
  115. - /etc/systemd/system/atomic-openshift-master-controllers.service
  116. - /etc/systemd/system/atomic-openshift-node.service
  117. - /etc/systemd/system/atomic-openshift-node-dep.service
  118. - /etc/systemd/system/origin-master.service
  119. - /etc/systemd/system/origin-master-api.service
  120. - /etc/systemd/system/origin-master-controllers.service
  121. - /etc/systemd/system/origin-node.service
  122. - /etc/systemd/system/origin-node-dep.service
  123. - /etc/systemd/system/etcd_container.service
  124. - /etc/systemd/system/openvswitch.service
  125. - /etc/sysconfig/atomic-enterprise-master
  126. - /etc/sysconfig/atomic-enterprise-master-api
  127. - /etc/sysconfig/atomic-enterprise-master-controllers
  128. - /etc/sysconfig/atomic-enterprise-node
  129. - /etc/sysconfig/atomic-openshift-master
  130. - /etc/sysconfig/atomic-openshift-master-api
  131. - /etc/sysconfig/atomic-openshift-master-controllers
  132. - /etc/sysconfig/atomic-openshift-node
  133. - /etc/sysconfig/atomic-openshift-node-dep
  134. - /etc/sysconfig/origin-master
  135. - /etc/sysconfig/origin-master-api
  136. - /etc/sysconfig/origin-master-controllers
  137. - /etc/sysconfig/origin-node
  138. - /etc/sysconfig/origin-node-dep
  139. - /etc/sysconfig/openshift-master
  140. - /etc/sysconfig/openshift-node
  141. - /etc/sysconfig/openshift-node-dep
  142. - /etc/sysconfig/openvswitch
  143. - /etc/sysconfig/origin-master
  144. - /etc/sysconfig/origin-master-api
  145. - /etc/sysconfig/origin-master-controllers
  146. - /etc/sysconfig/origin-node
  147. - /etc/systemd/system/atomic-openshift-node.service.wants
  148. - /root/.kube
  149. - /run/openshift-sdn
  150. - /usr/share/openshift/examples
  151. - /var/lib/atomic-enterprise
  152. - /var/lib/etcd
  153. - /var/lib/openshift
  154. - /var/lib/origin
  155. - /var/lib/pacemaker
  156. - /usr/lib/systemd/system/atomic-openshift-master-api.service
  157. - /usr/lib/systemd/system/atomic-openshift-master-controllers.service
  158. - /usr/lib/systemd/system/origin-master-api.service
  159. - /usr/lib/systemd/system/origin-master-controllers.service
  160. - /usr/local/bin/openshift
  161. - /usr/local/bin/oadm
  162. - /usr/local/bin/oc
  163. - /usr/local/bin/kubectl
  164. - /etc/NetworkManager/dispatcher.d/99-origin-dns.sh
  165. - /etc/dnsmasq.d/origin-dns.conf
  166. - /etc/dnsmasq.d/origin-upstream-dns.conf
  167. # Since we are potentially removing the systemd unit files for separated
  168. # master-api and master-controllers services, so we need to reload the
  169. # systemd configuration manager
  170. - name: Reload systemd manager configuration
  171. command: systemctl daemon-reload
  172. - hosts: nodes
  173. become: yes
  174. tasks:
  175. - name: Remove br0 interface
  176. shell: ovs-vsctl del-br br0
  177. changed_when: False
  178. failed_when: False
  179. - name: Remove linux interfaces
  180. shell: ip link del "{{ item }}"
  181. changed_when: False
  182. failed_when: False
  183. with_items:
  184. - lbr0
  185. - vlinuxbr
  186. - vovsbr
  187. - name: restart docker
  188. service: name=docker state=restarted
  189. - name: restart NetworkManager
  190. service: name=NetworkManager state=restarted
  191. - shell: find /var/lib/origin/openshift.local.volumes -type d -exec umount {} \; 2>/dev/null || true
  192. changed_when: False
  193. - shell: find /var/lib/atomic-enterprise/openshift.local.volumes -type d -exec umount {} \; 2>/dev/null || true
  194. changed_when: False
  195. - shell: find /var/lib/openshift/openshift.local.volumes -type d -exec umount {} \; 2>/dev/null || true
  196. changed_when: False
  197. - shell: docker rm -f "{{ item }}"-master "{{ item }}"-node
  198. changed_when: False
  199. failed_when: False
  200. with_items:
  201. - openshift-enterprise
  202. - atomic-enterprise
  203. - origin
  204. - shell: docker ps -a | grep Exited | egrep "{{ item }}" | awk '{print $1}'
  205. changed_when: False
  206. failed_when: False
  207. register: exited_containers_to_delete
  208. with_items:
  209. - aep3.*/aep
  210. - aep3.*/node
  211. - aep3.*/openvswitch
  212. - openshift3/ose
  213. - openshift3/node
  214. - openshift3/openvswitch
  215. - openshift/origin
  216. - shell: "docker rm {{ item.stdout_lines | join(' ') }}"
  217. changed_when: False
  218. failed_when: False
  219. with_items: "{{ exited_containers_to_delete.results }}"
  220. - shell: docker images | egrep {{ item }} | awk '{ print $3 }'
  221. changed_when: False
  222. failed_when: False
  223. register: images_to_delete
  224. with_items:
  225. - registry\.access\..*redhat\.com/openshift3
  226. - registry\.access\..*redhat\.com/aep3
  227. - registry\.qe\.openshift\.com/.*
  228. - registry\.access\..*redhat\.com/rhel7/etcd
  229. - docker.io/openshift
  230. - shell: "docker rmi -f {{ item.stdout_lines | join(' ') }}"
  231. changed_when: False
  232. failed_when: False
  233. with_items: "{{ images_to_delete.results }}"
  234. - name: Remove sdn drop files
  235. file:
  236. path: /run/openshift-sdn
  237. state: absent