VOL-3721 rw-core should send reconcile message to the related adapter only
The devices with the restarted adapter type are only considered for the reconciliation.
Change-Id: Ifc8a5d95356a0dc7c37426edb8174744178be411
diff --git a/rw_core/core/device/manager.go b/rw_core/core/device/manager.go
index 9220fe5..f92f2e5 100755
--- a/rw_core/core/device/manager.go
+++ b/rw_core/core/device/manager.go
@@ -679,7 +679,16 @@
responses := make([]utils.Response, 0)
for rootDeviceID := range dMgr.rootDevices {
- if rootDevice, _ := dMgr.getDeviceFromModel(ctx, rootDeviceID); rootDevice != nil {
+ dAgent := dMgr.getDeviceAgent(ctx, rootDeviceID)
+ if dAgent == nil {
+ continue
+ }
+ logger.Debugw(ctx, "checking-adapter-type", log.Fields{"agentType": dAgent.deviceType, "adapterType": adapter.Type})
+ if dAgent.deviceType == adapter.Type {
+ rootDevice, _ := dAgent.getDeviceReadOnly(ctx)
+ if rootDevice == nil {
+ continue
+ }
isDeviceOwnedByService, err := dMgr.adapterProxy.IsDeviceOwnedByService(ctx, rootDeviceID, adapter.Type, adapter.CurrentReplica)
if err != nil {
logger.Warnw(ctx, "is-device-owned-by-service", log.Fields{"error": err, "root-device-id": rootDeviceID, "adapterType": adapter.Type, "replica-number": adapter.CurrentReplica})