add_kvm:
  kmod.present:
    - name: kvm_intel

install_host_pkgs:
  pkg.installed:
    - pkgs:
      - qemu-headless
      - net-tools
      - speedtest-cli
      - btrfs-progs
      - libvirt
      - bridge-utils

/virtual/qemu:
  file.directory:
    - user: root
    - group: root
    - mode: 755
    - makedirs: true

/etc/libvirt/qemu:
  mount.mounted:
    - device: /virtual/qemu
    - fstype: none
    - opts: bind
    - dump: 0
    - pass_num: 3
    - persist: True
    - mkmnt: True

/virtual/storage:
  file.directory:
    - user: root
    - group: root
    - mode: 755
    - makedirs: true

/etc/libvirt/storage:
  mount.mounted:
    - device: /virtual/storage
    - fstype: none
    - opts: bind
    - dump: 0
    - pass_num: 3
    - persist: True
    - mkmnt: True

/virtual/images:
  file.directory:
    - user: root
    - group: root
    - mode: 755
    - makedirs: true

/var/lib/libvirt/images:
  mount.mounted:
    - device: /virtual/images
    - fstype: none
    - opts: bind
    - dump: 0
    - pass_num: 3
    - persist: True
    - mkmnt: True

libvirtd:
  service.running:
    - enable: true

/etc/systemd/network/br1.network:
  file.managed:
    - makedirs: true
    - source: salt://roles/maintain/host/br1.network
    - user: root
    - group: root
    - mode: 644

/etc/systemd/network/uplink.network:
  file.managed:
    - makedirs: true
    - source: salt://roles/maintain/host/uplink.network
    - user: root
    - group: root
    - mode: 644
    - template: jinja

/etc/systemd/network/br1.netdev:
  file.managed:
    - makedirs: true
    - source: salt://roles/maintain/host/br1.netdev
    - user: root
    - group: root
    - mode: 644
    - template: jinja

#systemd-networkd:
#  service.running:
#    - watch:
#      - file: /etc/systemd/network/br1.netdev
#      - file: /etc/systemd/network/br1.network
#      - file: /etc/systemd/network/uplink.network