Merge pull request #203 from timsutton/vmware-eject-isos

builder/vmware: Remove ISO from ide1 in stepCleanVMX
This commit is contained in:
Mitchell Hashimoto 2013-07-20 16:59:55 -07:00
commit e05e83f9c8
1 changed files with 14 additions and 10 deletions

View File

@ -22,9 +22,6 @@ import (
type stepCleanVMX struct{}
func (s stepCleanVMX) Run(state map[string]interface{}) multistep.StepAction {
if _, ok := state["floppy_path"]; !ok {
return multistep.ActionContinue
}
ui := state["ui"].(packer.Ui)
vmxPath := state["vmx_path"].(string)
@ -35,15 +32,22 @@ func (s stepCleanVMX) Run(state map[string]interface{}) multistep.StepAction {
return multistep.ActionHalt
}
// Delete the floppy0 entries so the floppy is no longer mounted
ui.Say("Unmounting floppy from VMX...")
for k, _ := range vmxData {
if strings.HasPrefix(k, "floppy0.") {
log.Printf("Deleting key: %s", k)
delete(vmxData, k)
if _, ok := state["floppy_path"]; ok {
// Delete the floppy0 entries so the floppy is no longer mounted
ui.Say("Unmounting floppy from VMX...")
for k, _ := range vmxData {
if strings.HasPrefix(k, "floppy0.") {
log.Printf("Deleting key: %s", k)
delete(vmxData, k)
}
}
vmxData["floppy0.present"] = "FALSE"
}
vmxData["floppy0.present"] = "FALSE"
// Change the CD-ROM device back to auto-detect, ejecting the iso
ui.Say("Detatching ISO from CD-ROM device...")
vmxData["ide1:0.fileName"] = "auto detect"
vmxData["ide1:0.deviceType"] = "cdrom-raw"
// Rewrite the VMX
if err := WriteVMX(vmxPath, vmxData); err != nil {