Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
84191eb9
Commit
84191eb9
authored
Jan 29, 2019
by
Andrew Kim
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
replace pkg/util/file with k8s.io/utils/path
parent
d340dc53
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
37 additions
and
281 deletions
+37
-281
.import-restrictions
cmd/kubeadm/.import-restrictions
+1
-1
.golint_failures
hack/.golint_failures
+0
-1
.import-restrictions
pkg/controller/.import-restrictions
+1
-1
.import-restrictions
pkg/kubectl/.import-restrictions
+1
-1
BUILD
pkg/kubelet/BUILD
+1
-1
BUILD
pkg/kubelet/cm/BUILD
+1
-1
container_manager_linux.go
pkg/kubelet/cm/container_manager_linux.go
+3
-3
kubelet_getters.go
pkg/kubelet/kubelet_getters.go
+2
-2
BUILD
pkg/kubelet/volumemanager/reconciler/BUILD
+1
-1
reconciler.go
pkg/kubelet/volumemanager/reconciler/reconciler.go
+2
-2
BUILD
pkg/master/tunneler/BUILD
+1
-1
ssh.go
pkg/master/tunneler/ssh.go
+3
-3
BUILD
pkg/security/apparmor/BUILD
+1
-1
validate.go
pkg/security/apparmor/validate.go
+2
-2
BUILD
pkg/util/BUILD
+0
-1
BUILD
pkg/util/file/BUILD
+0
-36
file.go
pkg/util/file/file.go
+0
-57
file_test.go
pkg/util/file/file_test.go
+0
-149
BUILD
pkg/util/mount/BUILD
+2
-2
mount_linux.go
pkg/util/mount/mount_linux.go
+2
-2
mount_windows.go
pkg/util/mount/mount_windows.go
+2
-2
nsenter_mount.go
pkg/util/mount/nsenter_mount.go
+2
-2
BUILD
pkg/volume/gcepd/BUILD
+1
-1
gce_util.go
pkg/volume/gcepd/gce_util.go
+2
-2
BUILD
pkg/volume/host_path/BUILD
+1
-1
host_path_test.go
pkg/volume/host_path/host_path_test.go
+2
-2
BUILD
pkg/volume/rbd/BUILD
+1
-1
rbd_util.go
pkg/volume/rbd/rbd_util.go
+2
-2
No files found.
cmd/kubeadm/.import-restrictions
View file @
84191eb9
...
...
@@ -41,6 +41,7 @@
"AllowedPrefixes": [
"k8s.io/utils/exec",
"k8s.io/utils/integer",
"k8s.io/utils/path",
"k8s.io/utils/pointer"
]
},
...
...
@@ -77,7 +78,6 @@
"k8s.io/kubernetes/pkg/scheduler/util",
"k8s.io/kubernetes/pkg/security/apparmor",
"k8s.io/kubernetes/pkg/serviceaccount",
"k8s.io/kubernetes/pkg/util/file",
"k8s.io/kubernetes/pkg/util/hash",
"k8s.io/kubernetes/pkg/util/initsystem",
"k8s.io/kubernetes/pkg/util/ipvs",
...
...
hack/.golint_failures
View file @
84191eb9
...
...
@@ -355,7 +355,6 @@ pkg/util/bandwidth
pkg/util/config
pkg/util/ebtables
pkg/util/env
pkg/util/file
pkg/util/goroutinemap/exponentialbackoff
pkg/util/initsystem
pkg/util/iptables
...
...
pkg/controller/.import-restrictions
View file @
84191eb9
...
...
@@ -307,7 +307,6 @@
"k8s.io/kubernetes/pkg/scheduler/api",
"k8s.io/kubernetes/pkg/scheduler/util",
"k8s.io/kubernetes/pkg/security/apparmor",
"k8s.io/kubernetes/pkg/util/file",
"k8s.io/kubernetes/pkg/util/net/sets",
"k8s.io/kubernetes/pkg/util/parsers",
"k8s.io/kubernetes/pkg/fieldpath",
...
...
@@ -340,6 +339,7 @@
"k8s.io/utils/nsenter",
"k8s.io/utils/integer",
"k8s.io/utils/io",
"k8s.io/utils/path",
"k8s.io/utils/pointer",
"k8s.io/utils/exec"
]
...
...
pkg/kubectl/.import-restrictions
View file @
84191eb9
...
...
@@ -126,7 +126,6 @@
"k8s.io/kubernetes/pkg/scheduler/volumebinder",
"k8s.io/kubernetes/pkg/security/apparmor",
"k8s.io/kubernetes/pkg/serviceaccount",
"k8s.io/kubernetes/pkg/util/file",
"k8s.io/kubernetes/pkg/util/goroutinemap",
"k8s.io/kubernetes/pkg/util/hash",
"k8s.io/kubernetes/pkg/util/interrupt",
...
...
@@ -144,6 +143,7 @@
"k8s.io/kubernetes/pkg/volume/util",
"k8s.io/utils/nsenter",
"k8s.io/utils/io",
"k8s.io/utils/path",
"k8s.io/utils/pointer"
],
"ForbiddenPrefixes": []
...
...
pkg/kubelet/BUILD
View file @
84191eb9
...
...
@@ -103,7 +103,6 @@ go_library(
"//pkg/security/podsecuritypolicy/sysctl:go_default_library",
"//pkg/securitycontext:go_default_library",
"//pkg/util/dbus:go_default_library",
"//pkg/util/file:go_default_library",
"//pkg/util/iptables:go_default_library",
"//pkg/util/mount:go_default_library",
"//pkg/util/node:go_default_library",
...
...
@@ -150,6 +149,7 @@ go_library(
"//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/utils/exec:go_default_library",
"//vendor/k8s.io/utils/integer:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
)
...
...
pkg/kubelet/cm/BUILD
View file @
84191eb9
...
...
@@ -74,7 +74,6 @@ go_library(
"//pkg/kubelet/metrics:go_default_library",
"//pkg/kubelet/qos:go_default_library",
"//pkg/kubelet/types:go_default_library",
"//pkg/util/file:go_default_library",
"//pkg/util/mount:go_default_library",
"//pkg/util/oom:go_default_library",
"//pkg/util/procfs:go_default_library",
...
...
@@ -88,6 +87,7 @@ go_library(
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/systemd:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/configs:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
"@io_bazel_rules_go//go/platform:nacl": [
"//pkg/kubelet/cadvisor:go_default_library",
...
...
pkg/kubelet/cm/container_manager_linux.go
View file @
84191eb9
...
...
@@ -56,11 +56,11 @@ import (
"k8s.io/kubernetes/pkg/kubelet/status"
"k8s.io/kubernetes/pkg/kubelet/util/pluginwatcher"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
utilfile
"k8s.io/kubernetes/pkg/util/file"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/oom"
"k8s.io/kubernetes/pkg/util/procfs"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilpath
"k8s.io/utils/path"
)
const
(
...
...
@@ -179,11 +179,11 @@ func validateSystemRequirements(mountUtil mount.Interface) (features, error) {
// Check if cpu quota is available.
// CPU cgroup is required and so it expected to be mounted at this point.
periodExists
,
err
:=
util
file
.
FileExists
(
path
.
Join
(
cpuMountPoint
,
"cpu.cfs_period_us"
))
periodExists
,
err
:=
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
path
.
Join
(
cpuMountPoint
,
"cpu.cfs_period_us"
))
if
err
!=
nil
{
klog
.
Errorf
(
"failed to detect if CPU cgroup cpu.cfs_period_us is available - %v"
,
err
)
}
quotaExists
,
err
:=
util
file
.
FileExists
(
path
.
Join
(
cpuMountPoint
,
"cpu.cfs_quota_us"
))
quotaExists
,
err
:=
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
path
.
Join
(
cpuMountPoint
,
"cpu.cfs_quota_us"
))
if
err
!=
nil
{
klog
.
Errorf
(
"failed to detect if CPU cgroup cpu.cfs_quota_us is available - %v"
,
err
)
}
...
...
pkg/kubelet/kubelet_getters.go
View file @
84191eb9
...
...
@@ -30,9 +30,9 @@ import (
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/config"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
utilfile
"k8s.io/kubernetes/pkg/util/file"
"k8s.io/kubernetes/pkg/util/mount"
utilnode
"k8s.io/kubernetes/pkg/util/node"
utilpath
"k8s.io/utils/path"
)
// getRootDir returns the full path to the directory under which kubelet can
...
...
@@ -293,7 +293,7 @@ func (kl *Kubelet) getPodVolumePathListFromDisk(podUID types.UID) ([]string, err
for
_
,
volumePluginDir
:=
range
volumePluginDirs
{
volumePluginName
:=
volumePluginDir
.
Name
()
volumePluginPath
:=
filepath
.
Join
(
podVolDir
,
volumePluginName
)
volumeDirs
,
err
:=
util
file
.
ReadDirNoStat
(
volumePluginPath
)
volumeDirs
,
err
:=
util
path
.
ReadDirNoStat
(
volumePluginPath
)
if
err
!=
nil
{
return
volumes
,
fmt
.
Errorf
(
"Could not read directory %s: %v"
,
volumePluginPath
,
err
)
}
...
...
pkg/kubelet/volumemanager/reconciler/BUILD
View file @
84191eb9
...
...
@@ -14,7 +14,6 @@ go_library(
"//pkg/features:go_default_library",
"//pkg/kubelet/config:go_default_library",
"//pkg/kubelet/volumemanager/cache:go_default_library",
"//pkg/util/file:go_default_library",
"//pkg/util/goroutinemap/exponentialbackoff:go_default_library",
"//pkg/util/mount:go_default_library",
"//pkg/util/strings:go_default_library",
...
...
@@ -30,6 +29,7 @@ go_library(
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
)
...
...
pkg/kubelet/volumemanager/reconciler/reconciler.go
View file @
84191eb9
...
...
@@ -36,7 +36,6 @@ import (
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/kubelet/config"
"k8s.io/kubernetes/pkg/kubelet/volumemanager/cache"
utilfile
"k8s.io/kubernetes/pkg/util/file"
"k8s.io/kubernetes/pkg/util/goroutinemap/exponentialbackoff"
"k8s.io/kubernetes/pkg/util/mount"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
...
...
@@ -45,6 +44,7 @@ import (
"k8s.io/kubernetes/pkg/volume/util/nestedpendingoperations"
"k8s.io/kubernetes/pkg/volume/util/operationexecutor"
volumetypes
"k8s.io/kubernetes/pkg/volume/util/types"
utilpath
"k8s.io/utils/path"
)
// Reconciler runs a periodic loop to reconcile the desired state of the world
...
...
@@ -673,7 +673,7 @@ func getVolumesFromPodDir(podDir string) ([]podVolume, error) {
for
_
,
volumeDir
:=
range
volumesDirInfo
{
pluginName
:=
volumeDir
.
Name
()
volumePluginPath
:=
path
.
Join
(
volumesDir
,
pluginName
)
volumePluginDirs
,
err
:=
util
file
.
ReadDirNoStat
(
volumePluginPath
)
volumePluginDirs
,
err
:=
util
path
.
ReadDirNoStat
(
volumePluginPath
)
if
err
!=
nil
{
klog
.
Errorf
(
"Could not read volume plugin directory %q: %v"
,
volumePluginPath
,
err
)
continue
...
...
pkg/master/tunneler/BUILD
View file @
84191eb9
...
...
@@ -22,10 +22,10 @@ go_library(
importpath = "k8s.io/kubernetes/pkg/master/tunneler",
deps = [
"//pkg/ssh:go_default_library",
"//pkg/util/file:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/clock:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
)
...
...
pkg/master/tunneler/ssh.go
View file @
84191eb9
...
...
@@ -31,7 +31,7 @@ import (
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/klog"
"k8s.io/kubernetes/pkg/ssh"
util
file
"k8s.io/kubernetes/pkg/util/file
"
util
path
"k8s.io/utils/path
"
)
type
InstallSSHKey
func
(
ctx
context
.
Context
,
user
string
,
data
[]
byte
)
error
...
...
@@ -119,7 +119,7 @@ func (c *SSHTunneler) Run(getAddresses AddressFunc) {
// public keyfile is written last, so check for that.
publicKeyFile
:=
c
.
SSHKeyfile
+
".pub"
exists
,
err
:=
util
file
.
FileExists
(
publicKeyFile
)
exists
,
err
:=
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
publicKeyFile
)
if
err
!=
nil
{
klog
.
Errorf
(
"Error detecting if key exists: %v"
,
err
)
}
else
if
!
exists
{
...
...
@@ -208,7 +208,7 @@ func generateSSHKey(privateKeyfile, publicKeyfile string) error {
}
// If private keyfile already exists, we must have only made it halfway
// through last time, so delete it.
exists
,
err
:=
util
file
.
FileExists
(
privateKeyfile
)
exists
,
err
:=
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
privateKeyfile
)
if
err
!=
nil
{
klog
.
Errorf
(
"Error detecting if private key exists: %v"
,
err
)
}
else
if
exists
{
...
...
pkg/security/apparmor/BUILD
View file @
84191eb9
...
...
@@ -17,9 +17,9 @@ go_library(
deps = [
"//pkg/features:go_default_library",
"//pkg/kubelet/types:go_default_library",
"//pkg/util/file:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
)
...
...
pkg/security/apparmor/validate.go
View file @
84191eb9
...
...
@@ -29,7 +29,7 @@ import (
utilfeature
"k8s.io/apiserver/pkg/util/feature"
"k8s.io/kubernetes/pkg/features"
kubetypes
"k8s.io/kubernetes/pkg/kubelet/types"
util
file
"k8s.io/kubernetes/pkg/util/file
"
util
path
"k8s.io/utils/path
"
)
// Whether AppArmor should be disabled by default.
...
...
@@ -195,7 +195,7 @@ func getAppArmorFS() (string, error) {
}
if
fields
[
2
]
==
"securityfs"
{
appArmorFS
:=
path
.
Join
(
fields
[
1
],
"apparmor"
)
if
ok
,
err
:=
util
file
.
FileExists
(
appArmorFS
);
!
ok
{
if
ok
,
err
:=
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
appArmorFS
);
!
ok
{
msg
:=
fmt
.
Sprintf
(
"path %s does not exist"
,
appArmorFS
)
if
err
!=
nil
{
return
""
,
fmt
.
Errorf
(
"%s: %v"
,
msg
,
err
)
...
...
pkg/util/BUILD
View file @
84191eb9
...
...
@@ -20,7 +20,6 @@ filegroup(
"//pkg/util/dbus:all-srcs",
"//pkg/util/ebtables:all-srcs",
"//pkg/util/env:all-srcs",
"//pkg/util/file:all-srcs",
"//pkg/util/filesystem:all-srcs",
"//pkg/util/flag:all-srcs",
"//pkg/util/flock:all-srcs",
...
...
pkg/util/file/BUILD
deleted
100644 → 0
View file @
d340dc53
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
"go_test",
)
go_library(
name = "go_default_library",
srcs = ["file.go"],
importpath = "k8s.io/kubernetes/pkg/util/file",
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
go_test(
name = "go_default_test",
srcs = ["file_test.go"],
embed = [":go_default_library"],
deps = [
"//vendor/github.com/spf13/afero:go_default_library",
"//vendor/github.com/stretchr/testify/assert:go_default_library",
],
)
pkg/util/file/file.go
deleted
100644 → 0
View file @
d340dc53
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
file
import
(
"os"
)
// FileExists checks if specified file exists.
func
FileExists
(
filename
string
)
(
bool
,
error
)
{
if
_
,
err
:=
os
.
Stat
(
filename
);
os
.
IsNotExist
(
err
)
{
return
false
,
nil
}
else
if
err
!=
nil
{
return
false
,
err
}
return
true
,
nil
}
// FileOrSymlinkExists checks if specified file or symlink exists.
func
FileOrSymlinkExists
(
filename
string
)
(
bool
,
error
)
{
if
_
,
err
:=
os
.
Lstat
(
filename
);
os
.
IsNotExist
(
err
)
{
return
false
,
nil
}
else
if
err
!=
nil
{
return
false
,
err
}
return
true
,
nil
}
// ReadDirNoStat returns a string of files/directories contained
// in dirname without calling lstat on them.
func
ReadDirNoStat
(
dirname
string
)
([]
string
,
error
)
{
if
dirname
==
""
{
dirname
=
"."
}
f
,
err
:=
os
.
Open
(
dirname
)
if
err
!=
nil
{
return
nil
,
err
}
defer
f
.
Close
()
return
f
.
Readdirnames
(
-
1
)
}
pkg/util/file/file_test.go
deleted
100644 → 0
View file @
d340dc53
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
file
import
(
"os"
"path/filepath"
"sort"
"testing"
"github.com/spf13/afero"
"github.com/stretchr/testify/assert"
)
func
RecoverEnv
(
wd
,
tmpDir
string
)
{
os
.
Chdir
(
wd
)
os
.
RemoveAll
(
tmpDir
)
}
func
TestFileUtils
(
t
*
testing
.
T
)
{
fs
:=
&
afero
.
Afero
{
Fs
:
afero
.
NewOsFs
()}
// Create tmp dir
tmpDir
,
err
:=
fs
.
TempDir
(
os
.
TempDir
(),
"util_file_test_"
)
if
err
!=
nil
{
t
.
Fatal
(
"Failed to test: failed to create temp dir."
)
}
// create tmp file
tmpFile
,
err
:=
fs
.
TempFile
(
tmpDir
,
"test_file_exists_"
)
if
err
!=
nil
{
t
.
Fatal
(
"Failed to test: failed to create temp file."
)
}
// create tmp sym link
tmpSymlinkName
:=
filepath
.
Join
(
tmpDir
,
"test_file_exists_sym_link"
)
err
=
os
.
Symlink
(
tmpFile
.
Name
(),
tmpSymlinkName
)
if
err
!=
nil
{
t
.
Fatal
(
"Failed to test: failed to create sym link."
)
}
// create tmp sub dir
tmpSubDir
,
err
:=
fs
.
TempDir
(
tmpDir
,
"sub_"
)
if
err
!=
nil
{
t
.
Fatal
(
"Failed to test: failed to create temp sub dir."
)
}
// record the current dir
currentDir
,
err
:=
os
.
Getwd
()
if
err
!=
nil
{
t
.
Fatal
(
"Failed to test: failed to get current dir."
)
}
// change the work dir to temp dir
err
=
os
.
Chdir
(
tmpDir
)
if
err
!=
nil
{
t
.
Fatal
(
"Failed to test: failed to change work dir."
)
}
// recover test environment
defer
RecoverEnv
(
currentDir
,
tmpDir
)
t
.
Run
(
"TestFileExists"
,
func
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
name
string
fileName
string
expectedError
bool
expectedValue
bool
}{
{
"file_not_exists"
,
filepath
.
Join
(
tmpDir
,
"file_not_exist_case"
),
false
,
false
},
{
"file_exists"
,
tmpFile
.
Name
(),
false
,
true
},
}
for
_
,
test
:=
range
tests
{
realValued
,
realError
:=
FileExists
(
test
.
fileName
)
if
test
.
expectedError
{
assert
.
Errorf
(
t
,
realError
,
"Failed to test with '%s': %s"
,
test
.
fileName
,
test
.
name
)
}
else
{
assert
.
EqualValuesf
(
t
,
test
.
expectedValue
,
realValued
,
"Failed to test with '%s': %s"
,
test
.
fileName
,
test
.
name
)
}
}
})
t
.
Run
(
"TestFileOrSymlinkExists"
,
func
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
name
string
fileName
string
expectedError
bool
expectedValue
bool
}{
{
"file_not_exists"
,
filepath
.
Join
(
tmpDir
,
"file_not_exist_case"
),
false
,
false
},
{
"file_exists"
,
tmpFile
.
Name
(),
false
,
true
},
{
"symlink_exists"
,
tmpSymlinkName
,
false
,
true
},
}
for
_
,
test
:=
range
tests
{
realValued
,
realError
:=
FileOrSymlinkExists
(
test
.
fileName
)
if
test
.
expectedError
{
assert
.
Errorf
(
t
,
realError
,
"Failed to test with '%s': %s"
,
test
.
fileName
,
test
.
name
)
}
else
{
assert
.
EqualValuesf
(
t
,
test
.
expectedValue
,
realValued
,
"Failed to test with '%s': %s"
,
test
.
fileName
,
test
.
name
)
}
}
})
t
.
Run
(
"TestReadDirNoStat"
,
func
(
t
*
testing
.
T
)
{
_
,
tmpFileSimpleName
:=
filepath
.
Split
(
tmpFile
.
Name
())
_
,
tmpSymlinkSimpleName
:=
filepath
.
Split
(
tmpSymlinkName
)
_
,
tmpSubDirSimpleName
:=
filepath
.
Split
(
tmpSubDir
)
tests
:=
[]
struct
{
name
string
dirName
string
expectedError
bool
expectedValue
[]
string
}{
{
"dir_not_exists"
,
filepath
.
Join
(
tmpDir
,
"file_not_exist_case"
),
true
,
[]
string
{}},
{
"dir_is_empty"
,
""
,
false
,
[]
string
{
tmpFileSimpleName
,
tmpSymlinkSimpleName
,
tmpSubDirSimpleName
}},
{
"dir_exists"
,
tmpDir
,
false
,
[]
string
{
tmpFileSimpleName
,
tmpSymlinkSimpleName
,
tmpSubDirSimpleName
}},
}
for
_
,
test
:=
range
tests
{
realValued
,
realError
:=
ReadDirNoStat
(
test
.
dirName
)
// execute sort action before compare
sort
.
Strings
(
realValued
)
sort
.
Strings
(
test
.
expectedValue
)
if
test
.
expectedError
{
assert
.
Errorf
(
t
,
realError
,
"Failed to test with '%s': %s"
,
test
.
dirName
,
test
.
name
)
}
else
{
assert
.
EqualValuesf
(
t
,
test
.
expectedValue
,
realValued
,
"Failed to test with '%s': %s"
,
test
.
dirName
,
test
.
name
)
}
}
})
}
pkg/util/mount/BUILD
View file @
84191eb9
...
...
@@ -35,11 +35,11 @@ go_library(
"//vendor/k8s.io/utils/nsenter:go_default_library",
],
"@io_bazel_rules_go//go/platform:linux": [
"//pkg/util/file:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/golang.org/x/sys/unix:go_default_library",
"//vendor/k8s.io/utils/io:go_default_library",
"//vendor/k8s.io/utils/nsenter:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
"@io_bazel_rules_go//go/platform:nacl": [
"//vendor/k8s.io/utils/nsenter:go_default_library",
...
...
@@ -57,8 +57,8 @@ go_library(
"//vendor/k8s.io/utils/nsenter:go_default_library",
],
"@io_bazel_rules_go//go/platform:windows": [
"//pkg/util/file:go_default_library",
"//vendor/k8s.io/utils/nsenter:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
"//conditions:default": [],
}),
...
...
pkg/util/mount/mount_linux.go
View file @
84191eb9
...
...
@@ -33,9 +33,9 @@ import (
"golang.org/x/sys/unix"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/klog"
utilfile
"k8s.io/kubernetes/pkg/util/file"
utilexec
"k8s.io/utils/exec"
utilio
"k8s.io/utils/io"
utilpath
"k8s.io/utils/path"
)
const
(
...
...
@@ -417,7 +417,7 @@ func (mounter *Mounter) MakeFile(pathname string) error {
}
func
(
mounter
*
Mounter
)
ExistsPath
(
pathname
string
)
(
bool
,
error
)
{
return
util
file
.
FileExists
(
pathname
)
return
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
pathname
)
}
func
(
mounter
*
Mounter
)
EvalHostSymlinks
(
pathname
string
)
(
string
,
error
)
{
...
...
pkg/util/mount/mount_windows.go
View file @
84191eb9
...
...
@@ -30,7 +30,7 @@ import (
"k8s.io/klog"
util
file
"k8s.io/kubernetes/pkg/util/file
"
util
path
"k8s.io/utils/path
"
)
// Mounter provides the default implementation of mount.Interface
...
...
@@ -235,7 +235,7 @@ func (mounter *Mounter) MakeFile(pathname string) error {
// ExistsPath checks whether the path exists
func
(
mounter
*
Mounter
)
ExistsPath
(
pathname
string
)
(
bool
,
error
)
{
return
util
file
.
FileExists
(
pathname
)
return
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
pathname
)
}
// EvalHostSymlinks returns the path name after evaluating symlinks
...
...
pkg/util/mount/nsenter_mount.go
View file @
84191eb9
...
...
@@ -27,8 +27,8 @@ import (
"golang.org/x/sys/unix"
"k8s.io/klog"
utilfile
"k8s.io/kubernetes/pkg/util/file"
"k8s.io/utils/nsenter"
utilpath
"k8s.io/utils/path"
)
const
(
...
...
@@ -291,7 +291,7 @@ func (mounter *NsenterMounter) ExistsPath(pathname string) (bool, error) {
return
false
,
err
}
kubeletpath
:=
mounter
.
ne
.
KubeletPath
(
hostPath
)
return
util
file
.
FileExists
(
kubeletpath
)
return
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
kubeletpath
)
}
func
(
mounter
*
NsenterMounter
)
EvalHostSymlinks
(
pathname
string
)
(
string
,
error
)
{
...
...
pkg/volume/gcepd/BUILD
View file @
84191eb9
...
...
@@ -20,7 +20,6 @@ go_library(
"//pkg/cloudprovider/providers/gce:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/util/file:go_default_library",
"//pkg/util/mount:go_default_library",
"//pkg/util/strings:go_default_library",
"//pkg/volume:go_default_library",
...
...
@@ -35,6 +34,7 @@ go_library(
"//staging/src/k8s.io/cloud-provider:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/utils/exec:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
)
...
...
pkg/volume/gcepd/gce_util.go
View file @
84191eb9
...
...
@@ -32,11 +32,11 @@ import (
gcecloud
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
"k8s.io/kubernetes/pkg/features"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
utilfile
"k8s.io/kubernetes/pkg/util/file"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
utilpath
"k8s.io/utils/path"
)
const
(
...
...
@@ -236,7 +236,7 @@ func verifyDevicePath(devicePaths []string, sdBeforeSet sets.String, diskName st
// Calls scsi_id on the given devicePath to get the serial number reported by that device.
func
getScsiSerial
(
devicePath
,
diskName
string
)
(
string
,
error
)
{
exists
,
err
:=
util
file
.
FileExists
(
"/lib/udev/scsi_id"
)
exists
,
err
:=
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
"/lib/udev/scsi_id"
)
if
err
!=
nil
{
return
""
,
fmt
.
Errorf
(
"failed to check scsi_id existence: %v"
,
err
)
}
...
...
pkg/volume/host_path/BUILD
View file @
84191eb9
...
...
@@ -31,7 +31,6 @@ go_test(
srcs = ["host_path_test.go"],
embed = [":go_default_library"],
deps = [
"//pkg/util/file:go_default_library",
"//pkg/util/mount:go_default_library",
"//pkg/volume:go_default_library",
"//pkg/volume/testing:go_default_library",
...
...
@@ -41,6 +40,7 @@ go_test(
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
)
...
...
pkg/volume/host_path/host_path_test.go
View file @
84191eb9
...
...
@@ -27,10 +27,10 @@ import (
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/client-go/kubernetes/fake"
utilfile
"k8s.io/kubernetes/pkg/util/file"
utilmount
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
volumetest
"k8s.io/kubernetes/pkg/volume/testing"
utilpath
"k8s.io/utils/path"
)
func
newHostPathType
(
pathType
string
)
*
v1
.
HostPathType
{
...
...
@@ -122,7 +122,7 @@ func TestDeleter(t *testing.T) {
if
err
:=
deleter
.
Delete
();
err
!=
nil
{
t
.
Errorf
(
"Mock Recycler expected to return nil but got %s"
,
err
)
}
if
exists
,
_
:=
util
file
.
FileExists
(
tempPath
);
exists
{
if
exists
,
_
:=
util
path
.
Exists
(
utilpath
.
CheckFollowSymlink
,
tempPath
);
exists
{
t
.
Errorf
(
"Temp path expected to be deleted, but was found at %s"
,
tempPath
)
}
}
...
...
pkg/volume/rbd/BUILD
View file @
84191eb9
...
...
@@ -18,7 +18,6 @@ go_library(
importpath = "k8s.io/kubernetes/pkg/volume/rbd",
deps = [
"//pkg/features:go_default_library",
"//pkg/util/file:go_default_library",
"//pkg/util/mount:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/util/strings:go_default_library",
...
...
@@ -36,6 +35,7 @@ go_library(
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
],
)
...
...
pkg/volume/rbd/rbd_util.go
View file @
84191eb9
...
...
@@ -37,11 +37,11 @@ import (
"k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/klog"
fileutil
"k8s.io/kubernetes/pkg/util/file"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/node"
"k8s.io/kubernetes/pkg/volume"
volutil
"k8s.io/kubernetes/pkg/volume/util"
utilpath
"k8s.io/utils/path"
)
const
(
...
...
@@ -486,7 +486,7 @@ func (util *RBDUtil) DetachDisk(plugin *rbdPlugin, deviceMountPath string, devic
// Currently, we don't persist rbd info on the disk, but for backward
// compatbility, we need to clean it if found.
rbdFile
:=
path
.
Join
(
deviceMountPath
,
"rbd.json"
)
exists
,
err
:=
fileutil
.
FileExists
(
rbdFile
)
exists
,
err
:=
utilpath
.
Exists
(
utilpath
.
CheckFollowSymlink
,
rbdFile
)
if
err
!=
nil
{
return
err
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment