unprovision.yml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. ---
  2. - name: Get kuryr services
  3. delegate_to: "{{ groups.oo_first_master.0 }}"
  4. oc_obj:
  5. kind: endpoints
  6. state: list
  7. all_namespaces: true
  8. register: svc_output
  9. ignore_errors: true
  10. when:
  11. - openshift_use_kuryr | default(false) | bool
  12. - name: Delete kuryr LoadBalancers (cascading)
  13. os_lbaas_deletion:
  14. lbaas_annotation: "{{ item.metadata.annotations }}"
  15. with_items: "{{ svc_output.results.results[0]['items'] if 'results' in svc_output else [] }}"
  16. when:
  17. - openshift_openstack_lbaasv2_provider == "Octavia"
  18. - not (item.metadata.name == "kubernetes")
  19. - openshift_use_kuryr | default(false) | bool
  20. - item.metadata.annotations is defined
  21. - name: Remove trunk subports
  22. os_subports_deletion:
  23. trunk_name: "{{ item }}"
  24. with_items: "{{ groups['OSEv3'] }}"
  25. when:
  26. - openshift_use_kuryr | default(false) | bool
  27. - name: Get kuryr net CRDs
  28. delegate_to: "{{ groups.oo_first_master.0 }}"
  29. oc_obj:
  30. kind: kuryrnets
  31. state: list
  32. all_namespaces: true
  33. register: svc_output
  34. ignore_errors: true
  35. # NOTE(ltomasbo) This only works for nested deployments.
  36. # Moreover the pods should not have FIPs attached
  37. - name: Delete namespaced resources
  38. os_namespace_resources_deletion:
  39. router_id: "{{ item.spec.routerId }}"
  40. subnet_id: "{{ item.spec.subnetId }}"
  41. net_id: "{{ item.spec.netId }}"
  42. sg_id: "{{ item.spec.sgId }}"
  43. with_items: "{{ svc_output.results.results[0]['items'] if 'results' in svc_output else [] }}"
  44. when:
  45. - openshift_use_kuryr|default(false) == true
  46. - openshift_kuryr_subnet_driver|default("default") == 'namespace'
  47. - openshift_kuryr_sg_driver|default("default") == 'namespace'
  48. - item.metadata.annotations is defined
  49. - name: Delete the Stack
  50. ignore_errors: False
  51. os_stack:
  52. name: "{{ openshift_openstack_stack_name }}"
  53. state: "absent"
  54. wait: yes