Merge pull request #74306 from jsafrane/fix-iscsi-deployment

Fix scanning of failed targets
pull/564/head
Kubernetes Prow Robot 2019-02-21 22:17:46 -08:00 committed by GitHub
commit ad1e021dcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 7 deletions

View File

@ -21,10 +21,11 @@ package util
import ( import (
"errors" "errors"
"fmt" "fmt"
"k8s.io/klog"
"path" "path"
"strconv" "strconv"
"strings" "strings"
"k8s.io/klog"
) )
// FindMultipathDeviceForDevice given a device name like /dev/sdx, find the devicemapper parent // FindMultipathDeviceForDevice given a device name like /dev/sdx, find the devicemapper parent
@ -135,7 +136,8 @@ func (handler *deviceHandler) GetISCSIPortalHostMapForTarget(targetIqn string) (
targetNamePath := sessionPath + "/iscsi_session/" + sessionName + "/targetname" targetNamePath := sessionPath + "/iscsi_session/" + sessionName + "/targetname"
targetName, err := io.ReadFile(targetNamePath) targetName, err := io.ReadFile(targetNamePath)
if err != nil { if err != nil {
return nil, err klog.Infof("Failed to process session %s, assuming this session is unavailable: %s", sessionName, err)
continue
} }
// Ignore hosts that don't matchthe target we were looking for. // Ignore hosts that don't matchthe target we were looking for.
@ -147,7 +149,8 @@ func (handler *deviceHandler) GetISCSIPortalHostMapForTarget(targetIqn string) (
// for the iSCSI connection. // for the iSCSI connection.
dirs2, err := io.ReadDir(sessionPath) dirs2, err := io.ReadDir(sessionPath)
if err != nil { if err != nil {
return nil, err klog.Infof("Failed to process session %s, assuming this session is unavailable: %s", sessionName, err)
continue
} }
for _, dir2 := range dirs2 { for _, dir2 := range dirs2 {
// Skip over files that aren't the connection // Skip over files that aren't the connection
@ -164,25 +167,29 @@ func (handler *deviceHandler) GetISCSIPortalHostMapForTarget(targetIqn string) (
addrPath := connectionPath + "/address" addrPath := connectionPath + "/address"
addr, err := io.ReadFile(addrPath) addr, err := io.ReadFile(addrPath)
if err != nil { if err != nil {
return nil, err klog.Infof("Failed to process connection %s, assuming this connection is unavailable: %s", dirName, err)
continue
} }
portPath := connectionPath + "/port" portPath := connectionPath + "/port"
port, err := io.ReadFile(portPath) port, err := io.ReadFile(portPath)
if err != nil { if err != nil {
return nil, err klog.Infof("Failed to process connection %s, assuming this connection is unavailable: %s", dirName, err)
continue
} }
persistentAddrPath := connectionPath + "/persistent_address" persistentAddrPath := connectionPath + "/persistent_address"
persistentAddr, err := io.ReadFile(persistentAddrPath) persistentAddr, err := io.ReadFile(persistentAddrPath)
if err != nil { if err != nil {
return nil, err klog.Infof("Failed to process connection %s, assuming this connection is unavailable: %s", dirName, err)
continue
} }
persistentPortPath := connectionPath + "/persistent_port" persistentPortPath := connectionPath + "/persistent_port"
persistentPort, err := io.ReadFile(persistentPortPath) persistentPort, err := io.ReadFile(persistentPortPath)
if err != nil { if err != nil {
return nil, err klog.Infof("Failed to process connection %s, assuming this connection is unavailable: %s", dirName, err)
continue
} }
// Add entries to the map for both the current and persistent portals // Add entries to the map for both the current and persistent portals