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/klog/v2 v2.30.0
|
||||||
k8s.io/kubernetes v1.23.3
|
k8s.io/kubernetes v1.23.3
|
||||||
k8s.io/mount-utils v0.23.3
|
k8s.io/mount-utils v0.23.3
|
||||||
|
k8s.io/utils v0.0.0-20211116205334-6203023598ed
|
||||||
sigs.k8s.io/yaml v1.2.0
|
sigs.k8s.io/yaml v1.2.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -91,6 +91,7 @@ func (ns *NodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublis
|
|||||||
if baseDir == "" {
|
if baseDir == "" {
|
||||||
return nil, status.Error(codes.InvalidArgument, fmt.Sprintf("%v is a required parameter", paramShare))
|
return nil, status.Error(codes.InvalidArgument, fmt.Sprintf("%v is a required parameter", paramShare))
|
||||||
}
|
}
|
||||||
|
server = getServerFromSource(server)
|
||||||
source := fmt.Sprintf("%s:%s", server, baseDir)
|
source := fmt.Sprintf("%s:%s", server, baseDir)
|
||||||
|
|
||||||
notMnt, err := ns.mounter.IsLikelyNotMountPoint(targetPath)
|
notMnt, err := ns.mounter.IsLikelyNotMountPoint(targetPath)
|
||||||
|
|||||||
@ -29,6 +29,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
|
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
|
netutil "k8s.io/utils/net"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewDefaultIdentityServer(d *Driver) *IdentityServer {
|
func NewDefaultIdentityServer(d *Driver) *IdentityServer {
|
||||||
@ -151,3 +152,11 @@ func chmodIfPermissionMismatch(targetPath string, mode os.FileMode) error {
|
|||||||
}
|
}
|
||||||
return nil
|
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
|
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
|
## explicit
|
||||||
k8s.io/mount-utils
|
k8s.io/mount-utils
|
||||||
# k8s.io/utils v0.0.0-20211116205334-6203023598ed
|
# k8s.io/utils v0.0.0-20211116205334-6203023598ed
|
||||||
|
## explicit
|
||||||
k8s.io/utils/buffer
|
k8s.io/utils/buffer
|
||||||
k8s.io/utils/clock
|
k8s.io/utils/clock
|
||||||
k8s.io/utils/clock/testing
|
k8s.io/utils/clock/testing
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user