Merge pull request #342 from andyzhangx/ipv6
feat: support IPv6 server address
This commit is contained in:
commit
449ec667c9
1
go.mod
1
go.mod
@ -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
|
||||
)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -211,3 +211,39 @@ func getWorkDirPath(dir string) (string, error) {
|
||||
}
|
||||
return fmt.Sprintf("%s%c%s", path, os.PathSeparator, dir), nil
|
||||
}
|
||||
|
||||
func TestGetServerFromSource(t *testing.T) {
|
||||
tests := []struct {
|
||||
desc string
|
||||
server string
|
||||
result string
|
||||
}{
|
||||
{
|
||||
desc: "ipv4",
|
||||
server: "10.127.0.1",
|
||||
result: "10.127.0.1",
|
||||
},
|
||||
{
|
||||
desc: "ipv6",
|
||||
server: "0:0:0:0:0:0:0:1",
|
||||
result: "[0:0:0:0:0:0:0:1]",
|
||||
},
|
||||
{
|
||||
desc: "ipv6 with brackets",
|
||||
server: "[0:0:0:0:0:0:0:2]",
|
||||
result: "[0:0:0:0:0:0:0:2]",
|
||||
},
|
||||
{
|
||||
desc: "other fqdn",
|
||||
server: "bing.com",
|
||||
result: "bing.com",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
result := getServerFromSource(test.server)
|
||||
if result != test.result {
|
||||
t.Errorf("Unexpected result: %s, expected: %s", result, test.result)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1
vendor/modules.txt
vendored
1
vendor/modules.txt
vendored
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user