builder/vmware: more resilient to racing deletes [GH-675]

This commit is contained in:
Mitchell Hashimoto 2013-12-06 19:11:40 -08:00
parent b79506e623
commit 6211cd2028
2 changed files with 8 additions and 2 deletions

View File

@ -18,6 +18,8 @@ BUG FIXES:
so that building AMIs works out of us-east-1 [GH-679]
* builder/vmware: Cleanup of VMX keys works properly so cd-rom won't
get stuck with ISO. [GH-685]
* builder/vmware: File cleanup is more resilient to file delete races
with the operating system. [GH-675]
## 0.4.0 (November 19, 2013)

View File

@ -4,6 +4,7 @@ import (
"fmt"
"github.com/mitchellh/multistep"
"github.com/mitchellh/packer/packer"
"os"
"path/filepath"
)
@ -48,8 +49,11 @@ func (stepCleanFiles) Run(state multistep.StateBag) multistep.StepAction {
if !keep {
ui.Message(fmt.Sprintf("Deleting: %s", path))
if err = dir.Remove(path); err != nil {
state.Put("error", err)
return multistep.ActionHalt
// Only report the error if the file still exists
if _, serr := os.Stat(path); serr == nil || os.IsNotExist(serr) {
state.Put("error", err)
return multistep.ActionHalt
}
}
}
}