hello
as for your question, Vagrant is just running VBoxManage under the hood in that case.
not sure if will be able to shrink the disk, bad things can happen if you shrink the disk without adjusting filesystem/partition
have you looked into packer? that tool allow you create VM.
I think the way to work there is create a VM and use cloud init and let that to work in a Openstack way.
one of the task you would be able to do is when you resize the disk on deploy, cloudinit should be able to take care of disk/filesystem resize.
packer does have an openstack provider, but is more to take an existing VM and create a new one.
Seems you are after packer + virtualbox, create a VM, and then use the disk.vdi/vmdk in OpenStack.
alvaro