Merge pull request #6166 from hashicorp/parallelsfixes

forcefully stop parallels vm.
This commit is contained in:
Matthew Hooker 2018-04-23 10:08:35 -07:00 committed by GitHub
commit 0e80d98805
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 3 deletions

View File

@ -131,6 +131,7 @@ func NewDriver() (Driver, error) {
latestDriver := 11 latestDriver := 11
version, _ := drivers[strconv.Itoa(latestDriver)].Version() version, _ := drivers[strconv.Itoa(latestDriver)].Version()
majVer, _ := strconv.Atoi(strings.SplitN(version, ".", 2)[0]) majVer, _ := strconv.Atoi(strings.SplitN(version, ".", 2)[0])
log.Printf("Parallels version: %s", version)
if majVer > latestDriver { if majVer > latestDriver {
log.Printf("Your version of Parallels Desktop for Mac is %s, Packer will use driver for version %d.", version, latestDriver) log.Printf("Your version of Parallels Desktop for Mac is %s, Packer will use driver for version %d.", version, latestDriver)
return drivers[strconv.Itoa(latestDriver)], nil return drivers[strconv.Itoa(latestDriver)], nil

View File

@ -222,7 +222,7 @@ func (d *Parallels9Driver) IsRunning(name string) (bool, error) {
// Stop forcibly stops the VM. // Stop forcibly stops the VM.
func (d *Parallels9Driver) Stop(name string) error { func (d *Parallels9Driver) Stop(name string) error {
if err := d.Prlctl("stop", name); err != nil { if err := d.Prlctl("stop", name, "--kill"); err != nil {
return err return err
} }
@ -275,7 +275,6 @@ func (d *Parallels9Driver) Version() (string, error) {
} }
version := matches[1] version := matches[1]
log.Printf("Parallels Desktop version: %s", version)
return version, nil return version, nil
} }

View File

@ -50,7 +50,7 @@ func (s *StepRun) Cleanup(state multistep.StateBag) {
ui := state.Get("ui").(packer.Ui) ui := state.Get("ui").(packer.Ui)
if running, _ := driver.IsRunning(s.vmName); running { if running, _ := driver.IsRunning(s.vmName); running {
if err := driver.Prlctl("stop", s.vmName); err != nil { if err := driver.Stop(s.vmName); err != nil {
ui.Error(fmt.Sprintf("Error stopping VM: %s", err)) ui.Error(fmt.Sprintf("Error stopping VM: %s", err))
} }
} }