Skip to content
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

feat: allow for a range of 2 controller ids when publishing #524

Merged
merged 1 commit into from
May 17, 2023

Conversation

tiagolobocastro
Copy link
Contributor

Previously we had a strict limit of only 1 controller range. This effectively means only 1 initiator can connect to our volume target.
However it seems that when an initiator times out before the target "notices" this we end up getting a new connection whilst the old one is still in place, and thus the new connect call fails!

Why were we so strict? Because the current code in the dataplane can not guarantee that older initiators connected with allow_any set to true will be disconnected when we set a new allowed list!
So is it safe to bump this? We believe so, because currently CSI sets allowed list of 1 for all published volumes, so when updating this list the previous one should be booted out!

todo: update dataplane to boot out any connected host!

Previously we had a strict limit of only 1 controller range. This effectively means only 1
initiator can connect to our volume target.
However it seems that when an initiator times out before the target "notices" this we end
up getting a new connection whilst the old one is still in place, and thus the new connect call
fails!

Why were we so strict? Because the current code in the dataplane can not guarantee that older
initiators connected with allow_any set to true will be disconnected when we set a new allowed
list!
So is it safe to bump this? We believe so, because currently CSI sets allowed list of 1 for
all published volumes, so when updating this list the previous one should be booted out!

todo: update dataplane to boot out any connected host!

Signed-off-by: Tiago Castro <[email protected]>
@tiagolobocastro
Copy link
Contributor Author

bors merge

@bors
Copy link

bors bot commented May 17, 2023

Build succeeded!

The publicly hosted instance of bors-ng is deprecated and will go away soon.

If you want to self-host your own instance, instructions are here.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors bot merged commit 49784b8 into release/2.2 May 17, 2023
@bors bors bot deleted the ctrl-range branch May 17, 2023 10:32
bors bot pushed a commit that referenced this pull request May 17, 2023
525: Cherry-pick #524 r=tiagolobocastro a=tiagolobocastro

feat: allow for a range of 2 controller ids when publishing

Previously we had a strict limit of only 1 controller range. This effectively means only 1 initiator can connect to our volume target.
However it seems that when an initiator times out before the target "notices" this we end up getting a new connection whilst the old one is still in place, and thus the new connect call fails!

Why were we so strict? Because the current code in the dataplane can not guarantee that older initiators connected with allow_any set to true will be disconnected when we set a new allowed list!
So is it safe to bump this? We believe so, because currently CSI sets allowed list of 1 for all published volumes, so when updating this list the previous one should be booted out!

todo: update dataplane to boot out any connected host!

Co-authored-by: Tiago Castro <[email protected]>
bors bot pushed a commit that referenced this pull request May 17, 2023
525: Cherry-pick #524 r=tiagolobocastro a=tiagolobocastro

feat: allow for a range of 2 controller ids when publishing

Previously we had a strict limit of only 1 controller range. This effectively means only 1 initiator can connect to our volume target.
However it seems that when an initiator times out before the target "notices" this we end up getting a new connection whilst the old one is still in place, and thus the new connect call fails!

Why were we so strict? Because the current code in the dataplane can not guarantee that older initiators connected with allow_any set to true will be disconnected when we set a new allowed list!
So is it safe to bump this? We believe so, because currently CSI sets allowed list of 1 for all published volumes, so when updating this list the previous one should be booted out!

todo: update dataplane to boot out any connected host!

Co-authored-by: Tiago Castro <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants