hashicorp / packer-plugin-vsphere

Packer plugin for VMware vSphere Builder
https://www.packer.io/docs/builders/vsphere
Mozilla Public License 2.0
93 stars 91 forks source link

fix: don't assume driver isn't nil in StepConnect #437

Closed lbajolet-hashicorp closed 3 weeks ago

lbajolet-hashicorp commented 1 month ago

When attempting to cleanup the existing connections to the VSphere cluster, we get the driver from the state shared between all steps in order to run the commands necessary for that.

This can however fail, if the step couldn't succeed for any reason.

Then, if the connection fails and the driver isn't set in the state, when running Cleanup on the connect step, we get the driver from state and cast it to a driver.Driver. This will make the plugin crash, and so we change how we proceed here, by getting the driver with a GetOk, exiting if it failed to be fetched from state, then casting the result if it was created in state.

This should prevent crashes like those.

Closes: #436