From a4fb08059042ccc12091080e072a9a1bbc88a05f Mon Sep 17 00:00:00 2001 From: Satoru Takeuchi Date: Tue, 13 Apr 2021 14:38:18 +0000 Subject: [PATCH] ceph: continue to get available devices if failed to get a device info getAvailableDevices() should continue if something wrong happens in a device than returning immediately with error. Closes: https://github.com/rook/rook/issues/7543 Signed-off-by: Satoru Takeuchi --- pkg/daemon/ceph/osd/daemon.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/daemon/ceph/osd/daemon.go b/pkg/daemon/ceph/osd/daemon.go index 96b48aa4f..95f0ed840 100644 --- a/pkg/daemon/ceph/osd/daemon.go +++ b/pkg/daemon/ceph/osd/daemon.go @@ -352,7 +352,8 @@ func getAvailableDevices(context *clusterd.Context, agent *OsdAgent) (*DeviceOsd } else { isAvailable, rejectedReason, err = sys.CheckIfDeviceAvailable(context.Executor, device.RealPath, agent.pvcBacked) if err != nil { - return nil, errors.Wrapf(err, "failed to get device %q info", device.Name) + isAvailable = false + rejectedReason = fmt.Sprintf("failed to check if the device %q is available. %v", device.Name, err) } }