This is actually not a workflow supported by Packer, but you can write a small shell script to load the Vagrant box, export OVF, and then run Packer virtualbox-ovf .
Shell script (note that this is tightly bound to version 1.1.0 version)
packer.json
{ "variables": { "home": "{{env `HOME`}}" }, "builders": [{ "type": "virtualbox-ovf", "source_path": "{{user `home`}}/.vagrant.d/boxes/boxcutter-VAGRANTSLASH-ubuntu1504-docker/1.1.0/virtualbox/box.ovf", "ssh_username": "vagrant", "ssh_password": "vagrant", "ssh_wait_timeout": "30s", "shutdown_command": "echo 'packer' | sudo -S shutdown -P now" }], "provisioners": [{ "type": "shell", "inline": ["echo 'my additional provisioning steps'"] }], "post-processors": [{ "type": "vagrant", "keep_input_artifact": true, "output": "box/modified-boxcutter-VAGRANTSLASH-ubuntu1504-docker.box" }] }
This will create a new Vagrant box, packaged in box/modified-boxcutter-VAGRANTSLASH-ubuntu1504-docker.box .
source share