-
Notifications
You must be signed in to change notification settings - Fork 599
nfs: implement ControllerModifyVolume to change NFS-server hostname #5829
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
base: devel
Are you sure you want to change the base?
Conversation
d006863 to
1a11979
Compare
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.
@nixpanic is this tested code? i dont see ControllerServiceCapability_RPC_MODIFY_VOLUME capability is exposed for nFS
Still trying to add some e2e tests, the csi-provisioner and csi-resizer sidecars have just gained the ability to pass credentials to the |
1a11979 to
ca55fc1
Compare
Pull request has been modified.
|
/test ci/centos/mini-e2e-helm/k8s-1.34/nfs |
|
/test ci/centos/mini-e2e/k8s-1.34/nfs |
|
/test ci/centos/mini-e2e/k8s-1.34 |
Verified 😜 that it fails with this: |
ca55fc1 to
fe5d071
Compare
|
/test ci/centos/mini-e2e/k8s-1.34 |
2 similar comments
|
/test ci/centos/mini-e2e/k8s-1.34 |
|
/test ci/centos/mini-e2e/k8s-1.34 |
|
/test ci/centos/mini-e2e/k8s-1.34/cephfs |
0215938 to
fc84b94
Compare
|
/test ci/centos/mini-e2e/k8s-1.34/cephfs |
fc84b94 to
df7f5dd
Compare
|
/test ci/centos/mini-e2e/k8s-1.34/cephfs |
df7f5dd to
0f12bea
Compare
|
/test ci/centos/mini-e2e/k8s-1.34/cephfs |
|
Still trying to use the old nfs-server: |
|
It seems I missed handling of |
0f12bea to
dc81558
Compare
|
/test ci/centos/mini-e2e/k8s-1.34/cephfs |
1 similar comment
|
/test ci/centos/mini-e2e/k8s-1.34/cephfs |
dc81558 to
8899dcc
Compare
ea99e05 to
29196c5
Compare
Pull request has been modified.
|
It seems there has been an update to the Updated the RBAC for the provisioner, please have a look again. |
|
/test ci/centos/mini-e2e/k8s-1.34 |
|
strange, it looks like these StorageClass keys are not accepted, but those were added to the external-provisioner 🤔
The logs show Not sure that it is the canary image mentioned in |
Signed-off-by: Niels de Vos <[email protected]>
All functions use a fail-early-continue-on-success flow, NodeGetVolumeStats was not following this. Signed-off-by: Niels de Vos <[email protected]>
Signed-off-by: Niels de Vos <[email protected]>
Signed-off-by: Niels de Vos <[email protected]>
29196c5 to
cd729f3
Compare
|
/test ci/centos/mini-e2e/k8s-1.34 |
Added the canary image in commit "Testing: use canary images for csi-resizer/provisioner", not only in |
The new hostname of the NFS-server is stored in a journal entry for the volume. The new NFS-server will only be used the next time the NFS Volume is mounted on a worker node. It is not possible to update the VolumeContext of a Volume, so the old hostname of the NFS=server will be stored there forever. Closes: ceph#5420 Signed-off-by: Niels de Vos <[email protected]>
Signed-off-by: Niels de Vos <[email protected]>
Signed-off-by: Niels de Vos <[email protected]>
Signed-off-by: Niels de Vos <[email protected]>
Only the canary version suppors the VolumeAttributesClass with secrets in the ControllerModifyVolume gRPC. Signed-off-by: Niels de Vos <[email protected]>
Signed-off-by: Niels de Vos <[email protected]>
The NFS node-plugin does not support staging, it only uses publishing. For VolumeAttributeClass / ControllerModifyVolume the mutable parameters are stored in the Ceph backend. This means that during volume publishing the node-plugin needs to get the updated parameters from the Ceph cluster (hence the publish secret requirement). /tmp/csi has been added to the node-plugin Pod so that the temporary credentials file can be written. Signed-off-by: Niels de Vos <[email protected]>
Signed-off-by: Niels de Vos <[email protected]>
Only Kubernetes 1.34 and newer support VolumeAttributeClass functionality (GA). Ceph-CSI also depends on certain versions of the Kubernetes CSI external-provisioner and external-resizer. See-also: kubernetes-csi/docs#631 Signed-off-by: Niels de Vos <[email protected]>
cd729f3 to
a38a8cc
Compare
|
/test ci/centos/mini-e2e/k8s-1.34 |
The new hostname of the NFS-server is stored in a journal entry for the
volume. The new NFS-server will only be used the next time the NFS
Volume is mounted on a worker node.
It is not possible to update the VolumeContext of a Volume, so the old
hostname of the NFS-server will be stored there forever.
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!)