#cloud-config
users:
  - name: admin
    passwd: $6$7125787751a8d18a$sHwGySomUA1PawiNFWVCKYQN.Ec.Wzz0JtPPL1MvzFrkwmop2dq7.4CYf03A5oemPQ4pOFCCrtCelvFBEle/K.
    sudo:
      - ALL=(ALL) NOPASSWD:ALL
write_files:
  -
    path: /etc/systemd/network/00-static-l1.network
    permissions: 0644
    content: |
        [Match]
        MACAddress=12:34:56:78:90:ab

        [Network]
        Address=192.168.2.2/24
        Gateway=192.168.2.1

  -
    path: /etc/systemd/network/00-static-l2.network
    permissions: 0644
    content: |
        [Match]
        MACAddress=de:ad:be:ef:12:34

        [Network]
        Address=192.168.2.3/24
        Gateway=192.168.2.1

  -
    path: /etc/systemd/system/vfio.service
    permissions: 0644
    content: |
        [Unit]
        Description=VFIO test systemd service

        [Service]
        Type=simple
        ExecStart=/bin/bash /usr/bin/cloud-hypervisor-vfio.sh

        [Install]
        WantedBy=multi-user.target

  -
    path: /usr/bin/cloud-hypervisor-vfio.sh
    permissions: 0755
    content: |
        #!/bin/bash

        mount -t 9p -o trans=virtio cloud_hypervisor /mnt -oversion=9p2000.L,posixacl,cache=loose
        modprobe vfio_iommu_type1 allow_unsafe_interrupts
        modprobe vfio_pci
        bash -c "echo 0000:00:03.0 > /sys/bus/pci/devices/0000\:00\:03.0/driver/unbind"
        bash -c "echo 1af4 1041 > /sys/bus/pci/drivers/vfio-pci/new_id"

        /mnt/cloud-hypervisor --console off --serial tty --kernel /mnt/vmlinux --cmdline "console=ttyS0 reboot=k panic=1 nomodules i8042.noaux i8042.nomux i8042.nopnp i8042.dumbkbd root=/dev/vda2 VFIOTAG" --disk /mnt/clear-29810-cloud.img /mnt/cloudinit.img --cpus 1 --memory size=512M --rng --device /sys/bus/pci/devices/0000:00:03.0/
