---
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# teardown-onos/tasks/main.yml
#
# Destroys the ONOS containers
# NOTE: ignoring errors so that incomplete builds can be removed

- name: Stop and remove onos-cord containers
  docker_service:
    project_name: "onoscord"
    project_src: "{{ head_onos_cord_dir }}"
    state: absent
    remove_images: local
  ignore_errors: yes

- name: Stop and remove onos-fabric containers
  when: use_fabric
  docker_service:
    project_name: "onosfabric"
    project_src: "{{ head_onos_fabric_dir }}"
    state: absent
    remove_images: local
  ignore_errors: yes

