|
@@ -1,483 +0,0 @@
|
|
|
-# This deletes *ALL* Origin and OpenShift Container Platform content installed by
|
|
|
-# ansible. This includes:
|
|
|
-#
|
|
|
-# configuration
|
|
|
-# containers
|
|
|
-# example templates and imagestreams
|
|
|
-# images
|
|
|
-# RPMs
|
|
|
----
|
|
|
-# Stop services on all hosts prior to removing files.
|
|
|
-- hosts: nodes
|
|
|
- become: yes
|
|
|
- tasks:
|
|
|
- - name: Remove dnsmasq dispatcher
|
|
|
- file:
|
|
|
- path: "{{ item }}"
|
|
|
- state: absent
|
|
|
- with_items:
|
|
|
- - /etc/dnsmasq.d/origin-dns.conf
|
|
|
- - /etc/dnsmasq.d/origin-upstream-dns.conf
|
|
|
- - /etc/dnsmasq.d/openshift-ansible.conf
|
|
|
- - /etc/NetworkManager/dispatcher.d/99-origin-dns.sh
|
|
|
- - service:
|
|
|
- name: NetworkManager
|
|
|
- state: restarted
|
|
|
- - name: Stop services
|
|
|
- service: name={{ item }} state=stopped
|
|
|
- with_items:
|
|
|
- - atomic-openshift-node
|
|
|
- - openshift-node
|
|
|
- - origin-node
|
|
|
- failed_when: false
|
|
|
- - name: Stop OVS service
|
|
|
- service: name=openvswitch state=stopped
|
|
|
- failed_when: false
|
|
|
- when: openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
-- hosts: etcd
|
|
|
- become: yes
|
|
|
- tasks:
|
|
|
- - name: Stop services
|
|
|
- service: name={{ item }} state=stopped
|
|
|
- with_items:
|
|
|
- - etcd
|
|
|
- failed_when: false
|
|
|
-
|
|
|
-- hosts: lb
|
|
|
- become: yes
|
|
|
- tasks:
|
|
|
- - name: Stop services
|
|
|
- service: name={{ item }} state=stopped
|
|
|
- with_items:
|
|
|
- - haproxy
|
|
|
- failed_when: false
|
|
|
-
|
|
|
-- hosts: nodes
|
|
|
- become: yes
|
|
|
- vars:
|
|
|
- node_dirs:
|
|
|
- - "/etc/origin"
|
|
|
- - "/var/lib/origin"
|
|
|
- tasks:
|
|
|
- - name: unmask services
|
|
|
- command: systemctl unmask "{{ item }}"
|
|
|
- changed_when: False
|
|
|
- failed_when: False
|
|
|
- with_items:
|
|
|
- - firewalld
|
|
|
-
|
|
|
- - when: openshift_remove_all | default(true) | bool
|
|
|
- block:
|
|
|
-
|
|
|
- - name: Remove packages
|
|
|
- package:
|
|
|
- name: "{{ pkg_list | join(',') }} "
|
|
|
- state: absent
|
|
|
- vars:
|
|
|
- pkg_list:
|
|
|
- - atomic-openshift
|
|
|
- - atomic-openshift-clients
|
|
|
- - atomic-openshift-excluder
|
|
|
- - atomic-openshift-docker-excluder
|
|
|
- - atomic-openshift-node
|
|
|
- - atomic-openshift-sdn-ovs
|
|
|
- - atomic-openshift-hyperkube
|
|
|
- - cockpit-bridge
|
|
|
- - cockpit-docker
|
|
|
- - cockpit-system
|
|
|
- - cockpit-ws
|
|
|
- - kubernetes-client
|
|
|
- - openshift
|
|
|
- - openshift-node
|
|
|
- - openshift-sdn
|
|
|
- - openshift-sdn-ovs
|
|
|
- - origin
|
|
|
- - origin-excluder
|
|
|
- - origin-docker-excluder
|
|
|
- - origin-clients
|
|
|
- - origin-node
|
|
|
- - origin-sdn-ovs
|
|
|
- - origin-hyperkube
|
|
|
- - tuned-profiles-atomic-openshift-node
|
|
|
- - tuned-profiles-origin-node
|
|
|
- register: result
|
|
|
- until: result is succeeded
|
|
|
-
|
|
|
- - name: Remove OVS package
|
|
|
- package:
|
|
|
- name: openvswitch
|
|
|
- state: absent
|
|
|
- register: result
|
|
|
- until: result is succeeded
|
|
|
- when: openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
- - name: Remove flannel package
|
|
|
- package:
|
|
|
- name: flannel
|
|
|
- state: absent
|
|
|
- when: openshift_use_flannel | default(false) | bool
|
|
|
- register: result
|
|
|
- until: result is succeeded
|
|
|
-
|
|
|
- - shell: systemctl reset-failed
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - shell: systemctl daemon-reload
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - name: Remove br0 interface
|
|
|
- shell: ovs-vsctl del-br br0
|
|
|
- changed_when: False
|
|
|
- failed_when: False
|
|
|
- when: openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
- - name: Remove linux interfaces
|
|
|
- shell: ip link del "{{ item }}"
|
|
|
- changed_when: False
|
|
|
- failed_when: False
|
|
|
- with_items:
|
|
|
- - lbr0
|
|
|
- - vlinuxbr
|
|
|
- - vovsbr
|
|
|
- when: openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
- - name: Remove virtual devices
|
|
|
- command: nmcli delete device "{{ item }}"
|
|
|
- failed_when: False
|
|
|
- with_items:
|
|
|
- - tun0
|
|
|
- when: openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
- - shell: find /var/lib/origin/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
|
|
|
- - 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:
|
|
|
- - openshift3/ose
|
|
|
- - openshift3/node
|
|
|
- - openshift3/openvswitch
|
|
|
- - openshift/origin
|
|
|
-
|
|
|
- - shell: "docker rm {{ item.stdout_lines | join(' ') }}"
|
|
|
- changed_when: False
|
|
|
- failed_when: False
|
|
|
- with_items: "{{ exited_containers_to_delete.results }}"
|
|
|
-
|
|
|
- - name: Remove k8s_ containters
|
|
|
- shell: docker ps -a -q -f name=k8s_ | xargs docker rm -f
|
|
|
- failed_when: False
|
|
|
-
|
|
|
- - block:
|
|
|
- - block:
|
|
|
- - 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\.qe\.openshift\.com/.*
|
|
|
- - registry\.access\..*redhat\.com/rhel7/etcd
|
|
|
- - docker.io/openshift
|
|
|
-
|
|
|
- - shell: "docker rmi -f {{ item.stdout_lines | join(' ') }}"
|
|
|
- changed_when: False
|
|
|
- failed_when: False
|
|
|
- with_items: "{{ images_to_delete.results }}"
|
|
|
- when: openshift_uninstall_images | default(True) | bool
|
|
|
-
|
|
|
- - name: remove sdn drop files
|
|
|
- file:
|
|
|
- path: /run/openshift-sdn
|
|
|
- state: absent
|
|
|
-
|
|
|
- - name: Remove files owned by RPMs
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/sysconfig/openshift-node
|
|
|
- - /run/openshift-sdn
|
|
|
-
|
|
|
- - name: Remove files owned by OVS RPM
|
|
|
- file: path=/etc/sysconfig/openvswitch state=absent
|
|
|
- when: openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
- when: openshift_remove_all | default(True) | bool
|
|
|
-
|
|
|
- - find: path={{ item }} file_type=file
|
|
|
- register: files
|
|
|
- with_items:
|
|
|
- - "{{ node_dirs }}"
|
|
|
-
|
|
|
- - find: path={{ item }} file_type=directory
|
|
|
- register: directories
|
|
|
- with_items:
|
|
|
- - "{{ node_dirs }}"
|
|
|
-
|
|
|
- - file: path={{ item.1.path }} state=absent
|
|
|
- with_subelements:
|
|
|
- - "{{ files.results | default([]) }}"
|
|
|
- - files
|
|
|
-
|
|
|
- - file: path={{ item.1.path }} state=absent
|
|
|
- with_subelements:
|
|
|
- - "{{ directories.results | default([]) }}"
|
|
|
- - files
|
|
|
-
|
|
|
- - shell: systemctl daemon-reload
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - name: Remove remaining files
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/ansible/facts.d/openshift.fact
|
|
|
- - /etc/openshift
|
|
|
- - /etc/openshift-sdn
|
|
|
- - /etc/pki/ca-trust/source/anchors/openshift-ca.crt
|
|
|
- - /etc/sysconfig/atomic-openshift-node
|
|
|
- - /etc/sysconfig/atomic-openshift-node-dep
|
|
|
- - /etc/sysconfig/openshift-node-dep
|
|
|
- - /etc/sysconfig/origin-node
|
|
|
- - /etc/sysconfig/origin-node
|
|
|
- - /etc/sysconfig/origin-node-dep
|
|
|
- - /etc/systemd/system/atomic-openshift-node-dep.service
|
|
|
- - /etc/systemd/system/atomic-openshift-node.service
|
|
|
- - /etc/systemd/system/atomic-openshift-node.service.wants
|
|
|
- - /etc/systemd/system/origin-node-dep.service
|
|
|
- - /etc/systemd/system/origin-node.service
|
|
|
- - /etc/systemd/system/origin-node.service.wants
|
|
|
-
|
|
|
- - name: Remove remaining OVS files
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/systemd/system/openvswitch.service
|
|
|
- when: openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
- - name: Rebuild ca-trust
|
|
|
- command: update-ca-trust
|
|
|
-
|
|
|
-- hosts: masters
|
|
|
- become: yes
|
|
|
- vars:
|
|
|
- master_dirs:
|
|
|
- - "/etc/origin"
|
|
|
- - "/var/lib/origin"
|
|
|
- tasks:
|
|
|
- - name: unmask services
|
|
|
- command: systemctl unmask "{{ item }}"
|
|
|
- changed_when: False
|
|
|
- failed_when: False
|
|
|
- with_items:
|
|
|
- - firewalld
|
|
|
- - atomic-openshift-master
|
|
|
-
|
|
|
- - name: Remove packages
|
|
|
- package:
|
|
|
- name: "{{ pkg_list | join(',') }}"
|
|
|
- state: absent
|
|
|
- when:
|
|
|
- - openshift_remove_all | default(True) | bool
|
|
|
- vars:
|
|
|
- pkg_list:
|
|
|
- - atomic-openshift
|
|
|
- - atomic-openshift-clients
|
|
|
- - atomic-openshift-excluder
|
|
|
- - atomic-openshift-docker-excluder
|
|
|
- - atomic-openshift-master
|
|
|
- - cockpit-bridge
|
|
|
- - cockpit-docker
|
|
|
- - cockpit-system
|
|
|
- - cockpit-ws
|
|
|
- - corosync
|
|
|
- - kubernetes-client
|
|
|
- - openshift
|
|
|
- - openshift-master
|
|
|
- - origin
|
|
|
- - origin-clients
|
|
|
- - origin-excluder
|
|
|
- - origin-docker-excluder
|
|
|
- - origin-master
|
|
|
- register: result
|
|
|
- until: result is succeeded
|
|
|
-
|
|
|
- - shell: systemctl reset-failed
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - shell: systemctl daemon-reload
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - name: Remove files owned by RPMs
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/sysconfig/atomic-openshift-master
|
|
|
- when: openshift_remove_all | default(True) | bool
|
|
|
-
|
|
|
- - name: Remove files owned by OVS RPM
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/sysconfig/openvswitch
|
|
|
- when:
|
|
|
- - openshift_remove_all | default(True) | bool
|
|
|
- - openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
- - find: path={{ item }} file_type=file
|
|
|
- register: files
|
|
|
- with_items:
|
|
|
- - "{{ master_dirs }}"
|
|
|
-
|
|
|
- - find: path={{ item }} file_type=directory
|
|
|
- register: directories
|
|
|
- with_items:
|
|
|
- - "{{ master_dirs }}"
|
|
|
-
|
|
|
- - file: path={{ item.1.path }} state=absent
|
|
|
- with_subelements:
|
|
|
- - "{{ files.results | default([]) }}"
|
|
|
- - files
|
|
|
-
|
|
|
- - file: path={{ item.1.path }} state=absent
|
|
|
- with_subelements:
|
|
|
- - "{{ directories.results | default([]) }}"
|
|
|
- - files
|
|
|
-
|
|
|
- - set_fact:
|
|
|
- client_users: "{{ [ansible_ssh_user, 'root'] | unique }}"
|
|
|
-
|
|
|
- - name: Remove client kubeconfigs
|
|
|
- file:
|
|
|
- path: "~{{ item }}/.kube"
|
|
|
- state: absent
|
|
|
- with_items:
|
|
|
- - "{{ client_users }}"
|
|
|
-
|
|
|
- - name: Remove remaining files
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/ansible/facts.d/openshift.fact
|
|
|
- - /etc/corosync
|
|
|
- - /usr/share/openshift/examples
|
|
|
- - /usr/local/bin/openshift
|
|
|
- - /usr/local/bin/oadm
|
|
|
- - /usr/local/bin/oc
|
|
|
- - /usr/local/bin/kubectl
|
|
|
- - /etc/flannel
|
|
|
-
|
|
|
- - name: Remove remaining OVS files
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/systemd/system/openvswitch.service
|
|
|
- when: openshift_use_openshift_sdn | default(True) | bool
|
|
|
-
|
|
|
-- hosts: etcd
|
|
|
- become: yes
|
|
|
- vars:
|
|
|
- etcd_dirs:
|
|
|
- - "/etc/etcd"
|
|
|
- - "/var/lib/etcd"
|
|
|
- tasks:
|
|
|
- - name: unmask services
|
|
|
- command: systemctl unmask "{{ item }}"
|
|
|
- changed_when: False
|
|
|
- failed_when: False
|
|
|
- with_items:
|
|
|
- - etcd
|
|
|
- - etcd3
|
|
|
- - firewalld
|
|
|
-
|
|
|
- - name: Remove packages
|
|
|
- package:
|
|
|
- name: "{{ pkg_list | join(',') }}"
|
|
|
- state: absent
|
|
|
- when:
|
|
|
- - openshift_remove_all | default(True) | bool
|
|
|
- vars:
|
|
|
- pkg_list:
|
|
|
- - etcd
|
|
|
- - etcd3
|
|
|
- register: result
|
|
|
- until: result is succeeded
|
|
|
-
|
|
|
- - shell: systemctl reset-failed
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - shell: systemctl daemon-reload
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - find: path={{ item }} file_type=file
|
|
|
- register: files
|
|
|
- with_items:
|
|
|
- - "{{ etcd_dirs }}"
|
|
|
-
|
|
|
- - find: path={{ item }} file_type=directory
|
|
|
- register: directories
|
|
|
- with_items:
|
|
|
- - "{{ etcd_dirs }}"
|
|
|
-
|
|
|
- - file: path={{ item.1.path }} state=absent
|
|
|
- with_subelements:
|
|
|
- - "{{ files.results | default([]) }}"
|
|
|
- - files
|
|
|
-
|
|
|
- - file: path={{ item.1.path }} state=absent
|
|
|
- with_subelements:
|
|
|
- - "{{ directories.results | default([]) }}"
|
|
|
- - files
|
|
|
-
|
|
|
- # Intenationally using rm command over file module because if someone had mounted a filesystem
|
|
|
- # at /var/lib/etcd then the contents was not removed correctly
|
|
|
- - name: Remove etcd data
|
|
|
- shell: rm -rf /var/lib/etcd/*
|
|
|
- args:
|
|
|
- warn: no
|
|
|
- failed_when: false
|
|
|
-
|
|
|
- - name: Remove remaining files
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/ansible/facts.d/openshift.fact
|
|
|
- - /etc/systemd/system/etcd_container.service
|
|
|
- - /etc/profile.d/etcdctl.sh
|
|
|
-
|
|
|
-- hosts: lb
|
|
|
- become: yes
|
|
|
- tasks:
|
|
|
- - name: unmask services
|
|
|
- command: systemctl unmask "{{ item }}"
|
|
|
- changed_when: False
|
|
|
- failed_when: False
|
|
|
- with_items:
|
|
|
- - firewalld
|
|
|
-
|
|
|
- - name: Remove packages
|
|
|
- package:
|
|
|
- name: haproxy
|
|
|
- state: absent
|
|
|
- when:
|
|
|
- - openshift_remove_all | default(True) | bool
|
|
|
- register: result
|
|
|
- until: result is succeeded
|
|
|
-
|
|
|
- - shell: systemctl reset-failed
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - shell: systemctl daemon-reload
|
|
|
- changed_when: False
|
|
|
-
|
|
|
- - name: Remove remaining files
|
|
|
- file: path={{ item }} state=absent
|
|
|
- with_items:
|
|
|
- - /etc/ansible/facts.d/openshift.fact
|
|
|
- - /var/lib/haproxy/stats
|
|
|
- # Here we remove only limits.conf rather than directory, as users may put their files.
|
|
|
- # - /etc/systemd/system/haproxy.service.d
|
|
|
- - /etc/systemd/system/haproxy.service.d/limits.conf
|
|
|
- - /etc/systemd/system/haproxy.service
|