-
Notifications
You must be signed in to change notification settings - Fork 11
Fix object path trimming in Bucket Object Path mount support #288
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
Conversation
|
s3fs I1226 11:47:45.703645 1 server.go:168] GRPC response:
I1226 11:47:46.157230 1 server.go:163] GRPC call: /csi.v1.Controller/CreateVolume
I1226 11:47:46.157338 1 controllerserver.go:59] CSIControllerServer-CreateVolume: Request: name:"pvc-0c5c105b-4a69-4637-91f3-eab4a55de77e" capacity_range:{required_bytes:268435456} volume_capabilities:{mount:{mount_flags:"multipart_size=62" mount_flags:"max_dirty_data=51200" mount_flags:"parallel_count=8" mount_flags:"max_stat_cache_size=100000" mount_flags:"retries=5" mount_flags:"kernel_cache"} access_mode:{mode:SINGLE_NODE_WRITER}} parameters:{key:"client" value:"awss3"} parameters:{key:"cosEndpoint" value:"https://s3.au-syd.cloud-object-storage.appdomain.cloud"} parameters:{key:"csi.storage.k8s.io/pv/name" value:"pvc-0c5c105b-4a69-4637-91f3-eab4a55de77e"} parameters:{key:"csi.storage.k8s.io/pvc/name" value:"objectpath-s3fs-gfinal-pvc"} parameters:{key:"csi.storage.k8s.io/pvc/namespace" value:"default"} parameters:{key:"locationConstraint" value:"au-syd-standard"} parameters:{key:"mounter" value:"s3fs"} accessibility_requirements:{requisite:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-1"}} requisite:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-2"}} requisite:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-3"}} preferred:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-2"}} preferred:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-3"}} preferred:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-1"}}}
I1226 11:47:46.157569 1 controllerserver.go:69] Got a request to create volume: pvc-0c5c105b-4a69-4637-91f3-eab4a55de77e
I1226 11:47:46.157597 1 controllerserver.go:76] Volume capability: mount:{mount_flags:"multipart_size=62" mount_flags:"max_dirty_data=51200" mount_flags:"parallel_count=8" mount_flags:"max_stat_cache_size=100000" mount_flags:"retries=5" mount_flags:"kernel_cache"} access_mode:{mode:SINGLE_NODE_WRITER}
I1226 11:47:46.157624 1 controllerserver.go:86] CreateVolume Parameters:
map[client:awss3 cosEndpoint:https://s3.au-syd.cloud-object-storage.appdomain.cloud csi.storage.k8s.io/pv/name:pvc-0c5c105b-4a69-4637-91f3-eab4a55de77e csi.storage.k8s.io/pvc/name:objectpath-s3fs-gfinal-pvc csi.storage.k8s.io/pvc/namespace:default locationConstraint:au-syd-standard mounter:s3fs]
I1226 11:47:46.157645 1 controllerserver.go:89] req.GetSecrets() length: 0
I1226 11:47:46.157657 1 controllerserver.go:93] Did not find the secret that matches pvc name. Fetching custom secret from PVC annotations
I1226 11:47:46.177603 1 controllerserver.go:111] pvc annotations:
map[cos.csi.driver/secret:objectpath-s3fs-final-secret cos.csi.driver/secret-namespace:default kubectl.kubernetes.io/last-applied-configuration:{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{"cos.csi.driver/secret":"objectpath-s3fs-final-secret","cos.csi.driver/secret-namespace":"default"},"name":"objectpath-s3fs-gfinal-pvc","namespace":"default"},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"256Mi"}},"storageClassName":"ibm-object-storage-standard-s3fs"}}
volume.beta.kubernetes.io/storage-provisioner:cos.s3.csi.ibm.io volume.kubernetes.io/storage-provisioner:cos.s3.csi.ibm.io]
I1226 11:47:46.187014 1 controllerserver.go:493] -parseCustomSecret-
I1226 11:47:46.187045 1 controllerserver.go:133] custom secret parameters parsed successfully, length of custom secret: 11
I1226 11:47:46.187060 1 controllerserver.go:136] volume_id:"pvc-0c5c105b-4a69-4637-91f3-eab4a55de77e" objectPath found in secret: "/data"
I1226 11:47:46.187068 1 controllerserver.go:449] - getObjectStorageCredentialsFromSecret-
I1226 11:47:46.187084 1 controllerserver.go:201] cosEndpoint and locationConstraint getting paased to ObjectStorageSession: https://s3.au-syd.cloud-object-storage.appdomain.cloud, au-syd-standard
I1226 11:47:46.187186 1 controllerserver.go:207] Bucket name provided: psa-addon-object-path-bucket-4
I1226 11:47:46.187212 1 controllerserver.go:208] Check if the provided bucket already exists: psa-addon-object-path-bucket-4
I1226 11:47:46.798916 1 controllerserver.go:268] create volume: pvc-0c5c105b-4a69-4637-91f3-eab4a55de77e
I1226 11:47:46.798949 1 server.go:168] GRPC response: volume:{capacity_bytes:268435456 volume_id:"pvc-0c5c105b-4a69-4637-91f3-eab4a55de77e" volume_context:{key:"bucketName" value:"psa-addon-object-path-bucket-4"} volume_context:{key:"client" value:"awss3"} volume_context:{key:"cosEndpoint" value:"https://s3.au-syd.cloud-object-storage.appdomain.cloud"} volume_context:{key:"csi.storage.k8s.io/pv/name" value:"pvc-0c5c105b-4a69-4637-91f3-eab4a55de77e"} volume_context:{key:"csi.storage.k8s.io/pvc/name" value:"objectpath-s3fs-gfinal-pvc"} volume_context:{key:"csi.storage.k8s.io/pvc/namespace" value:"default"} volume_context:{key:"locationConstraint" value:"au-syd-standard"} volume_context:{key:"mounter" value:"s3fs"} volume_context:{key:"objectPath" value:"/data"} volume_context:{key:"userProvidedBucket" value:"true"}} |
mssachan
left a comment
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.
Added comments. PTAL.
Also remove e2e test results.txt file attached in the PR.
|
rclone - I1229 10:35:01.184820 1 server.go:168] GRPC response:
I1229 10:35:05.015198 1 server.go:163] GRPC call: /csi.v1.Controller/CreateVolume
I1229 10:35:05.015276 1 controllerserver.go:59] CSIControllerServer-CreateVolume: Request: name:"pvc-ce088145-7ada-4e65-b895-3cd5c6571eb8" capacity_range:{required_bytes:268435456} volume_capabilities:{mount:{mount_flags:"acl=private" mount_flags:"bucket_acl=private" mount_flags:"upload_cutoff=256Mi" mount_flags:"chunk_size=64Mi" mount_flags:"max_upload_parts=64" mount_flags:"upload_concurrency=20" mount_flags:"copy_cutoff=1Gi" mount_flags:"memory_pool_flush_time=30s" mount_flags:"disable_checksum=true"} access_mode:{mode:SINGLE_NODE_WRITER}} parameters:{key:"client" value:"awss3"} parameters:{key:"cosEndpoint" value:"https://s3.au-syd.cloud-object-storage.appdomain.cloud"} parameters:{key:"csi.storage.k8s.io/pv/name" value:"pvc-ce088145-7ada-4e65-b895-3cd5c6571eb8"} parameters:{key:"csi.storage.k8s.io/pvc/name" value:"objectpath-rclone-gafinal-pvc1"} parameters:{key:"csi.storage.k8s.io/pvc/namespace" value:"default"} parameters:{key:"locationConstraint" value:"au-syd-standard"} parameters:{key:"mounter" value:"rclone"} accessibility_requirements:{requisite:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-1"}} requisite:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-2"}} requisite:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-3"}} preferred:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-3"}} preferred:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-1"}} preferred:{segments:{key:"topology.kubernetes.io/region" value:"au-syd"} segments:{key:"topology.kubernetes.io/zone" value:"au-syd-2"}}}
I1229 10:35:05.015527 1 controllerserver.go:69] Got a request to create volume: pvc-ce088145-7ada-4e65-b895-3cd5c6571eb8
I1229 10:35:05.015539 1 controllerserver.go:76] Volume capability: mount:{mount_flags:"acl=private" mount_flags:"bucket_acl=private" mount_flags:"upload_cutoff=256Mi" mount_flags:"chunk_size=64Mi" mount_flags:"max_upload_parts=64" mount_flags:"upload_concurrency=20" mount_flags:"copy_cutoff=1Gi" mount_flags:"memory_pool_flush_time=30s" mount_flags:"disable_checksum=true"} access_mode:{mode:SINGLE_NODE_WRITER}
I1229 10:35:05.015566 1 controllerserver.go:86] CreateVolume Parameters:
map[client:awss3 cosEndpoint:https://s3.au-syd.cloud-object-storage.appdomain.cloud csi.storage.k8s.io/pv/name:pvc-ce088145-7ada-4e65-b895-3cd5c6571eb8 csi.storage.k8s.io/pvc/name:objectpath-rclone-gafinal-pvc1 csi.storage.k8s.io/pvc/namespace:default locationConstraint:au-syd-standard mounter:rclone]
I1229 10:35:05.015600 1 controllerserver.go:89] req.GetSecrets() length: 0
I1229 10:35:05.015612 1 controllerserver.go:93] Did not find the secret that matches pvc name. Fetching custom secret from PVC annotations
I1229 10:35:05.036035 1 controllerserver.go:111] pvc annotations:
map[cos.csi.driver/secret:objectpath-rclone-final-secret2 cos.csi.driver/secret-namespace:default kubectl.kubernetes.io/last-applied-configuration:{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{"cos.csi.driver/secret":"objectpath-rclone-final-secret2","cos.csi.driver/secret-namespace":"default"},"name":"objectpath-rclone-gafinal-pvc1","namespace":"default"},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"256Mi"}},"storageClassName":"ibm-object-storage-standard-rclone"}}
volume.beta.kubernetes.io/storage-provisioner:cos.s3.csi.ibm.io volume.kubernetes.io/storage-provisioner:cos.s3.csi.ibm.io]
I1229 10:35:05.045515 1 controllerserver.go:493] -parseCustomSecret-
I1229 10:35:05.045551 1 controllerserver.go:133] custom secret parameters parsed successfully, length of custom secret: 11
I1229 10:35:05.045568 1 controllerserver.go:136] volume_id:"pvc-ce088145-7ada-4e65-b895-3cd5c6571eb8" objectPath found in secret: "/data"
I1229 10:35:05.045576 1 controllerserver.go:449] - getObjectStorageCredentialsFromSecret-
I1229 10:35:05.045605 1 controllerserver.go:201] cosEndpoint and locationConstraint getting paased to ObjectStorageSession: https://s3.au-syd.cloud-object-storage.appdomain.cloud, au-syd-standard
I1229 10:35:05.045724 1 controllerserver.go:207] Bucket name provided: psa-addon-object-path-bucket-4
I1229 10:35:05.045747 1 controllerserver.go:208] Check if the provided bucket already exists: psa-addon-object-path-bucket-4
I1229 10:35:05.852634 1 controllerserver.go:268] create volume: pvc-ce088145-7ada-4e65-b895-3cd5c6571eb8
I1229 10:35:05.852665 1 server.go:168] GRPC response: volume:{capacity_bytes:268435456 volume_id:"pvc-ce088145-7ada-4e65-b895-3cd5c6571eb8" volume_context:{key:"bucketName" value:"psa-addon-object-path-bucket-4"} volume_context:{key:"client" value:"awss3"} volume_context:{key:"cosEndpoint" value:"https://s3.au-syd.cloud-object-storage.appdomain.cloud"} volume_context:{key:"csi.storage.k8s.io/pv/name" value:"pvc-ce088145-7ada-4e65-b895-3cd5c6571eb8"} volume_context:{key:"csi.storage.k8s.io/pvc/name" value:"objectpath-rclone-gafinal-pvc1"} volume_context:{key:"csi.storage.k8s.io/pvc/namespace" value:"default"} volume_context:{key:"locationConstraint" value:"au-syd-standard"} volume_context:{key:"mounter" value:"rclone"} volume_context:{key:"objectPath" value:"/data"} volume_context:{key:"userProvidedBucket" value:"true"}} |
pkg/driver/controllerserver.go
Outdated
|
|
||
| if bytesVal, ok := secret.Data["objectPath"]; ok { | ||
| objectPath = string(bytesVal) | ||
| klog.Infof("parseCustomSecret: Found objectPath: %s", objectPath) |
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.
Since we are already logging objectPath in CreateVolume method, no need to log here again.
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.
Removed logging of objectPath in parseCustomSecret
Removed logging of the found objectPath for custom secret parsing.
Bhagyashreek8
left a comment
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.
Just fix the log messages. rest looks good.
|
🔴 Coverage decreased from 84.80% to 84.78% |
mssachan
left a comment
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.
lgtm
Bhagyashreek8
left a comment
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.
lgtm
Describe your changes
Issue ticket number and link
Checklist before requesting a review