This removes some of the checks to see if the provision step is running
(to ensure the berkshelf folder makes it to synced folders) and moves
the persistence of the berkshelf location to happen right before the
provision step.
The issue with the old behavior:
vagrant up --no-provision would create a shelf location, save it out to
the machine data file (during ConfigValidate) which was them promptly
erased by Vagrant::Action::CleanMachineFolder during action_boot.
A subsequent vagrant provision would then not find this file, create a
new shelf and the old sync folder would point to an empty directory,
only a reload would resolve the issue.
This removes some of the checks to see if the provision step is running (to ensure the berkshelf folder makes it to synced folders) and moves the persistence of the berkshelf location to happen right before the provision step.
The issue with the old behavior:
vagrant up --no-provision would create a shelf location, save it out to the machine data file (during ConfigValidate) which was them promptly erased by Vagrant::Action::CleanMachineFolder during action_boot.
A subsequent vagrant provision would then not find this file, create a new shelf and the old sync folder would point to an empty directory, only a reload would resolve the issue.