# 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 }}" - name: Remove br0 interface shell: ovs-vsctl del-br br0 changed_when: False failed_when: False - 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 - pcsd - yum: name={{ item }} state=absent when: ansible_pkg_mgr == "yum" and 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 - corosync - etcd - openshift - openshift-master - openshift-node - openshift-sdn - openshift-sdn-ovs - openvswitch - origin - origin-clients - origin-master - origin-node - origin-sdn-ovs - pacemaker - pcs - tuned-profiles-atomic-enterprise-node - tuned-profiles-atomic-openshift-node - tuned-profiles-openshift-node - tuned-profiles-origin-node - user: name=hacluster state=absent - dnf: name={{ item }} state=absent when: ansible_pkg_mgr == "dnf" and 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 - corosync - etcd - openshift - openshift-master - openshift-node - openshift-sdn - openshift-sdn-ovs - openvswitch - origin - origin-clients - origin-master - origin-node - origin-sdn-ovs - pacemaker - pcs - tuned-profiles-atomic-enterprise-node - tuned-profiles-atomic-openshift-node - tuned-profiles-openshift-node - tuned-profiles-origin-node - name: Remove linux interfaces shell: ip link del "{{ item }}" changed_when: False failed_when: False with_items: - lbr0 - vlinuxbr - vovsbr - 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 | egrep "{{ 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 | egrep {{ 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: - "~{{ ansible_ssh_user }}/.kube" - /etc/ansible/facts.d/openshift.fact - /etc/atomic-enterprise - /etc/corosync - /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-master-api - /etc/sysconfig/atomic-openshift-master-controllers - /etc/sysconfig/atomic-openshift-node - /etc/sysconfig/openshift-master - /etc/sysconfig/openshift-node - /etc/sysconfig/origin-master - /etc/sysconfig/origin-master-api - /etc/sysconfig/origin-master-controllers - /etc/sysconfig/origin-node - /etc/systemd/system/atomic-openshift-node.service.wants - /root/.kube - /run/openshift-sdn - /usr/share/openshift/examples - /var/lib/atomic-enterprise - /var/lib/etcd - /var/lib/openshift - /var/lib/origin - /var/lib/pacemaker - /usr/lib/systemd/system/atomic-openshift-master-api.service - /usr/lib/systemd/system/atomic-openshift-master-controllers.service - /usr/lib/systemd/system/origin-master-api.service - /usr/lib/systemd/system/origin-master-controllers.service # Since we are potentially removing the systemd unit files for separated # master-api and master-controllers services, so we need to reload the # systemd configuration manager - name: Reload systemd manager configuration command: systemctl daemon-reload - hosts: nodes sudo: yes tasks: - name: restart docker service: name=docker state=restarted