Improve error handling
This commit is contained in:
@@ -273,14 +273,16 @@ func (d *iscsiDriver) mountVolume(v *iscsiVolume) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// Login to iSCSI Target
|
||||
err = iSCSI.LoginTarget(v.TargetIQN, v.Host)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !iSCSI.TargetLoggedIn(v.TargetIQN) {
|
||||
// Login to iSCSI Target
|
||||
err = iSCSI.LoginTarget(v.TargetIQN, v.Host)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Wait for Physical Volume to appear
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
// Wait for Physical Volume to appear
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
}
|
||||
|
||||
out := ""
|
||||
errMsg := ""
|
||||
@@ -376,7 +378,7 @@ func (d *iscsiDriver) unmountVolume(v *iscsiVolume) error {
|
||||
}
|
||||
if len(errMsg) > 0 {
|
||||
err := fmt.Errorf("Unable to Unmount Volume: %s", errMsg)
|
||||
return err
|
||||
logrus.Info(err)
|
||||
}
|
||||
|
||||
// Logout from iSCSI Target
|
||||
|
||||
@@ -105,6 +105,20 @@ func (plugin *ISCSIPlugin) ListSessions() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (plugin *ISCSIPlugin) TargetLoggedIn(target string) bool {
|
||||
|
||||
out, errMsg := util.ExecuteCommand("iscsiadm",
|
||||
"-m",
|
||||
"session")
|
||||
|
||||
_ = errMsg
|
||||
|
||||
if strings.Contains(out, target) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// Login: iscsiadm -m node --login (login on all discovered nodes.)
|
||||
// iscsiadm -m node -T <Complete Target Name> -l -p <Group IP>:3260
|
||||
func (plugin *ISCSIPlugin) LoginTarget(target string, group string) error {
|
||||
|
||||
Reference in New Issue
Block a user