server: add rbd storageid and clientProfile name to the GetStorageClientInfo rpc #3189
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ClientProfileMapping creation requires blockpoolIDs (local and remote) and clientProfile (local and remote). We are sending the remote blockpool IDs via the getBlockPoolsInfo rpc call. For 4.18 provider mode RDR, we made an assumption as the clientProfile name was a hash of the storageClaim name. This doesn't hold true for 4.19 onwards. We need to move away from such an assumption and fetch the remote ClientProfile from the other side. Hence, adding the clientProfile name to the GetStorageClientsInfo rpc.
There is another hack that we use to construct the rbdStorageID from the mirroring token and remote radosnamesape to build the replicationID. We should stop relying on this hack a well and send the rbdstorageID in the GetStorageClientsInfo rpc.
Fixes a part of https://issues.redhat.com/browse/DFBUGS-2307 , more PRs will follow for the mirroring controller and the provider server (update the ClientProfileMapping and remove the hack for peer rbd storageID)