--- # Ensures all the operator artifacts are created and waits for CSV to succeed. # # The following variables must exist: # # removed_operators: a list of below dictionaries # - sub_nspc subscription namespace # sub_name subscription name # csv_name CSV name to check for # pre_cleanup pre-cleanup tasks, a list rtypes to remove (ALL) # - apiv # kind # add_cleanup additional CRDs to remove post-uninstall, a list # # This role must then be applied as: # # - include_role: # name: remove-operators # vars: # - role: "{{ item }}" # loop: "{{ removed_operators }}" # - name: Remove any of the resources found k8s: kubeconfig: tmp/kubeconfig-ocp4 validate_certs: no api_version: "{{ item.apiv }}" kind: "{{ item.kind }}" delete_all: true state: absent loop: "{{ role.pre_cleanup }}" register: removed - name: Remove the subscription k8s: kubeconfig: tmp/kubeconfig-ocp4 validate_certs: no api_version: operators.coreos.com/v1 kind: subscription name: "{{ role.sub_name }}" namespace: "{{ role.sub_nspc }}" state: absent - name: Do post-cleanup k8s: kubeconfig: tmp/kubeconfig-ocp4 validate_certs: no api_version: apiextensions.k8s.io/v1 kind: customresourcedefinition name: "{{ item }}" state: absent loop: "{{ role.add_cleanup }}" ...