From 08196693cc07976815178d07898ab6e73551a4ef Mon Sep 17 00:00:00 2001 From: nitesh3108 Date: Wed, 13 Oct 2021 10:53:43 -0400 Subject: [PATCH 1/2] Support for CSI 1.5 --- go.mod | 2 +- go.sum | 5 +++-- middleware/specvalidator/spec_validator.go | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 2dc3c77..328894d 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.16 require ( github.com/akutz/gosync v0.1.0 github.com/akutz/memconn v0.1.0 - github.com/container-storage-interface/spec v1.4.0 + github.com/container-storage-interface/spec v1.5.0 github.com/golang/protobuf v1.5.2 github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/onsi/ginkgo v1.4.0 diff --git a/go.sum b/go.sum index e371bc5..606e396 100644 --- a/go.sum +++ b/go.sum @@ -19,8 +19,8 @@ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/container-storage-interface/spec v1.4.0 h1:ozAshSKxpJnYUfmkpZCTYyF/4MYeYlhdXbAvPvfGmkg= -github.com/container-storage-interface/spec v1.4.0/go.mod h1:6URME8mwIBbpVyZV93Ce5St17xBiQJQY67NDsuohiy4= +github.com/container-storage-interface/spec v1.5.0 h1:lvKxe3uLgqQeVQcrnL2CPQKISoKjTJxojEs9cBk+HXo= +github.com/container-storage-interface/spec v1.5.0/go.mod h1:8K96oQNkJ7pFcC2R9Z1ynGGBB1I93kcS6PGg3SsOk8s= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= @@ -249,6 +249,7 @@ google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxH google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0= diff --git a/middleware/specvalidator/spec_validator.go b/middleware/specvalidator/spec_validator.go index 22ef6c9..0607378 100644 --- a/middleware/specvalidator/spec_validator.go +++ b/middleware/specvalidator/spec_validator.go @@ -770,7 +770,7 @@ func validateVolumeCapabilitiesArg( } const ( - maxFieldString = 192 + maxFieldString = 256 maxFieldMap = 4096 ) From dc33e12082b6db5a6ca4d09cd52024f9b1f0a88d Mon Sep 17 00:00:00 2001 From: Bahubali Jain Date: Thu, 14 Oct 2021 11:08:07 -0400 Subject: [PATCH 2/2] Updated max allowed length for string field NodeID to 256, and for other string fields to 128 --- middleware/specvalidator/spec_validator.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/middleware/specvalidator/spec_validator.go b/middleware/specvalidator/spec_validator.go index 0607378..eb2ef4c 100644 --- a/middleware/specvalidator/spec_validator.go +++ b/middleware/specvalidator/spec_validator.go @@ -770,8 +770,9 @@ func validateVolumeCapabilitiesArg( } const ( - maxFieldString = 256 + maxFieldString = 128 maxFieldMap = 4096 + maxFieldNodeId = 256 ) func validateFieldSizes(msg interface{}) error { @@ -782,11 +783,16 @@ func validateFieldSizes(msg interface{}) error { f := rv.Field(i) switch f.Kind() { case reflect.String: - if l := f.Len(); l > maxFieldString { + maxFieldLen := maxFieldString + if tv.Field(i).Name == "NodeId" { + maxFieldLen = maxFieldNodeId + } + + if l := f.Len(); l > maxFieldLen { return status.Errorf( codes.InvalidArgument, "exceeds size limit: %s: max=%d, size=%d", - tv.Field(i).Name, maxFieldString, l) + tv.Field(i).Name, maxFieldLen, l) } case reflect.Map: if f.Len() == 0 {