-
Notifications
You must be signed in to change notification settings - Fork 38
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
fix(csi/stage): fetch uri via REST #903
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tiagolobocastro
requested review from
Abhinandan-Purkait,
niladrih,
abhilashshetty04 and
dsharma-dc
December 10, 2024 01:04
On a NodeStage call, it's possible that the publish_context URI is out of date. This can happen when the volume has been moved to another node, and the app pod is pinned to a node and the node restarts. See Mayastor Issue 1781 for more details. For this fix, we add a new option to enable rest client for the csi-node. Ideally we'd like to strictly adhere to CSI spec, and avoid doing any mayastor specific operations (effectively being a mostly generic nvme-connect csi-driver but the immutability of the publish_context makes this a bit difficult. Anyways, we add a new flag --enable-rest which is optional, thus still allowing us to run without this layer. This will be enabled by default on the helm chart. We also further check for the Nexus Online/Degraded state, which should help avoid a bunch of nvme connect errors in the kernel. With this, we can also improve a few things down the line, such as ensuring resize before publish, etc... but we should take these 1 at a time and not suddendly do everything via rest... Signed-off-by: Tiago Castro <[email protected]>
tiagolobocastro
force-pushed
the
csi-uri
branch
from
December 10, 2024 02:02
0325902
to
01ec679
Compare
Abhinandan-Purkait
approved these changes
Dec 10, 2024
dsharma-dc
reviewed
Dec 10, 2024
niladrih
approved these changes
Dec 10, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Semantics and choice of syntax looks good to me :)
dsharma-dc
approved these changes
Dec 11, 2024
bors merge |
bors-openebs-mayastor bot
pushed a commit
that referenced
this pull request
Dec 11, 2024
903: fix(csi/stage): fetch uri via REST r=tiagolobocastro a=tiagolobocastro On a NodeStage call, it's possible that the publish_context URI is out of date. This can happen when the volume has been moved to another node, and the app pod is pinned to a node and the node restarts. See Mayastor Issue 1781 for more details. For this fix, we add a new option to enable rest client for the csi-node. Ideally we'd like to strictly adhere to CSI spec, and avoid doing any mayastor specific operations (effectively being a mostly generic nvme-connect csi-driver but the immutability of the publish_context makes this a bit difficult. Anyways, we add a new flag --enable-rest which is optional, thus still allowing us to run without this layer. This will be enabled by default on the helm chart. We also further check for the Nexus Online/Degraded state, which should help avoid a bunch of nvme connect errors in the kernel. With this, we can also improve a few things down the line, such as ensuring resize before publish, etc... but we should take these 1 at a time and not suddendly do everything via rest... Co-authored-by: Tiago Castro <[email protected]>
Build failed: |
tiagolobocastro
force-pushed
the
csi-uri
branch
from
December 11, 2024 12:42
7fb1516
to
c9ed89c
Compare
bors merge |
bors-openebs-mayastor bot
pushed a commit
that referenced
this pull request
Dec 11, 2024
903: fix(csi/stage): fetch uri via REST r=tiagolobocastro a=tiagolobocastro On a NodeStage call, it's possible that the publish_context URI is out of date. This can happen when the volume has been moved to another node, and the app pod is pinned to a node and the node restarts. See Mayastor Issue 1781 for more details. For this fix, we add a new option to enable rest client for the csi-node. Ideally we'd like to strictly adhere to CSI spec, and avoid doing any mayastor specific operations (effectively being a mostly generic nvme-connect csi-driver but the immutability of the publish_context makes this a bit difficult. Anyways, we add a new flag --enable-rest which is optional, thus still allowing us to run without this layer. This will be enabled by default on the helm chart. We also further check for the Nexus Online/Degraded state, which should help avoid a bunch of nvme connect errors in the kernel. With this, we can also improve a few things down the line, such as ensuring resize before publish, etc... but we should take these 1 at a time and not suddendly do everything via rest... Co-authored-by: Tiago Castro <[email protected]>
Build failed: |
Signed-off-by: Tiago Castro <[email protected]>
Signed-off-by: Tiago Castro <[email protected]>
Signed-off-by: Tiago Castro <[email protected]>
Use common script for linting, rather than spread commands... Signed-off-by: Tiago Castro <[email protected]>
tiagolobocastro
force-pushed
the
csi-uri
branch
from
December 11, 2024 13:10
c9ed89c
to
9f21421
Compare
bors merge |
Build succeeded: |
tiagolobocastro
added a commit
that referenced
this pull request
Dec 11, 2024
903: fix(csi/stage): fetch uri via REST r=tiagolobocastro a=tiagolobocastro On a NodeStage call, it's possible that the publish_context URI is out of date. This can happen when the volume has been moved to another node, and the app pod is pinned to a node and the node restarts. See Mayastor Issue 1781 for more details. For this fix, we add a new option to enable rest client for the csi-node. Ideally we'd like to strictly adhere to CSI spec, and avoid doing any mayastor specific operations (effectively being a mostly generic nvme-connect csi-driver but the immutability of the publish_context makes this a bit difficult. Anyways, we add a new flag --enable-rest which is optional, thus still allowing us to run without this layer. This will be enabled by default on the helm chart. We also further check for the Nexus Online/Degraded state, which should help avoid a bunch of nvme connect errors in the kernel. With this, we can also improve a few things down the line, such as ensuring resize before publish, etc... but we should take these 1 at a time and not suddendly do everything via rest... Co-authored-by: Tiago Castro <[email protected]> Signed-off-by: Tiago Castro <[email protected]>
bors-openebs-mayastor bot
pushed a commit
that referenced
this pull request
Dec 11, 2024
901: Cherry pick csi-trace and csi-node uri fixes to develop r=tiagolobocastro a=tiagolobocastro chore(bors): merge pull request #903 903: fix(csi/stage): fetch uri via REST r=tiagolobocastro a=tiagolobocastro On a NodeStage call, it's possible that the publish_context URI is out of date. This can happen when the volume has been moved to another node, and the app pod is pinned to a node and the node restarts. See Mayastor Issue 1781 for more details. For this fix, we add a new option to enable rest client for the csi-node. Ideally we'd like to strictly adhere to CSI spec, and avoid doing any mayastor specific operations (effectively being a mostly generic nvme-connect csi-driver but the immutability of the publish_context makes this a bit difficult. Anyways, we add a new flag --enable-rest which is optional, thus still allowing us to run without this layer. This will be enabled by default on the helm chart. We also further check for the Nexus Online/Degraded state, which should help avoid a bunch of nvme connect errors in the kernel. With this, we can also improve a few things down the line, such as ensuring resize before publish, etc... but we should take these 1 at a time and not suddendly do everything via rest... Co-authored-by: Tiago Castro <[email protected]> Signed-off-by: Tiago Castro <[email protected]> --- fix(csi-driver): trace was mistakenly added as info Signed-off-by: Tiago Castro <[email protected]> Co-authored-by: Tiago Castro <[email protected]> Co-authored-by: mayastor-bors <[email protected]>
Abhinandan-Purkait
pushed a commit
that referenced
this pull request
Dec 12, 2024
903: fix(csi/stage): fetch uri via REST r=tiagolobocastro a=tiagolobocastro On a NodeStage call, it's possible that the publish_context URI is out of date. This can happen when the volume has been moved to another node, and the app pod is pinned to a node and the node restarts. See Mayastor Issue 1781 for more details. For this fix, we add a new option to enable rest client for the csi-node. Ideally we'd like to strictly adhere to CSI spec, and avoid doing any mayastor specific operations (effectively being a mostly generic nvme-connect csi-driver but the immutability of the publish_context makes this a bit difficult. Anyways, we add a new flag --enable-rest which is optional, thus still allowing us to run without this layer. This will be enabled by default on the helm chart. We also further check for the Nexus Online/Degraded state, which should help avoid a bunch of nvme connect errors in the kernel. With this, we can also improve a few things down the line, such as ensuring resize before publish, etc... but we should take these 1 at a time and not suddendly do everything via rest... Co-authored-by: Tiago Castro <[email protected]> Signed-off-by: Tiago Castro <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
On a NodeStage call, it's possible that the publish_context URI is out of date. This can happen when the volume has been moved to another node, and the app pod is pinned to a node and the node restarts.
See Mayastor Issue 1781 for more details.
For this fix, we add a new option to enable rest client for the csi-node. Ideally we'd like to strictly adhere to CSI spec, and avoid doing any mayastor specific operations (effectively being a mostly generic nvme-connect csi-driver but the immutability of the publish_context makes this a bit difficult.
Anyways, we add a new flag --enable-rest which is optional, thus still allowing us to run without this layer.
This will be enabled by default on the helm chart.
We also further check for the Nexus Online/Degraded state, which should help avoid a bunch of nvme connect errors in the kernel.
With this, we can also improve a few things down the line, such as ensuring resize before publish, etc... but we should take these 1 at a time and not suddendly do everything via rest...