nvmeof: add auto listeners feature into NVMe-oF CSI driver#5891
Conversation
99962d5 to
2d1d4eb
Compare
add ListListeners grpc query to fetch the current listener list for specific subsystem. added because auto-listener feature creates automatically listeners, and the listeners list is needed for the node-server. Signed-off-by: gadi-didi <gadi.didi@ibm.com>
2d1d4eb to
d243f10
Compare
d243f10 to
d5a6b11
Compare
d5a6b11 to
c2cc772
Compare
c2cc772 to
400f2cc
Compare
add the option "networkMask" in SC. This
option is intoduced to replace the listener list entry
in the SC. with this param the admin does need to know
what are GWs IPs. just needs to provide the network mask
of the deployment. one way to get it, by run
`oc get network.config/cluster -o \
jsonpath='{.status.clusterNetwork[*].cidr}'`
then, assign the value in networkMask field,
and that's it.
Signed-off-by: gadi-didi <gadi.didi@ibm.com>
add the networkMask param into create subsystem call. Signed-off-by: gadi-didi <gadi.didi@ibm.com>
400f2cc to
ec191b0
Compare
|
@Mergifyio queue |
❌ The pull request has been removed from the queue
|
Merge Queue Status🚫 The pull request has left the queue (rule: This pull request spent 3 hours 48 minutes 46 seconds in the queue, including 3 hours 48 minutes 31 seconds running CI. Required conditions to merge
ReasonThe merge conditions cannot be satisfied due to failing checks Failing checks: HintYou may have to fix your CI before adding the pull request to the queue again. |
|
@Mergifyio queue |
❌ The pull request has been removed from the queue
|
Merge Queue Status🟠 Waiting for queue conditions Required conditions to enter a queue
|
|
@Mergifyio requeue |
✅ The queue state of this pull request has been cleaned. It can be re-embarked automatically |
Describe what this PR does
Add new option in nvmeof storageClass "networkMask" . This property can replace the exists property "listeners".
Instead of searching and adding every GW IP and host name in SC (every redeploy), the admin just needs once edit the StorageClass file, by one searching of the subnet mask of the deployment, and add it to the SC , and that's it!
the admin can search the subnet mask by run:
oc get network.config/cluster -o jsonpath='{.status.clusterNetwork[*].cidr}'the Auto listener feature was merged into nvmeof GW:
ceph/ceph-nvmeof#1381
It means, the nvmeof creates the listeners automictically, and no need to provide the IPs in the StorageClass. It searches them by itself.
e.g.
prev SC:
current:
Is there anything that requires special attention
list listener) because the auto listeners feature is not supported in old Ceph (and nvmeof) versions. I could not test it in ODF env.nvmeofGatewayAddress. This feature will not solve the need to re-edit this field (every nvmeof GW redeployment) - The next nvmeof phase ( using Ceph REST API instead of calling directly to inner nvmeof GW in Ceph cluster will solve this issue)Future concerns
Checklist:
guidelines in the developer
guide.
Request
notes
updated with breaking and/or notable changes for the next major release.
Show available bot commands
These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:
/retest ci/centos/<job-name>: retest the<job-name>after unrelatedfailure (please report the failure too!)