---
# ============LICENSE_START=======================================================
#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
# ================================================================================
# 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.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================

- hosts: localhost
  connection: local
  become: yes
  gather_facts: true

  roles:
    - role: prepare-libvirt
    - role: create-libvirt-networks
    - role: create-libvirt-vms

  tasks:
    - name: Get libvirt networks
      command: virsh net-list --all
      register: libvirt_networks
      changed_when: false

    - name: List libvirt networks
      debug:
        msg: "{{ libvirt_networks.stdout_lines }}"

    - name: Get libvirt vms
      command: virsh list --all
      register: libvirt_vms
      changed_when: false

    - name: List libvirt vms
      debug:
        msg: "{{ libvirt_vms.stdout_lines }}"

    - name: Get list of nodes from vbmc
      command: vbmc list
      register: vbmc_vms
      changed_when: false
      environment:
        PATH: "{{ engine_venv }}/bin"

    - name: List vbmc nodes
      debug:
        msg: "{{ vbmc_vms.stdout_lines }}"

# vim: set ts=2 sw=2 expandtab:
