# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements; and to You under the Apache License, Version 2.0.
---
# Remove kafka and zookeeper containers.

- name: remove old zookeeper
  docker_container:
    name: zookeeper
    image: "{{ docker_registry }}{{ docker.image.prefix }}/zookeeper:{{ docker.image.tag }}"
    keep_volumes: False
    state: absent
  ignore_errors: True

- name: remove zookeeper
  docker_container:
    name: zookeeper{{ groups['zookeepers'].index(inventory_hostname) }}
    image: "{{ docker_registry }}{{ docker.image.prefix }}/zookeeper:{{ docker.image.tag }}"
    keep_volumes: False
    state: absent
  ignore_errors: True
