feat: support IPv6 server address

This commit is contained in:
andyzhangx 2022-05-15 06:54:04 +00:00
parent 41af4a17db
commit dcd24e51e6
4 changed files with 12 additions and 0 deletions

1
go.mod
View File

@ -20,6 +20,7 @@ require (
k8s.io/klog/v2 v2.30.0
k8s.io/kubernetes v1.23.3
k8s.io/mount-utils v0.23.3
k8s.io/utils v0.0.0-20211116205334-6203023598ed
sigs.k8s.io/yaml v1.2.0
)

View File

@ -91,6 +91,7 @@ func (ns *NodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublis
if baseDir == "" {
return nil, status.Error(codes.InvalidArgument, fmt.Sprintf("%v is a required parameter", paramShare))
}
server = getServerFromSource(server)
source := fmt.Sprintf("%s:%s", server, baseDir)
notMnt, err := ns.mounter.IsLikelyNotMountPoint(targetPath)

View File

@ -29,6 +29,7 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/klog/v2"
netutil "k8s.io/utils/net"
)
func NewDefaultIdentityServer(d *Driver) *IdentityServer {
@ -151,3 +152,11 @@ func chmodIfPermissionMismatch(targetPath string, mode os.FileMode) error {
}
return nil
}
// getServerFromSource if server is IPv6, return [IPv6]
func getServerFromSource(server string) string {
if netutil.IsIPv6String(server) {
return fmt.Sprintf("[%s]", server)
}
return server
}

1
vendor/modules.txt vendored
View File

@ -879,6 +879,7 @@ k8s.io/kubernetes/test/utils/image
## explicit
k8s.io/mount-utils
# k8s.io/utils v0.0.0-20211116205334-6203023598ed
## explicit
k8s.io/utils/buffer
k8s.io/utils/clock
k8s.io/utils/clock/testing