- hosts: controller
  tasks:
    - name: create local.sh
      become: yes
      blockinfile:
        path: /opt/stack/devstack/local.sh
        create: True
        mode: 0777
        block: |
          # Delete all existing images
          source /opt/stack/devstack/openrc admin
          for img in $(openstack image list -f value -c ID); do
              openstack image show $img
              echo Deleting $img
              openstack image delete $img
          done

          # Inflate our cirros image to 1G raw
          arch=$(uname -m)
          image=$(ls /opt/stack/devstack/files/cirros*${arch}-disk.img | tail -n1)
          rawimage="/opt/stack/devstack/files/cirros-raw.img"
          qemu-img convert -O raw "$image" "$rawimage"
          truncate --size $((950 << 20)) "$rawimage"

          # Upload it to glance as the sole image available so tempest
          # config will find it. Wait ten seconds after doing this
          # before the restart below.
          openstack image create --container-format bare --disk-format raw --public "cirros-raw" --file $(readlink -f "$rawimage")
          sleep 10
          openstack image list
          openstack image show cirros-raw

          # This policy is default to admin only in glance. Override
          # here to allow everyone and every type of image (private
          # or public) to copy. This way we will be able to test copy
          # image via non-admin as well as on private images.
          echo $'"copy_image": ""' >> /etc/glance/policy.yaml
          sudo systemctl restart 'devstack@g-*'

