skip credential validation if we are not exporting an image (#10520)

This commit is contained in:
Megan Marsh 2021-01-25 01:53:51 -08:00 committed by GitHub
parent 3242b7ee10
commit 37dcf6183c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View File

@ -328,21 +328,27 @@ func (d *ESX5Driver) Verify() error {
}
func (d *ESX5Driver) VerifyOvfTool(SkipExport, skipValidateCredentials bool) error {
// We don't use ovftool if we aren't exporting a VM; return without error
// if ovftool isn't on path.
if SkipExport {
return nil
}
err := d.base.VerifyOvfTool(SkipExport, skipValidateCredentials)
if err != nil {
return err
}
if skipValidateCredentials {
return nil
}
log.Printf("Verifying that ovftool credentials are valid...")
// check that password is valid by sending a dummy ovftool command
// now, so that we don't fail for a simple mistake after a long
// build
ovftool := GetOVFTool()
if skipValidateCredentials {
return nil
}
if d.Password == "" {
return fmt.Errorf("exporting the vm from esxi with ovftool requires " +
"that you set a value for remote_password")

View File

@ -92,3 +92,13 @@ func TestESX5Driver_CommHost(t *testing.T) {
t.Errorf("bad vm_address: %s", address.(string))
}
}
func TestESX5Driver_VerifyOvfTool(t *testing.T) {
driver := ESX5Driver{}
// should always skip validation if export is skipped, so this should always
// pass even when ovftool is not installed.
err := driver.VerifyOvfTool(true, false)
if err != nil {
t.Fatalf("shouldn't fail ever because should always skip check")
}
}