[#65] Avoid panic on missing remoteDirect opts
Running "airshipctl bootstrap remotedirect" without remoteDirect options in the bootstrap config causes a panic. This change adds checks to avoid the aforementioned panic. Change-Id: I72d360ede628750acb5a6b01c8ebea7819adf043 Signed-off-by: Drew Walters <andrew.walters@att.com>
This commit is contained in:
parent
8cf0247086
commit
306d709e12
@ -77,6 +77,11 @@ func getRemoteDirectConfig(settings *environment.AirshipCTLSettings) (*config.Re
|
|||||||
return nil, "", err
|
return nil, "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
remoteConfig := bootstrapSettings.RemoteDirect
|
||||||
|
if remoteConfig == nil {
|
||||||
|
return nil, "", config.ErrMissingConfig{What: "RemoteDirect options not defined in bootstrap config"}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO (dukov) replace with the appropriate function once it's available
|
// TODO (dukov) replace with the appropriate function once it's available
|
||||||
// in document module
|
// in document module
|
||||||
docBundle, err := document.NewBundle(fs.MakeRealFS(), manifest.TargetPath, "")
|
docBundle, err := document.NewBundle(fs.MakeRealFS(), manifest.TargetPath, "")
|
||||||
@ -106,7 +111,7 @@ func getRemoteDirectConfig(settings *environment.AirshipCTLSettings) (*config.Re
|
|||||||
return nil, "", err
|
return nil, "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return bootstrapSettings.RemoteDirect, remoteURL, nil
|
return remoteConfig, remoteURL, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Top level function to execute remote direct based on remote type
|
// Top level function to execute remote direct based on remote type
|
||||||
|
@ -71,3 +71,16 @@ func TestRedfishRemoteDirectWithEmptyIsoPath(t *testing.T) {
|
|||||||
_, ok := err.(redfish.ErrRedfishMissingConfig)
|
_, ok := err.(redfish.ErrRedfishMissingConfig)
|
||||||
assert.True(t, ok)
|
assert.True(t, ok)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBootstrapRemoteDirectMissingConfigOpts(t *testing.T) {
|
||||||
|
s := initSettings(
|
||||||
|
t,
|
||||||
|
nil,
|
||||||
|
"base",
|
||||||
|
)
|
||||||
|
|
||||||
|
err := DoRemoteDirect(s)
|
||||||
|
|
||||||
|
_, ok := err.(config.ErrMissingConfig)
|
||||||
|
assert.True(t, ok)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user