Improve error handling

This commit is contained in:
2022-08-04 21:52:07 +02:00
parent 1a58d00221
commit 80aa03d85e
2 changed files with 24 additions and 8 deletions
+3 -1
View File
@@ -273,6 +273,7 @@ func (d *iscsiDriver) mountVolume(v *iscsiVolume) error {
return err
}
if !iSCSI.TargetLoggedIn(v.TargetIQN) {
// Login to iSCSI Target
err = iSCSI.LoginTarget(v.TargetIQN, v.Host)
if err != nil {
@@ -281,6 +282,7 @@ func (d *iscsiDriver) mountVolume(v *iscsiVolume) error {
// 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
+14
View File
@@ -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 {