-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to use with segregated Data networks? #50
Comments
The hpenodeinfo object captures all of the networks on the host. These networks are then passed to the CSP implementation. That CSP will then report the discovery IP to use when the volume is published. The CSP will only report a discovery IP that matches the given networks. So it "should" be discoverable. Are you saying you have a network topology where the networks match but the discovery IP is not discoverable? The Nimble CSP is currently closed source for now. We are working on open sourcing that over time. |
Ah ok, maybe that mechanism isn't working as expected then - here's some output from my system:
From the hpe-csi-driver running on
|
That looks like a bug. Could you look at the nimble-csp logs too see what the publish action is doing? The log message should start with
Thanks. |
Also the |
From
|
Could you just attach the full log please? |
Thanks. So it looks like you truly don't have any matching networks. Your array has the following data networks:
And your host provides the following networks:
Because there is no match, the CSP will just pick a random discovery IP from the array. It picked 10.20.0.120 which is not reachable. |
I think the driver is making some assumptions about my network topology - as |
Agreed. We can make that configurable. For now, the driver is following our best practices. Without a matching network, it can't make a good decision as to which discovery IP to report. |
I've updated the nimble-csp to report all discovery IPs. The csi side code needs to be updated to choose the ideal one that will result in successful discovery. Re-assign to @shivamerla to take that up. |
As a user I would like the option to be able to select the discovery IP manually. Even if two or more IP addresses are reachable by the host, there still may be a reason that I would prefer one endpoint over another. |
Makes sense. We can probably handle that via a config map setting passed to the csi driver. |
We'd also like to see this feature added. It would also help workaround this issue we're seeing: hpe-storage/common-host-libs#77 |
@Logibox @knackaron currently we have made a fix to choose a discovery IP which is reachable by host. For Nimble targets, irrespective of any discovery IP used, target returns all mapped targets from all portals during send-targets discovery. This list is used later to perform iSCSI login. Does this solve your original issue? We are wondering what is the added advantage of allowing user to specify a particular discovery IP as long as we pick the one which is reachable. Are are other use-cases we are missing? Also, storage array's like 3PAR, have different discovery IP for each portal and each one should be used. Allowing user to configure this for each array in either storage-class or secret adds significant burden on cluster admin. |
@shivamerla The changes in hpe-storage/common-host-libs#85 should address all of my use cases. |
Thanks @knackaron closing this issue. |
At the moment I can't input any information about the network topology and the driver will select a iSCSI discovery address which is not accessible to the nodes. The API in https://github.com/hpe-storage/container-storage-provider seems to have no provision for this workflow (also I can't find the source for the csp service, is it under a different license?)
The text was updated successfully, but these errors were encountered: