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
3dfc8bf7
Commit
3dfc8bf7
authored
Jul 18, 2017
by
ymqytw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update import
parent
088141ca
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
83 changed files
with
255 additions
and
241 deletions
+255
-241
server.go
cmd/kube-proxy/app/server.go
+1
-1
hollow-node.go
cmd/kubemark/hollow-node.go
+1
-1
metadata.go
pkg/cloudprovider/providers/openstack/metadata.go
+1
-1
run.go
pkg/kubectl/cmd/run.go
+1
-1
helpers.go
pkg/kubectl/cmd/util/helpers.go
+1
-1
helpers_test.go
pkg/kubectl/cmd/util/helpers_test.go
+2
-2
exec.go
pkg/kubelet/dockershim/exec.go
+1
-1
docker_service.go
pkg/kubelet/dockershim/remote/docker_service.go
+1
-1
kubelet.go
pkg/kubelet/kubelet.go
+1
-1
cni.go
pkg/kubelet/network/cni/cni.go
+1
-1
cni_test.go
pkg/kubelet/network/cni/cni_test.go
+7
-6
hairpin.go
pkg/kubelet/network/hairpin/hairpin.go
+1
-1
hairpin_test.go
pkg/kubelet/network/hairpin/hairpin_test.go
+7
-6
kubenet_linux.go
pkg/kubelet/network/kubenet/kubenet_linux.go
+1
-1
kubenet_linux_test.go
pkg/kubelet/network/kubenet/kubenet_linux_test.go
+16
-15
plugins.go
pkg/kubelet/network/plugins.go
+1
-1
common_test.go
pkg/kubelet/prober/common_test.go
+1
-1
prober.go
pkg/kubelet/prober/prober.go
+1
-1
worker_test.go
pkg/kubelet/prober/worker_test.go
+1
-1
remote_runtime.go
pkg/kubelet/remote/remote_runtime.go
+1
-1
rkt.go
pkg/kubelet/rkt/rkt.go
+1
-1
rkt_test.go
pkg/kubelet/rkt/rkt_test.go
+4
-3
exec.go
pkg/kubelet/server/remotecommand/exec.go
+1
-1
hollow_proxy.go
pkg/kubemark/hollow_proxy.go
+1
-1
exec.go
pkg/probe/exec/exec.go
+1
-1
proxier.go
pkg/proxy/iptables/proxier.go
+1
-1
proxier_test.go
pkg/proxy/iptables/proxier_test.go
+9
-8
proxier.go
pkg/proxy/userspace/proxier.go
+1
-1
proxier_test.go
pkg/proxy/userspace/proxier_test.go
+8
-7
conntrack.go
pkg/proxy/util/conntrack.go
+1
-1
conntrack_test.go
pkg/proxy/util/conntrack_test.go
+16
-15
proxysocket.go
pkg/proxy/winuserspace/proxysocket.go
+1
-1
linux.go
pkg/util/bandwidth/linux.go
+1
-1
linux_test.go
pkg/util/bandwidth/linux_test.go
+52
-51
ebtables.go
pkg/util/ebtables/ebtables.go
+1
-1
ebtables_test.go
pkg/util/ebtables/ebtables_test.go
+22
-21
ipconfig.go
pkg/util/ipconfig/ipconfig.go
+1
-1
ipconfig_test.go
pkg/util/ipconfig/ipconfig_test.go
+1
-1
iptables.go
pkg/util/iptables/iptables.go
+1
-1
iptables_test.go
pkg/util/iptables/iptables_test.go
+0
-0
mount.go
pkg/util/mount/mount.go
+1
-1
mount_linux.go
pkg/util/mount/mount_linux.go
+1
-1
nsenter_mount.go
pkg/util/mount/nsenter_mount.go
+1
-1
safe_format_and_mount_test.go
pkg/util/mount/safe_format_and_mount_test.go
+10
-9
netsh.go
pkg/util/netsh/netsh.go
+1
-1
attacher.go
pkg/volume/aws_ebs/attacher.go
+1
-1
aws_ebs.go
pkg/volume/aws_ebs/aws_ebs.go
+1
-1
attacher.go
pkg/volume/azure_dd/attacher.go
+1
-1
azure_common.go
pkg/volume/azure_dd/azure_common.go
+1
-1
azure_common_test.go
pkg/volume/azure_dd/azure_common_test.go
+9
-8
attacher.go
pkg/volume/cinder/attacher.go
+1
-1
cinder.go
pkg/volume/cinder/cinder.go
+1
-1
cinder_util.go
pkg/volume/cinder/cinder_util.go
+1
-1
attacher.go
pkg/volume/fc/attacher.go
+1
-1
fc.go
pkg/volume/fc/fc.go
+1
-1
attacher-defaults.go
pkg/volume/flexvolume/attacher-defaults.go
+1
-1
common_test.go
pkg/volume/flexvolume/common_test.go
+10
-9
mounter.go
pkg/volume/flexvolume/mounter.go
+1
-1
plugin.go
pkg/volume/flexvolume/plugin.go
+1
-1
plugin_test.go
pkg/volume/flexvolume/plugin_test.go
+1
-1
unmounter.go
pkg/volume/flexvolume/unmounter.go
+1
-1
attacher.go
pkg/volume/gce_pd/attacher.go
+1
-1
gce_util.go
pkg/volume/gce_pd/gce_util.go
+1
-1
git_repo.go
pkg/volume/git_repo/git_repo.go
+1
-1
git_repo_test.go
pkg/volume/git_repo/git_repo_test.go
+8
-7
glusterfs.go
pkg/volume/glusterfs/glusterfs.go
+1
-1
glusterfs_test.go
pkg/volume/glusterfs/glusterfs_test.go
+8
-7
iscsi.go
pkg/volume/iscsi/iscsi.go
+1
-1
nfs.go
pkg/volume/nfs/nfs.go
+1
-1
attacher.go
pkg/volume/photon_pd/attacher.go
+1
-1
photon_pd.go
pkg/volume/photon_pd/photon_pd.go
+1
-1
portworx.go
pkg/volume/portworx/portworx.go
+1
-1
quobyte.go
pkg/volume/quobyte/quobyte.go
+1
-1
rbd.go
pkg/volume/rbd/rbd.go
+1
-1
rbd_util.go
pkg/volume/rbd/rbd_util.go
+1
-1
sio_volume.go
pkg/volume/scaleio/sio_volume.go
+1
-1
storageos.go
pkg/volume/storageos/storageos.go
+1
-1
storageos_util.go
pkg/volume/storageos/storageos_util.go
+1
-1
attacher.go
pkg/volume/vsphere_volume/attacher.go
+1
-1
vsphere_volume.go
pkg/volume/vsphere_volume/vsphere_volume.go
+1
-1
ingress_utils.go
test/e2e/framework/ingress_utils.go
+1
-1
util.go
test/e2e/framework/util.go
+1
-1
kubectl.go
test/e2e/kubectl/kubectl.go
+1
-1
No files found.
cmd/kube-proxy/app/server.go
View file @
3dfc8bf7
...
@@ -62,7 +62,6 @@ import (
...
@@ -62,7 +62,6 @@ import (
"k8s.io/kubernetes/pkg/proxy/winuserspace"
"k8s.io/kubernetes/pkg/proxy/winuserspace"
"k8s.io/kubernetes/pkg/util/configz"
"k8s.io/kubernetes/pkg/util/configz"
utildbus
"k8s.io/kubernetes/pkg/util/dbus"
utildbus
"k8s.io/kubernetes/pkg/util/dbus"
"k8s.io/kubernetes/pkg/util/exec"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utilnetsh
"k8s.io/kubernetes/pkg/util/netsh"
utilnetsh
"k8s.io/kubernetes/pkg/util/netsh"
utilnode
"k8s.io/kubernetes/pkg/util/node"
utilnode
"k8s.io/kubernetes/pkg/util/node"
...
@@ -71,6 +70,7 @@ import (
...
@@ -71,6 +70,7 @@ import (
"k8s.io/kubernetes/pkg/util/resourcecontainer"
"k8s.io/kubernetes/pkg/util/resourcecontainer"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
"k8s.io/kubernetes/pkg/version/verflag"
"k8s.io/kubernetes/pkg/version/verflag"
"k8s.io/utils/exec"
"github.com/golang/glog"
"github.com/golang/glog"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus"
...
...
cmd/kubemark/hollow-node.go
View file @
3dfc8bf7
...
@@ -34,10 +34,10 @@ import (
...
@@ -34,10 +34,10 @@ import (
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
"k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
"k8s.io/kubernetes/pkg/kubemark"
"k8s.io/kubernetes/pkg/kubemark"
fakeexec
"k8s.io/kubernetes/pkg/util/exec"
fakeiptables
"k8s.io/kubernetes/pkg/util/iptables/testing"
fakeiptables
"k8s.io/kubernetes/pkg/util/iptables/testing"
fakesysctl
"k8s.io/kubernetes/pkg/util/sysctl/testing"
fakesysctl
"k8s.io/kubernetes/pkg/util/sysctl/testing"
_
"k8s.io/kubernetes/pkg/version/prometheus"
// for version metric registration
_
"k8s.io/kubernetes/pkg/version/prometheus"
// for version metric registration
fakeexec
"k8s.io/utils/exec/testing"
"github.com/golang/glog"
"github.com/golang/glog"
"github.com/spf13/pflag"
"github.com/spf13/pflag"
...
...
pkg/cloudprovider/providers/openstack/metadata.go
View file @
3dfc8bf7
...
@@ -28,8 +28,8 @@ import (
...
@@ -28,8 +28,8 @@ import (
"strings"
"strings"
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/utils/exec"
)
)
// metadataUrl is URL to OpenStack metadata server. It's hardcoded IPv4
// metadataUrl is URL to OpenStack metadata server. It's hardcoded IPv4
...
...
pkg/kubectl/cmd/run.go
View file @
3dfc8bf7
...
@@ -40,9 +40,9 @@ import (
...
@@ -40,9 +40,9 @@ import (
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
uexec
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/i18n"
"k8s.io/kubernetes/pkg/util/i18n"
"k8s.io/kubernetes/pkg/util/interrupt"
"k8s.io/kubernetes/pkg/util/interrupt"
uexec
"k8s.io/utils/exec"
)
)
var
(
var
(
...
...
pkg/kubectl/cmd/util/helpers.go
View file @
3dfc8bf7
...
@@ -48,7 +48,7 @@ import (
...
@@ -48,7 +48,7 @@ import (
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
const
(
const
(
...
...
pkg/kubectl/cmd/util/helpers_test.go
View file @
3dfc8bf7
...
@@ -35,7 +35,7 @@ import (
...
@@ -35,7 +35,7 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
apitesting
"k8s.io/kubernetes/pkg/api/testing"
apitesting
"k8s.io/kubernetes/pkg/api/testing"
uexec
"k8s.io/kubernetes/pkg/util
/exec"
"k8s.io/utils
/exec"
)
)
func
TestMerge
(
t
*
testing
.
T
)
{
func
TestMerge
(
t
*
testing
.
T
)
{
...
@@ -266,7 +266,7 @@ func TestCheckNoResourceMatchError(t *testing.T) {
...
@@ -266,7 +266,7 @@ func TestCheckNoResourceMatchError(t *testing.T) {
func
TestCheckExitError
(
t
*
testing
.
T
)
{
func
TestCheckExitError
(
t
*
testing
.
T
)
{
testCheckError
(
t
,
[]
checkErrTestCase
{
testCheckError
(
t
,
[]
checkErrTestCase
{
{
{
u
exec
.
CodeExitError
{
Err
:
fmt
.
Errorf
(
"pod foo/bar terminated"
),
Code
:
42
},
exec
.
CodeExitError
{
Err
:
fmt
.
Errorf
(
"pod foo/bar terminated"
),
Code
:
42
},
"pod foo/bar terminated"
,
"pod foo/bar terminated"
,
42
,
42
,
},
},
...
...
pkg/kubelet/dockershim/exec.go
View file @
3dfc8bf7
...
@@ -28,8 +28,8 @@ import (
...
@@ -28,8 +28,8 @@ import (
"k8s.io/client-go/tools/remotecommand"
"k8s.io/client-go/tools/remotecommand"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/term"
"k8s.io/kubernetes/pkg/util/term"
utilexec
"k8s.io/utils/exec"
"k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
"k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
)
)
...
...
pkg/kubelet/dockershim/remote/docker_service.go
View file @
3dfc8bf7
...
@@ -25,7 +25,7 @@ import (
...
@@ -25,7 +25,7 @@ import (
internalapi
"k8s.io/kubernetes/pkg/kubelet/apis/cri"
internalapi
"k8s.io/kubernetes/pkg/kubelet/apis/cri"
runtimeapi
"k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
runtimeapi
"k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
"k8s.io/kubernetes/pkg/kubelet/dockershim"
"k8s.io/kubernetes/pkg/kubelet/dockershim"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
// DockerService is the interface implement CRI remote service server.
// DockerService is the interface implement CRI remote service server.
...
...
pkg/kubelet/kubelet.go
View file @
3dfc8bf7
...
@@ -99,7 +99,6 @@ import (
...
@@ -99,7 +99,6 @@ import (
"k8s.io/kubernetes/pkg/kubelet/volumemanager"
"k8s.io/kubernetes/pkg/kubelet/volumemanager"
"k8s.io/kubernetes/pkg/security/apparmor"
"k8s.io/kubernetes/pkg/security/apparmor"
utildbus
"k8s.io/kubernetes/pkg/util/dbus"
utildbus
"k8s.io/kubernetes/pkg/util/dbus"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
kubeio
"k8s.io/kubernetes/pkg/util/io"
kubeio
"k8s.io/kubernetes/pkg/util/io"
utilipt
"k8s.io/kubernetes/pkg/util/iptables"
utilipt
"k8s.io/kubernetes/pkg/util/iptables"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
...
@@ -107,6 +106,7 @@ import (
...
@@ -107,6 +106,7 @@ import (
"k8s.io/kubernetes/pkg/util/oom"
"k8s.io/kubernetes/pkg/util/oom"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates"
"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates"
utilexec
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
pkg/kubelet/network/cni/cni.go
View file @
3dfc8bf7
...
@@ -29,7 +29,7 @@ import (
...
@@ -29,7 +29,7 @@ import (
"k8s.io/kubernetes/pkg/apis/componentconfig"
"k8s.io/kubernetes/pkg/apis/componentconfig"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
"k8s.io/kubernetes/pkg/kubelet/network"
"k8s.io/kubernetes/pkg/kubelet/network"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
const
(
const
(
...
...
pkg/kubelet/network/cni/cni_test.go
View file @
3dfc8bf7
...
@@ -43,7 +43,8 @@ import (
...
@@ -43,7 +43,8 @@ import (
"k8s.io/kubernetes/pkg/kubelet/network/cni/testing"
"k8s.io/kubernetes/pkg/kubelet/network/cni/testing"
"k8s.io/kubernetes/pkg/kubelet/network/hostport"
"k8s.io/kubernetes/pkg/kubelet/network/hostport"
networktest
"k8s.io/kubernetes/pkg/kubelet/network/testing"
networktest
"k8s.io/kubernetes/pkg/kubelet/network/testing"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
func
installPluginUnderTest
(
t
*
testing
.
T
,
testVendorCNIDirPrefix
,
testNetworkConfigPath
,
vendorName
string
,
plugName
string
)
{
func
installPluginUnderTest
(
t
*
testing
.
T
,
testVendorCNIDirPrefix
,
testNetworkConfigPath
,
vendorName
string
,
plugName
string
)
{
...
@@ -159,10 +160,10 @@ func TestCNIPlugin(t *testing.T) {
...
@@ -159,10 +160,10 @@ func TestCNIPlugin(t *testing.T) {
podIP
:=
"10.0.0.2"
podIP
:=
"10.0.0.2"
podIPOutput
:=
fmt
.
Sprintf
(
"4: eth0 inet %s/24 scope global dynamic eth0
\\
valid_lft forever preferred_lft forever"
,
podIP
)
podIPOutput
:=
fmt
.
Sprintf
(
"4: eth0 inet %s/24 scope global dynamic eth0
\\
valid_lft forever preferred_lft forever"
,
podIP
)
fakeCmds
:=
[]
util
exec
.
FakeCommandAction
{
fakeCmds
:=
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
util
exec
.
Cmd
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
utilexec
.
InitFakeCmd
(
&
util
exec
.
FakeCmd
{
return
fakeexec
.
InitFakeCmd
(
&
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
util
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
podIPOutput
),
nil
return
[]
byte
(
podIPOutput
),
nil
},
},
...
@@ -171,7 +172,7 @@ func TestCNIPlugin(t *testing.T) {
...
@@ -171,7 +172,7 @@ func TestCNIPlugin(t *testing.T) {
},
},
}
}
fexec
:=
&
util
exec
.
FakeExec
{
fexec
:=
&
fake
exec
.
FakeExec
{
CommandScript
:
fakeCmds
,
CommandScript
:
fakeCmds
,
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
...
...
pkg/kubelet/network/hairpin/hairpin.go
View file @
3dfc8bf7
...
@@ -26,7 +26,7 @@ import (
...
@@ -26,7 +26,7 @@ import (
"strconv"
"strconv"
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
)
)
const
(
const
(
...
...
pkg/kubelet/network/hairpin/hairpin_test.go
View file @
3dfc8bf7
...
@@ -24,7 +24,8 @@ import (
...
@@ -24,7 +24,8 @@ import (
"strings"
"strings"
"testing"
"testing"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
func
TestFindPairInterfaceOfContainerInterface
(
t
*
testing
.
T
)
{
func
TestFindPairInterfaceOfContainerInterface
(
t
*
testing
.
T
)
{
...
@@ -54,15 +55,15 @@ func TestFindPairInterfaceOfContainerInterface(t *testing.T) {
...
@@ -54,15 +55,15 @@ func TestFindPairInterfaceOfContainerInterface(t *testing.T) {
},
},
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
test
.
output
),
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
test
.
output
),
test
.
err
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
},
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
...
...
pkg/kubelet/network/kubenet/kubenet_linux.go
View file @
3dfc8bf7
...
@@ -45,9 +45,9 @@ import (
...
@@ -45,9 +45,9 @@ import (
"k8s.io/kubernetes/pkg/util/bandwidth"
"k8s.io/kubernetes/pkg/util/bandwidth"
utildbus
"k8s.io/kubernetes/pkg/util/dbus"
utildbus
"k8s.io/kubernetes/pkg/util/dbus"
utilebtables
"k8s.io/kubernetes/pkg/util/ebtables"
utilebtables
"k8s.io/kubernetes/pkg/util/ebtables"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilexec
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
pkg/kubelet/network/kubenet/kubenet_linux_test.go
View file @
3dfc8bf7
...
@@ -32,9 +32,10 @@ import (
...
@@ -32,9 +32,10 @@ import (
hostporttest
"k8s.io/kubernetes/pkg/kubelet/network/hostport/testing"
hostporttest
"k8s.io/kubernetes/pkg/kubelet/network/hostport/testing"
nettest
"k8s.io/kubernetes/pkg/kubelet/network/testing"
nettest
"k8s.io/kubernetes/pkg/kubelet/network/testing"
"k8s.io/kubernetes/pkg/util/bandwidth"
"k8s.io/kubernetes/pkg/util/bandwidth"
"k8s.io/kubernetes/pkg/util/exec"
ipttest
"k8s.io/kubernetes/pkg/util/iptables/testing"
ipttest
"k8s.io/kubernetes/pkg/util/iptables/testing"
sysctltest
"k8s.io/kubernetes/pkg/util/sysctl/testing"
sysctltest
"k8s.io/kubernetes/pkg/util/sysctl/testing"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
// test it fulfills the NetworkPlugin interface
// test it fulfills the NetworkPlugin interface
...
@@ -79,11 +80,11 @@ func TestGetPodNetworkStatus(t *testing.T) {
...
@@ -79,11 +80,11 @@ func TestGetPodNetworkStatus(t *testing.T) {
//TODO: add test cases for retrieving ip inside container network namespace
//TODO: add test cases for retrieving ip inside container network namespace
}
}
fakeCmds
:=
make
([]
exec
.
FakeCommandAction
,
0
)
fakeCmds
:=
make
([]
fake
exec
.
FakeCommandAction
,
0
)
for
_
,
t
:=
range
testCases
{
for
_
,
t
:=
range
testCases
{
// the fake commands return the IP from the given index, or an error
// the fake commands return the IP from the given index, or an error
fCmd
:=
exec
.
FakeCmd
{
fCmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
ip
,
ok
:=
podIPMap
[
kubecontainer
.
ContainerID
{
ID
:
t
.
id
}]
ip
,
ok
:=
podIPMap
[
kubecontainer
.
ContainerID
{
ID
:
t
.
id
}]
if
!
ok
{
if
!
ok
{
...
@@ -94,10 +95,10 @@ func TestGetPodNetworkStatus(t *testing.T) {
...
@@ -94,10 +95,10 @@ func TestGetPodNetworkStatus(t *testing.T) {
},
},
}
}
fakeCmds
=
append
(
fakeCmds
,
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
fakeCmds
=
append
(
fakeCmds
,
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fCmd
,
cmd
,
args
...
)
return
fake
exec
.
InitFakeCmd
(
&
fCmd
,
cmd
,
args
...
)
})
})
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
fakeCmds
,
CommandScript
:
fakeCmds
,
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
...
@@ -128,8 +129,8 @@ func TestGetPodNetworkStatus(t *testing.T) {
...
@@ -128,8 +129,8 @@ func TestGetPodNetworkStatus(t *testing.T) {
// TestTeardownCallsShaper tests that a `TearDown` call does call
// TestTeardownCallsShaper tests that a `TearDown` call does call
// `shaper.Reset`
// `shaper.Reset`
func
TestTeardownCallsShaper
(
t
*
testing
.
T
)
{
func
TestTeardownCallsShaper
(
t
*
testing
.
T
)
{
fexec
:=
&
exec
.
FakeExec
{
fexec
:=
&
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{},
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{},
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
},
},
...
@@ -162,22 +163,22 @@ func TestTeardownCallsShaper(t *testing.T) {
...
@@ -162,22 +163,22 @@ func TestTeardownCallsShaper(t *testing.T) {
// TestInit tests that a `Init` call with an MTU sets the MTU
// TestInit tests that a `Init` call with an MTU sets the MTU
func
TestInit_MTU
(
t
*
testing
.
T
)
{
func
TestInit_MTU
(
t
*
testing
.
T
)
{
var
fakeCmds
[]
exec
.
FakeCommandAction
var
fakeCmds
[]
fake
exec
.
FakeCommandAction
{
{
// modprobe br-netfilter
// modprobe br-netfilter
fCmd
:=
exec
.
FakeCmd
{
fCmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
return
make
([]
byte
,
0
),
nil
return
make
([]
byte
,
0
),
nil
},
},
},
},
}
}
fakeCmds
=
append
(
fakeCmds
,
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
fakeCmds
=
append
(
fakeCmds
,
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fCmd
,
cmd
,
args
...
)
return
fake
exec
.
InitFakeCmd
(
&
fCmd
,
cmd
,
args
...
)
})
})
}
}
fexec
:=
&
exec
.
FakeExec
{
fexec
:=
&
fake
exec
.
FakeExec
{
CommandScript
:
fakeCmds
,
CommandScript
:
fakeCmds
,
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
...
@@ -254,8 +255,8 @@ func TestTearDownWithoutRuntime(t *testing.T) {
...
@@ -254,8 +255,8 @@ func TestTearDownWithoutRuntime(t *testing.T) {
fhost
.
Runtime
=
nil
fhost
.
Runtime
=
nil
mockcni
:=
&
mock_cni
.
MockCNI
{}
mockcni
:=
&
mock_cni
.
MockCNI
{}
fexec
:=
&
exec
.
FakeExec
{
fexec
:=
&
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{},
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{},
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
LookPathFunc
:
func
(
file
string
)
(
string
,
error
)
{
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
return
fmt
.
Sprintf
(
"/fake-bin/%s"
,
file
),
nil
},
},
...
...
pkg/kubelet/network/plugins.go
View file @
3dfc8bf7
...
@@ -32,8 +32,8 @@ import (
...
@@ -32,8 +32,8 @@ import (
"k8s.io/kubernetes/pkg/apis/componentconfig"
"k8s.io/kubernetes/pkg/apis/componentconfig"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
"k8s.io/kubernetes/pkg/kubelet/network/hostport"
"k8s.io/kubernetes/pkg/kubelet/network/hostport"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilexec
"k8s.io/utils/exec"
)
)
const
DefaultPluginName
=
"kubernetes.io/no-op"
const
DefaultPluginName
=
"kubernetes.io/no-op"
...
...
pkg/kubelet/prober/common_test.go
View file @
3dfc8bf7
...
@@ -30,7 +30,7 @@ import (
...
@@ -30,7 +30,7 @@ import (
"k8s.io/kubernetes/pkg/kubelet/status"
"k8s.io/kubernetes/pkg/kubelet/status"
statustest
"k8s.io/kubernetes/pkg/kubelet/status/testing"
statustest
"k8s.io/kubernetes/pkg/kubelet/status/testing"
"k8s.io/kubernetes/pkg/probe"
"k8s.io/kubernetes/pkg/probe"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
)
)
const
(
const
(
...
...
pkg/kubelet/prober/prober.go
View file @
3dfc8bf7
...
@@ -37,7 +37,7 @@ import (
...
@@ -37,7 +37,7 @@ import (
execprobe
"k8s.io/kubernetes/pkg/probe/exec"
execprobe
"k8s.io/kubernetes/pkg/probe/exec"
httprobe
"k8s.io/kubernetes/pkg/probe/http"
httprobe
"k8s.io/kubernetes/pkg/probe/http"
tcprobe
"k8s.io/kubernetes/pkg/probe/tcp"
tcprobe
"k8s.io/kubernetes/pkg/probe/tcp"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
"github.com/golang/glog"
"github.com/golang/glog"
)
)
...
...
pkg/kubelet/prober/worker_test.go
View file @
3dfc8bf7
...
@@ -33,7 +33,7 @@ import (
...
@@ -33,7 +33,7 @@ import (
"k8s.io/kubernetes/pkg/kubelet/status"
"k8s.io/kubernetes/pkg/kubelet/status"
statustest
"k8s.io/kubernetes/pkg/kubelet/status/testing"
statustest
"k8s.io/kubernetes/pkg/kubelet/status/testing"
"k8s.io/kubernetes/pkg/probe"
"k8s.io/kubernetes/pkg/probe"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
)
)
func
init
()
{
func
init
()
{
...
...
pkg/kubelet/remote/remote_runtime.go
View file @
3dfc8bf7
...
@@ -28,7 +28,7 @@ import (
...
@@ -28,7 +28,7 @@ import (
internalapi
"k8s.io/kubernetes/pkg/kubelet/apis/cri"
internalapi
"k8s.io/kubernetes/pkg/kubelet/apis/cri"
runtimeapi
"k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
runtimeapi
"k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
"k8s.io/kubernetes/pkg/kubelet/util"
"k8s.io/kubernetes/pkg/kubelet/util"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
// RemoteRuntimeService is a gRPC implementation of internalapi.RuntimeService.
// RemoteRuntimeService is a gRPC implementation of internalapi.RuntimeService.
...
...
pkg/kubelet/rkt/rkt.go
View file @
3dfc8bf7
...
@@ -62,10 +62,10 @@ import (
...
@@ -62,10 +62,10 @@ import (
"k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/kubelet/util/format"
"k8s.io/kubernetes/pkg/kubelet/util/format"
"k8s.io/kubernetes/pkg/securitycontext"
"k8s.io/kubernetes/pkg/securitycontext"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/selinux"
"k8s.io/kubernetes/pkg/util/selinux"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/term"
"k8s.io/kubernetes/pkg/util/term"
utilexec
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
pkg/kubelet/rkt/rkt_test.go
View file @
3dfc8bf7
...
@@ -46,7 +46,8 @@ import (
...
@@ -46,7 +46,8 @@ import (
"k8s.io/kubernetes/pkg/kubelet/network/kubenet"
"k8s.io/kubernetes/pkg/kubelet/network/kubenet"
nettest
"k8s.io/kubernetes/pkg/kubelet/network/testing"
nettest
"k8s.io/kubernetes/pkg/kubelet/network/testing"
"k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/kubelet/types"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
"strings"
"strings"
)
)
...
@@ -1415,8 +1416,8 @@ func TestGenerateRunCommand(t *testing.T) {
...
@@ -1415,8 +1416,8 @@ func TestGenerateRunCommand(t *testing.T) {
HostName
:
tt
.
hostName
,
HostName
:
tt
.
hostName
,
Err
:
tt
.
err
,
Err
:
tt
.
err
,
}
}
rkt
.
execer
=
&
utilexec
.
FakeExec
{
CommandScript
:
[]
utilexec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
util
exec
.
Cmd
{
rkt
.
execer
=
&
fakeexec
.
FakeExec
{
CommandScript
:
[]
fakeexec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
utilexec
.
InitFakeCmd
(
&
util
exec
.
FakeCmd
{},
cmd
,
args
...
)
return
fakeexec
.
InitFakeCmd
(
&
fake
exec
.
FakeCmd
{},
cmd
,
args
...
)
}}}
}}}
// a command should be created of this form, but the returned command shouldn't be called (asserted by having no expectations on it)
// a command should be created of this form, but the returned command shouldn't be called (asserted by having no expectations on it)
...
...
pkg/kubelet/server/remotecommand/exec.go
View file @
3dfc8bf7
...
@@ -28,7 +28,7 @@ import (
...
@@ -28,7 +28,7 @@ import (
remotecommandconsts
"k8s.io/apimachinery/pkg/util/remotecommand"
remotecommandconsts
"k8s.io/apimachinery/pkg/util/remotecommand"
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/client-go/tools/remotecommand"
"k8s.io/client-go/tools/remotecommand"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
// Executor knows how to execute a command in a container in a pod.
// Executor knows how to execute a command in a container in a pod.
...
...
pkg/kubemark/hollow_proxy.go
View file @
3dfc8bf7
...
@@ -32,11 +32,11 @@ import (
...
@@ -32,11 +32,11 @@ import (
"k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/proxy"
proxyconfig
"k8s.io/kubernetes/pkg/proxy/config"
proxyconfig
"k8s.io/kubernetes/pkg/proxy/config"
"k8s.io/kubernetes/pkg/proxy/iptables"
"k8s.io/kubernetes/pkg/proxy/iptables"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utilnode
"k8s.io/kubernetes/pkg/util/node"
utilnode
"k8s.io/kubernetes/pkg/util/node"
utilpointer
"k8s.io/kubernetes/pkg/util/pointer"
utilpointer
"k8s.io/kubernetes/pkg/util/pointer"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilexec
"k8s.io/utils/exec"
"github.com/golang/glog"
"github.com/golang/glog"
)
)
...
...
pkg/probe/exec/exec.go
View file @
3dfc8bf7
...
@@ -18,7 +18,7 @@ package exec
...
@@ -18,7 +18,7 @@ package exec
import
(
import
(
"k8s.io/kubernetes/pkg/probe"
"k8s.io/kubernetes/pkg/probe"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
"github.com/golang/glog"
"github.com/golang/glog"
)
)
...
...
pkg/proxy/iptables/proxier.go
View file @
3dfc8bf7
...
@@ -49,10 +49,10 @@ import (
...
@@ -49,10 +49,10 @@ import (
"k8s.io/kubernetes/pkg/proxy/healthcheck"
"k8s.io/kubernetes/pkg/proxy/healthcheck"
utilproxy
"k8s.io/kubernetes/pkg/proxy/util"
utilproxy
"k8s.io/kubernetes/pkg/proxy/util"
"k8s.io/kubernetes/pkg/util/async"
"k8s.io/kubernetes/pkg/util/async"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilversion
"k8s.io/kubernetes/pkg/util/version"
utilversion
"k8s.io/kubernetes/pkg/util/version"
utilexec
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
pkg/proxy/iptables/proxier_test.go
View file @
3dfc8bf7
...
@@ -36,9 +36,10 @@ import (
...
@@ -36,9 +36,10 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/util/async"
"k8s.io/kubernetes/pkg/util/async"
"k8s.io/kubernetes/pkg/util/exec"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
utiliptables
"k8s.io/kubernetes/pkg/util/iptables"
iptablestest
"k8s.io/kubernetes/pkg/util/iptables/testing"
iptablestest
"k8s.io/kubernetes/pkg/util/iptables/testing"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
func
checkAllLines
(
t
*
testing
.
T
,
table
utiliptables
.
Table
,
save
[]
byte
,
expectedLines
map
[
utiliptables
.
Chain
]
string
)
{
func
checkAllLines
(
t
*
testing
.
T
,
table
utiliptables
.
Table
,
save
[]
byte
,
expectedLines
map
[
utiliptables
.
Chain
]
string
)
{
...
@@ -187,18 +188,18 @@ func newFakeServiceInfo(service proxy.ServicePortName, ip net.IP, port int, prot
...
@@ -187,18 +188,18 @@ func newFakeServiceInfo(service proxy.ServicePortName, ip net.IP, port int, prot
}
}
func
TestDeleteEndpointConnections
(
t
*
testing
.
T
)
{
func
TestDeleteEndpointConnections
(
t
*
testing
.
T
)
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
""
),
fmt
.
Errorf
(
"conntrack v1.4.2 (conntrack-tools): 0 flow entries have been deleted."
)
return
[]
byte
(
""
),
fmt
.
Errorf
(
"conntrack v1.4.2 (conntrack-tools): 0 flow entries have been deleted."
)
},
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
LookPathFunc
:
func
(
cmd
string
)
(
string
,
error
)
{
return
cmd
,
nil
},
LookPathFunc
:
func
(
cmd
string
)
(
string
,
error
)
{
return
cmd
,
nil
},
}
}
...
@@ -386,7 +387,7 @@ func NewFakeProxier(ipt utiliptables.Interface) *Proxier {
...
@@ -386,7 +387,7 @@ func NewFakeProxier(ipt utiliptables.Interface) *Proxier {
// TODO: Call NewProxier after refactoring out the goroutine
// TODO: Call NewProxier after refactoring out the goroutine
// invocation into a Run() method.
// invocation into a Run() method.
p
:=
&
Proxier
{
p
:=
&
Proxier
{
exec
:
&
exec
.
FakeExec
{},
exec
:
&
fake
exec
.
FakeExec
{},
serviceMap
:
make
(
proxyServiceMap
),
serviceMap
:
make
(
proxyServiceMap
),
serviceChanges
:
newServiceChangeMap
(),
serviceChanges
:
newServiceChangeMap
(),
endpointsMap
:
make
(
proxyEndpointsMap
),
endpointsMap
:
make
(
proxyEndpointsMap
),
...
...
pkg/proxy/userspace/proxier.go
View file @
3dfc8bf7
...
@@ -36,8 +36,8 @@ import (
...
@@ -36,8 +36,8 @@ import (
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
utilproxy
"k8s.io/kubernetes/pkg/proxy/util"
utilproxy
"k8s.io/kubernetes/pkg/proxy/util"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/iptables"
"k8s.io/kubernetes/pkg/util/iptables"
utilexec
"k8s.io/utils/exec"
)
)
type
portal
struct
{
type
portal
struct
{
...
...
pkg/proxy/userspace/proxier_test.go
View file @
3dfc8bf7
...
@@ -34,8 +34,9 @@ import (
...
@@ -34,8 +34,9 @@ import (
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/util/exec"
ipttest
"k8s.io/kubernetes/pkg/util/iptables/testing"
ipttest
"k8s.io/kubernetes/pkg/util/iptables/testing"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
const
(
const
(
...
@@ -905,15 +906,15 @@ func TestProxyUpdatePortal(t *testing.T) {
...
@@ -905,15 +906,15 @@ func TestProxyUpdatePortal(t *testing.T) {
waitForNumProxyLoops
(
t
,
p
,
1
)
waitForNumProxyLoops
(
t
,
p
,
1
)
}
}
func
makeFakeExec
()
*
exec
.
FakeExec
{
func
makeFakeExec
()
*
fake
exec
.
FakeExec
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
},
},
}
}
return
&
exec
.
FakeExec
{
return
&
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
LookPathFunc
:
func
(
cmd
string
)
(
string
,
error
)
{
return
cmd
,
nil
},
LookPathFunc
:
func
(
cmd
string
)
(
string
,
error
)
{
return
cmd
,
nil
},
}
}
...
...
pkg/proxy/util/conntrack.go
View file @
3dfc8bf7
...
@@ -20,7 +20,7 @@ import (
...
@@ -20,7 +20,7 @@ import (
"fmt"
"fmt"
"strings"
"strings"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
"github.com/golang/glog"
"github.com/golang/glog"
)
)
...
...
pkg/proxy/util/conntrack_test.go
View file @
3dfc8bf7
...
@@ -21,12 +21,13 @@ import (
...
@@ -21,12 +21,13 @@ import (
"strings"
"strings"
"testing"
"testing"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
func
TestExecConntrackTool
(
t
*
testing
.
T
)
{
func
TestExecConntrackTool
(
t
*
testing
.
T
)
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
...
@@ -34,11 +35,11 @@ func TestExecConntrackTool(t *testing.T) {
...
@@ -34,11 +35,11 @@ func TestExecConntrackTool(t *testing.T) {
},
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
LookPathFunc
:
func
(
cmd
string
)
(
string
,
error
)
{
return
cmd
,
nil
},
LookPathFunc
:
func
(
cmd
string
)
(
string
,
error
)
{
return
cmd
,
nil
},
}
}
...
@@ -74,8 +75,8 @@ func TestExecConntrackTool(t *testing.T) {
...
@@ -74,8 +75,8 @@ func TestExecConntrackTool(t *testing.T) {
}
}
func
TestDeleteServiceConnections
(
t
*
testing
.
T
)
{
func
TestDeleteServiceConnections
(
t
*
testing
.
T
)
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"1 flow entries have been deleted"
),
nil
},
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
...
@@ -83,11 +84,11 @@ func TestDeleteServiceConnections(t *testing.T) {
...
@@ -83,11 +84,11 @@ func TestDeleteServiceConnections(t *testing.T) {
},
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
LookPathFunc
:
func
(
cmd
string
)
(
string
,
error
)
{
return
cmd
,
nil
},
LookPathFunc
:
func
(
cmd
string
)
(
string
,
error
)
{
return
cmd
,
nil
},
}
}
...
...
pkg/proxy/winuserspace/proxysocket.go
View file @
3dfc8bf7
...
@@ -32,8 +32,8 @@ import (
...
@@ -32,8 +32,8 @@ import (
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/ipconfig"
"k8s.io/kubernetes/pkg/util/ipconfig"
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
pkg/util/bandwidth/linux.go
View file @
3dfc8bf7
...
@@ -28,7 +28,7 @@ import (
...
@@ -28,7 +28,7 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
"github.com/golang/glog"
"github.com/golang/glog"
)
)
...
...
pkg/util/bandwidth/linux_test.go
View file @
3dfc8bf7
...
@@ -25,7 +25,8 @@ import (
...
@@ -25,7 +25,8 @@ import (
"testing"
"testing"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
var
tcClassOutput
=
`class htb 1:1 root prio 0 rate 10000bit ceil 10000bit burst 1600b cburst 1600b
var
tcClassOutput
=
`class htb 1:1 root prio 0 rate 10000bit ceil 10000bit burst 1600b cburst 1600b
...
@@ -63,15 +64,15 @@ func TestNextClassID(t *testing.T) {
...
@@ -63,15 +64,15 @@ func TestNextClassID(t *testing.T) {
},
},
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
test
.
output
),
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
test
.
output
),
test
.
err
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
},
}
}
...
@@ -245,15 +246,15 @@ func TestFindCIDRClass(t *testing.T) {
...
@@ -245,15 +246,15 @@ func TestFindCIDRClass(t *testing.T) {
},
},
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
test
.
output
),
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
test
.
output
),
test
.
err
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
},
}
}
...
@@ -284,15 +285,15 @@ func TestFindCIDRClass(t *testing.T) {
...
@@ -284,15 +285,15 @@ func TestFindCIDRClass(t *testing.T) {
}
}
func
TestGetCIDRs
(
t
*
testing
.
T
)
{
func
TestGetCIDRs
(
t
*
testing
.
T
)
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
tcFilterOutput
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
tcFilterOutput
),
nil
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
},
}
}
...
@@ -349,8 +350,8 @@ func TestLimit(t *testing.T) {
...
@@ -349,8 +350,8 @@ func TestLimit(t *testing.T) {
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
tcClassOutput
),
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
tcClassOutput
),
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
test
.
err
},
...
@@ -360,14 +361,14 @@ func TestLimit(t *testing.T) {
...
@@ -360,14 +361,14 @@ func TestLimit(t *testing.T) {
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
iface
:=
"cbr0"
iface
:=
"cbr0"
...
@@ -465,19 +466,19 @@ func TestReset(t *testing.T) {
...
@@ -465,19 +466,19 @@ func TestReset(t *testing.T) {
},
},
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
tcFilterOutput
),
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
tcFilterOutput
),
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
test
.
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
test
.
err
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
iface
:=
"cbr0"
iface
:=
"cbr0"
...
@@ -524,15 +525,15 @@ func TestReset(t *testing.T) {
...
@@ -524,15 +525,15 @@ func TestReset(t *testing.T) {
var
tcQdisc
=
"qdisc htb 1: root refcnt 2 r2q 10 default 30 direct_packets_stat 0
\n
"
var
tcQdisc
=
"qdisc htb 1: root refcnt 2 r2q 10 default 30 direct_packets_stat 0
\n
"
func
TestReconcileInterfaceExists
(
t
*
testing
.
T
)
{
func
TestReconcileInterfaceExists
(
t
*
testing
.
T
)
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
tcQdisc
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
tcQdisc
),
nil
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
iface
:=
"cbr0"
iface
:=
"cbr0"
...
@@ -562,17 +563,17 @@ func TestReconcileInterfaceExists(t *testing.T) {
...
@@ -562,17 +563,17 @@ func TestReconcileInterfaceExists(t *testing.T) {
}
}
func
testReconcileInterfaceHasNoData
(
t
*
testing
.
T
,
output
string
)
{
func
testReconcileInterfaceHasNoData
(
t
*
testing
.
T
,
output
string
)
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
output
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
output
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
output
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
output
),
nil
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
iface
:=
"cbr0"
iface
:=
"cbr0"
...
@@ -635,19 +636,19 @@ var tcQdiscWrong = []string{
...
@@ -635,19 +636,19 @@ var tcQdiscWrong = []string{
func
TestReconcileInterfaceIsWrong
(
t
*
testing
.
T
)
{
func
TestReconcileInterfaceIsWrong
(
t
*
testing
.
T
)
{
for
_
,
test
:=
range
tcQdiscWrong
{
for
_
,
test
:=
range
tcQdiscWrong
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
test
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
test
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"
\n
"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"
\n
"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"
\n
"
),
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"
\n
"
),
nil
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
iface
:=
"cbr0"
iface
:=
"cbr0"
...
...
pkg/util/ebtables/ebtables.go
View file @
3dfc8bf7
...
@@ -22,7 +22,7 @@ import (
...
@@ -22,7 +22,7 @@ import (
"strings"
"strings"
"sync"
"sync"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
const
(
const
(
...
...
pkg/util/ebtables/ebtables_test.go
View file @
3dfc8bf7
...
@@ -20,31 +20,32 @@ import (
...
@@ -20,31 +20,32 @@ import (
"strings"
"strings"
"testing"
"testing"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
func
TestEnsureChain
(
t
*
testing
.
T
)
{
func
TestEnsureChain
(
t
*
testing
.
T
)
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
// Does not Exists
// Does not Exists
func
()
([]
byte
,
error
)
{
return
nil
,
&
exec
.
FakeExitError
{
Status
:
1
}
},
func
()
([]
byte
,
error
)
{
return
nil
,
&
fake
exec
.
FakeExitError
{
Status
:
1
}
},
// Success
// Success
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
nil
},
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
nil
},
// Exists
// Exists
func
()
([]
byte
,
error
)
{
return
nil
,
nil
},
func
()
([]
byte
,
error
)
{
return
nil
,
nil
},
// Does not Exists
// Does not Exists
func
()
([]
byte
,
error
)
{
return
nil
,
&
exec
.
FakeExitError
{
Status
:
1
}
},
func
()
([]
byte
,
error
)
{
return
nil
,
&
fake
exec
.
FakeExitError
{
Status
:
1
}
},
// Fail to create chain
// Fail to create chain
func
()
([]
byte
,
error
)
{
return
nil
,
&
exec
.
FakeExitError
{
Status
:
2
}
},
func
()
([]
byte
,
error
)
{
return
nil
,
&
fake
exec
.
FakeExitError
{
Status
:
2
}
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
...
@@ -76,8 +77,8 @@ func TestEnsureChain(t *testing.T) {
...
@@ -76,8 +77,8 @@ func TestEnsureChain(t *testing.T) {
}
}
func
TestEnsureRule
(
t
*
testing
.
T
)
{
func
TestEnsureRule
(
t
*
testing
.
T
)
{
fcmd
:=
exec
.
FakeCmd
{
fcmd
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
// Exists
// Exists
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
`Bridge table: filter
return
[]
byte
(
`Bridge table: filter
...
@@ -93,14 +94,14 @@ Bridge chain: OUTPUT, entries: 4, policy: ACCEPT
...
@@ -93,14 +94,14 @@ Bridge chain: OUTPUT, entries: 4, policy: ACCEPT
Bridge chain: TEST, entries: 0, policy: ACCEPT`
),
nil
Bridge chain: TEST, entries: 0, policy: ACCEPT`
),
nil
},
},
// Fail to create
// Fail to create
func
()
([]
byte
,
error
)
{
return
nil
,
&
exec
.
FakeExitError
{
Status
:
2
}
},
func
()
([]
byte
,
error
)
{
return
nil
,
&
fake
exec
.
FakeExitError
{
Status
:
2
}
},
},
},
}
}
fexec
:=
exec
.
FakeExec
{
fexec
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
...
...
pkg/util/ipconfig/ipconfig.go
View file @
3dfc8bf7
...
@@ -23,7 +23,7 @@ import (
...
@@ -23,7 +23,7 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
// Interface is an injectable interface for running ipconfig commands. Implementations must be goroutine-safe.
// Interface is an injectable interface for running ipconfig commands. Implementations must be goroutine-safe.
...
...
pkg/util/ipconfig/ipconfig_test.go
View file @
3dfc8bf7
...
@@ -19,7 +19,7 @@ package ipconfig
...
@@ -19,7 +19,7 @@ package ipconfig
import
(
import
(
"testing"
"testing"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
)
)
func
TestGetDnsSuffixSearchList
(
t
*
testing
.
T
)
{
func
TestGetDnsSuffixSearchList
(
t
*
testing
.
T
)
{
...
...
pkg/util/iptables/iptables.go
View file @
3dfc8bf7
...
@@ -27,8 +27,8 @@ import (
...
@@ -27,8 +27,8 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
utildbus
"k8s.io/kubernetes/pkg/util/dbus"
utildbus
"k8s.io/kubernetes/pkg/util/dbus"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
utilversion
"k8s.io/kubernetes/pkg/util/version"
utilversion
"k8s.io/kubernetes/pkg/util/version"
utilexec
"k8s.io/utils/exec"
)
)
type
RulePosition
string
type
RulePosition
string
...
...
pkg/util/iptables/iptables_test.go
View file @
3dfc8bf7
This diff is collapsed.
Click to expand it.
pkg/util/mount/mount.go
View file @
3dfc8bf7
...
@@ -25,7 +25,7 @@ import (
...
@@ -25,7 +25,7 @@ import (
"strings"
"strings"
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
)
)
const
(
const
(
...
...
pkg/util/mount/mount_linux.go
View file @
3dfc8bf7
...
@@ -31,7 +31,7 @@ import (
...
@@ -31,7 +31,7 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
const
(
const
(
...
...
pkg/util/mount/nsenter_mount.go
View file @
3dfc8bf7
...
@@ -25,7 +25,7 @@ import (
...
@@ -25,7 +25,7 @@ import (
"strings"
"strings"
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
)
)
// NsenterMounter is part of experimental support for running the kubelet
// NsenterMounter is part of experimental support for running the kubelet
...
...
pkg/util/mount/safe_format_and_mount_test.go
View file @
3dfc8bf7
...
@@ -21,7 +21,8 @@ import (
...
@@ -21,7 +21,8 @@ import (
"runtime"
"runtime"
"testing"
"testing"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
type
ErrorMounter
struct
{
type
ErrorMounter
struct
{
...
@@ -74,7 +75,7 @@ func TestSafeFormatAndMount(t *testing.T) {
...
@@ -74,7 +75,7 @@ func TestSafeFormatAndMount(t *testing.T) {
description
:
"Test 'fsck' fails with exit status 4"
,
description
:
"Test 'fsck' fails with exit status 4"
,
fstype
:
"ext4"
,
fstype
:
"ext4"
,
execScripts
:
[]
ExecArgs
{
execScripts
:
[]
ExecArgs
{
{
"fsck"
,
[]
string
{
"-a"
,
"/dev/foo"
},
""
,
&
exec
.
FakeExitError
{
Status
:
4
}},
{
"fsck"
,
[]
string
{
"-a"
,
"/dev/foo"
},
""
,
&
fake
exec
.
FakeExitError
{
Status
:
4
}},
},
},
expectedError
:
fmt
.
Errorf
(
"'fsck' found errors on device /dev/foo but could not correct them: ."
),
expectedError
:
fmt
.
Errorf
(
"'fsck' found errors on device /dev/foo but could not correct them: ."
),
},
},
...
@@ -82,14 +83,14 @@ func TestSafeFormatAndMount(t *testing.T) {
...
@@ -82,14 +83,14 @@ func TestSafeFormatAndMount(t *testing.T) {
description
:
"Test 'fsck' fails with exit status 1 (errors found and corrected)"
,
description
:
"Test 'fsck' fails with exit status 1 (errors found and corrected)"
,
fstype
:
"ext4"
,
fstype
:
"ext4"
,
execScripts
:
[]
ExecArgs
{
execScripts
:
[]
ExecArgs
{
{
"fsck"
,
[]
string
{
"-a"
,
"/dev/foo"
},
""
,
&
exec
.
FakeExitError
{
Status
:
1
}},
{
"fsck"
,
[]
string
{
"-a"
,
"/dev/foo"
},
""
,
&
fake
exec
.
FakeExitError
{
Status
:
1
}},
},
},
},
},
{
{
description
:
"Test 'fsck' fails with exit status other than 1 and 4 (likely unformatted device)"
,
description
:
"Test 'fsck' fails with exit status other than 1 and 4 (likely unformatted device)"
,
fstype
:
"ext4"
,
fstype
:
"ext4"
,
execScripts
:
[]
ExecArgs
{
execScripts
:
[]
ExecArgs
{
{
"fsck"
,
[]
string
{
"-a"
,
"/dev/foo"
},
""
,
&
exec
.
FakeExitError
{
Status
:
8
}},
{
"fsck"
,
[]
string
{
"-a"
,
"/dev/foo"
},
""
,
&
fake
exec
.
FakeExitError
{
Status
:
8
}},
},
},
},
},
{
{
...
@@ -180,7 +181,7 @@ func TestSafeFormatAndMount(t *testing.T) {
...
@@ -180,7 +181,7 @@ func TestSafeFormatAndMount(t *testing.T) {
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
commandScripts
:=
[]
exec
.
FakeCommandAction
{}
commandScripts
:=
[]
fake
exec
.
FakeCommandAction
{}
for
_
,
expected
:=
range
test
.
execScripts
{
for
_
,
expected
:=
range
test
.
execScripts
{
ecmd
:=
expected
.
command
ecmd
:=
expected
.
command
eargs
:=
expected
.
args
eargs
:=
expected
.
args
...
@@ -196,17 +197,17 @@ func TestSafeFormatAndMount(t *testing.T) {
...
@@ -196,17 +197,17 @@ func TestSafeFormatAndMount(t *testing.T) {
t
.
Errorf
(
"Unexpected args %v. Expecting %v"
,
args
,
eargs
)
t
.
Errorf
(
"Unexpected args %v. Expecting %v"
,
args
,
eargs
)
}
}
}
}
fake
:=
exec
.
FakeCmd
{
fake
:=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
output
),
err
},
func
()
([]
byte
,
error
)
{
return
[]
byte
(
output
),
err
},
},
},
}
}
return
exec
.
InitFakeCmd
(
&
fake
,
cmd
,
args
...
)
return
fake
exec
.
InitFakeCmd
(
&
fake
,
cmd
,
args
...
)
}
}
commandScripts
=
append
(
commandScripts
,
commandScript
)
commandScripts
=
append
(
commandScripts
,
commandScript
)
}
}
fake
:=
exec
.
FakeExec
{
fake
:=
fake
exec
.
FakeExec
{
CommandScript
:
commandScripts
,
CommandScript
:
commandScripts
,
}
}
...
...
pkg/util/netsh/netsh.go
View file @
3dfc8bf7
...
@@ -25,7 +25,7 @@ import (
...
@@ -25,7 +25,7 @@ import (
"time"
"time"
"github.com/golang/glog"
"github.com/golang/glog"
utilexec
"k8s.io/
kubernetes/pkg/util
/exec"
utilexec
"k8s.io/
utils
/exec"
)
)
// Interface is an injectable interface for running netsh commands. Implementations must be goroutine-safe.
// Interface is an injectable interface for running netsh commands. Implementations must be goroutine-safe.
...
...
pkg/volume/aws_ebs/attacher.go
View file @
3dfc8bf7
...
@@ -26,10 +26,10 @@ import (
...
@@ -26,10 +26,10 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
"k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
type
awsElasticBlockStoreAttacher
struct
{
type
awsElasticBlockStoreAttacher
struct
{
...
...
pkg/volume/aws_ebs/aws_ebs.go
View file @
3dfc8bf7
...
@@ -30,12 +30,12 @@ import (
...
@@ -30,12 +30,12 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
"k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
kstrings
"k8s.io/kubernetes/pkg/util/strings"
kstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
pkg/volume/azure_dd/attacher.go
View file @
3dfc8bf7
...
@@ -31,11 +31,11 @@ import (
...
@@ -31,11 +31,11 @@ import (
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/cloudprovider/providers/azure"
"k8s.io/kubernetes/pkg/cloudprovider/providers/azure"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/keymutex"
"k8s.io/kubernetes/pkg/util/keymutex"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
type
azureDiskDetacher
struct
{
type
azureDiskDetacher
struct
{
...
...
pkg/volume/azure_dd/azure_common.go
View file @
3dfc8bf7
...
@@ -32,10 +32,10 @@ import (
...
@@ -32,10 +32,10 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/cloudprovider/providers/azure"
"k8s.io/kubernetes/pkg/cloudprovider/providers/azure"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
pkg/volume/azure_dd/azure_common_test.go
View file @
3dfc8bf7
...
@@ -22,7 +22,8 @@ import (
...
@@ -22,7 +22,8 @@ import (
"testing"
"testing"
"time"
"time"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
type
fakeFileInfo
struct
{
type
fakeFileInfo
struct
{
...
@@ -107,9 +108,9 @@ func (handler *fakeIOHandler) Readlink(name string) (string, error) {
...
@@ -107,9 +108,9 @@ func (handler *fakeIOHandler) Readlink(name string) (string, error) {
}
}
func
TestIoHandler
(
t
*
testing
.
T
)
{
func
TestIoHandler
(
t
*
testing
.
T
)
{
var
fcmd
exec
.
FakeCmd
var
fcmd
fake
exec
.
FakeCmd
fcmd
=
exec
.
FakeCmd
{
fcmd
=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
// cat
// cat
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
return
[]
byte
(
"Msft
\n
Virtual Disk
\n
"
),
nil
return
[]
byte
(
"Msft
\n
Virtual Disk
\n
"
),
nil
...
@@ -120,10 +121,10 @@ func TestIoHandler(t *testing.T) {
...
@@ -120,10 +121,10 @@ func TestIoHandler(t *testing.T) {
},
},
},
},
}
}
fake
:=
exec
.
FakeExec
{
fake
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
disk
,
err
:=
findDiskByLun
(
lun
,
&
fakeIOHandler
{},
&
fake
)
disk
,
err
:=
findDiskByLun
(
lun
,
&
fakeIOHandler
{},
&
fake
)
...
...
pkg/volume/cinder/attacher.go
View file @
3dfc8bf7
...
@@ -26,10 +26,10 @@ import (
...
@@ -26,10 +26,10 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
type
cinderDiskAttacher
struct
{
type
cinderDiskAttacher
struct
{
...
...
pkg/volume/cinder/cinder.go
View file @
3dfc8bf7
...
@@ -30,13 +30,13 @@ import (
...
@@ -30,13 +30,13 @@ import (
"k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/cloudprovider/providers/openstack"
"k8s.io/kubernetes/pkg/cloudprovider/providers/openstack"
"k8s.io/kubernetes/pkg/cloudprovider/providers/rackspace"
"k8s.io/kubernetes/pkg/cloudprovider/providers/rackspace"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/keymutex"
"k8s.io/kubernetes/pkg/util/keymutex"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
pkg/volume/cinder/cinder_util.go
View file @
3dfc8bf7
...
@@ -31,8 +31,8 @@ import (
...
@@ -31,8 +31,8 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/utils/exec"
)
)
type
CinderDiskUtil
struct
{}
type
CinderDiskUtil
struct
{}
...
...
pkg/volume/fc/attacher.go
View file @
3dfc8bf7
...
@@ -24,10 +24,10 @@ import (
...
@@ -24,10 +24,10 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
type
fcAttacher
struct
{
type
fcAttacher
struct
{
...
...
pkg/volume/fc/fc.go
View file @
3dfc8bf7
...
@@ -23,11 +23,11 @@ import (
...
@@ -23,11 +23,11 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
pkg/volume/flexvolume/attacher-defaults.go
View file @
3dfc8bf7
...
@@ -22,9 +22,9 @@ import (
...
@@ -22,9 +22,9 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/utils/exec"
)
)
type
attacherDefaults
flexVolumeAttacher
type
attacherDefaults
flexVolumeAttacher
...
...
pkg/volume/flexvolume/common_test.go
View file @
3dfc8bf7
...
@@ -23,9 +23,10 @@ import (
...
@@ -23,9 +23,10 @@ import (
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
utiltesting
"k8s.io/client-go/util/testing"
utiltesting
"k8s.io/client-go/util/testing"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumetesting
"k8s.io/kubernetes/pkg/volume/testing"
volumetesting
"k8s.io/kubernetes/pkg/volume/testing"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
func
testPlugin
()
(
*
flexVolumeAttachablePlugin
,
string
)
{
func
testPlugin
()
(
*
flexVolumeAttachablePlugin
,
string
)
{
...
@@ -43,7 +44,7 @@ func testPlugin() (*flexVolumeAttachablePlugin, string) {
...
@@ -43,7 +44,7 @@ func testPlugin() (*flexVolumeAttachablePlugin, string) {
},
rootDir
},
rootDir
}
}
func
assertDriverCall
(
t
*
testing
.
T
,
output
exec
.
FakeCombinedOutputAction
,
expectedCommand
string
,
expectedArgs
...
string
)
exec
.
FakeCommandAction
{
func
assertDriverCall
(
t
*
testing
.
T
,
output
fakeexec
.
FakeCombinedOutputAction
,
expectedCommand
string
,
expectedArgs
...
string
)
fake
exec
.
FakeCommandAction
{
return
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
if
cmd
!=
"/plugin/test"
{
if
cmd
!=
"/plugin/test"
{
t
.
Errorf
(
"Wrong executable called: got %v, expected %v"
,
cmd
,
"/plugin/test"
)
t
.
Errorf
(
"Wrong executable called: got %v, expected %v"
,
cmd
,
"/plugin/test"
)
...
@@ -55,20 +56,20 @@ func assertDriverCall(t *testing.T, output exec.FakeCombinedOutputAction, expect
...
@@ -55,20 +56,20 @@ func assertDriverCall(t *testing.T, output exec.FakeCombinedOutputAction, expect
if
!
sameArgs
(
cmdArgs
,
expectedArgs
)
{
if
!
sameArgs
(
cmdArgs
,
expectedArgs
)
{
t
.
Errorf
(
"Wrong args for %s: got %v, expected %v"
,
args
[
0
],
cmdArgs
,
expectedArgs
)
t
.
Errorf
(
"Wrong args for %s: got %v, expected %v"
,
args
[
0
],
cmdArgs
,
expectedArgs
)
}
}
return
&
exec
.
FakeCmd
{
return
&
fake
exec
.
FakeCmd
{
Argv
:
args
,
Argv
:
args
,
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
output
},
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
output
},
}
}
}
}
}
}
func
fakeRunner
(
fakeCommands
...
exec
.
FakeCommandAction
)
exec
.
Interface
{
func
fakeRunner
(
fakeCommands
...
fake
exec
.
FakeCommandAction
)
exec
.
Interface
{
return
&
exec
.
FakeExec
{
return
&
fake
exec
.
FakeExec
{
CommandScript
:
fakeCommands
,
CommandScript
:
fakeCommands
,
}
}
}
}
func
fakeResultOutput
(
result
interface
{})
exec
.
FakeCombinedOutputAction
{
func
fakeResultOutput
(
result
interface
{})
fake
exec
.
FakeCombinedOutputAction
{
return
func
()
([]
byte
,
error
)
{
return
func
()
([]
byte
,
error
)
{
bytes
,
err
:=
json
.
Marshal
(
result
)
bytes
,
err
:=
json
.
Marshal
(
result
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -78,11 +79,11 @@ func fakeResultOutput(result interface{}) exec.FakeCombinedOutputAction {
...
@@ -78,11 +79,11 @@ func fakeResultOutput(result interface{}) exec.FakeCombinedOutputAction {
}
}
}
}
func
successOutput
()
exec
.
FakeCombinedOutputAction
{
func
successOutput
()
fake
exec
.
FakeCombinedOutputAction
{
return
fakeResultOutput
(
&
DriverStatus
{
StatusSuccess
,
""
,
""
,
""
,
true
,
nil
})
return
fakeResultOutput
(
&
DriverStatus
{
StatusSuccess
,
""
,
""
,
""
,
true
,
nil
})
}
}
func
notSupportedOutput
()
exec
.
FakeCombinedOutputAction
{
func
notSupportedOutput
()
fake
exec
.
FakeCombinedOutputAction
{
return
fakeResultOutput
(
&
DriverStatus
{
StatusNotSupported
,
""
,
""
,
""
,
false
,
nil
})
return
fakeResultOutput
(
&
DriverStatus
{
StatusNotSupported
,
""
,
""
,
""
,
false
,
nil
})
}
}
...
...
pkg/volume/flexvolume/mounter.go
View file @
3dfc8bf7
...
@@ -19,9 +19,9 @@ package flexvolume
...
@@ -19,9 +19,9 @@ package flexvolume
import
(
import
(
"strconv"
"strconv"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/utils/exec"
)
)
// FlexVolumeMounter is the disk that will be exposed by this plugin.
// FlexVolumeMounter is the disk that will be exposed by this plugin.
...
...
pkg/volume/flexvolume/plugin.go
View file @
3dfc8bf7
...
@@ -26,10 +26,10 @@ import (
...
@@ -26,10 +26,10 @@ import (
api
"k8s.io/api/core/v1"
api
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/utils/exec"
)
)
const
flexVolumePluginName
=
"kubernetes.io/flexvolume"
const
flexVolumePluginName
=
"kubernetes.io/flexvolume"
...
...
pkg/volume/flexvolume/plugin_test.go
View file @
3dfc8bf7
...
@@ -19,7 +19,7 @@ package flexvolume
...
@@ -19,7 +19,7 @@ package flexvolume
import
(
import
(
"testing"
"testing"
"k8s.io/kubernetes/pkg/util/exec
"
exec
"k8s.io/utils/exec/testing
"
)
)
func
TestInit
(
t
*
testing
.
T
)
{
func
TestInit
(
t
*
testing
.
T
)
{
...
...
pkg/volume/flexvolume/unmounter.go
View file @
3dfc8bf7
...
@@ -21,9 +21,9 @@ import (
...
@@ -21,9 +21,9 @@ import (
"os"
"os"
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
// FlexVolumeUnmounter is the disk that will be cleaned by this plugin.
// FlexVolumeUnmounter is the disk that will be cleaned by this plugin.
...
...
pkg/volume/gce_pd/attacher.go
View file @
3dfc8bf7
...
@@ -28,10 +28,10 @@ import (
...
@@ -28,10 +28,10 @@ import (
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
type
gcePersistentDiskAttacher
struct
{
type
gcePersistentDiskAttacher
struct
{
...
...
pkg/volume/gce_pd/gce_util.go
View file @
3dfc8bf7
...
@@ -28,9 +28,9 @@ import (
...
@@ -28,9 +28,9 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/cloudprovider"
gcecloud
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
gcecloud
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
pkg/volume/git_repo/git_repo.go
View file @
3dfc8bf7
...
@@ -24,10 +24,10 @@ import (
...
@@ -24,10 +24,10 @@ import (
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
pkg/volume/git_repo/git_repo_test.go
View file @
3dfc8bf7
...
@@ -28,10 +28,11 @@ import (
...
@@ -28,10 +28,11 @@ import (
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/empty_dir"
"k8s.io/kubernetes/pkg/volume/empty_dir"
volumetest
"k8s.io/kubernetes/pkg/volume/testing"
volumetest
"k8s.io/kubernetes/pkg/volume/testing"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
func
newTestHost
(
t
*
testing
.
T
)
(
string
,
volume
.
VolumeHost
)
{
func
newTestHost
(
t
*
testing
.
T
)
(
string
,
volume
.
VolumeHost
)
{
...
@@ -320,8 +321,8 @@ func doTestSetUp(scenario struct {
...
@@ -320,8 +321,8 @@ func doTestSetUp(scenario struct {
allErrs
:=
[]
error
{}
allErrs
:=
[]
error
{}
// Construct combined outputs from expected commands
// Construct combined outputs from expected commands
var
fakeOutputs
[]
exec
.
FakeCombinedOutputAction
var
fakeOutputs
[]
fake
exec
.
FakeCombinedOutputAction
var
fcmd
exec
.
FakeCmd
var
fcmd
fake
exec
.
FakeCmd
for
_
,
expected
:=
range
expecteds
{
for
_
,
expected
:=
range
expecteds
{
if
expected
.
cmd
[
1
]
==
"clone"
{
if
expected
.
cmd
[
1
]
==
"clone"
{
fakeOutputs
=
append
(
fakeOutputs
,
func
()
([]
byte
,
error
)
{
fakeOutputs
=
append
(
fakeOutputs
,
func
()
([]
byte
,
error
)
{
...
@@ -336,19 +337,19 @@ func doTestSetUp(scenario struct {
...
@@ -336,19 +337,19 @@ func doTestSetUp(scenario struct {
})
})
}
}
}
}
fcmd
=
exec
.
FakeCmd
{
fcmd
=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
fakeOutputs
,
CombinedOutputScript
:
fakeOutputs
,
}
}
// Construct fake exec outputs from fcmd
// Construct fake exec outputs from fcmd
var
fakeAction
[]
exec
.
FakeCommandAction
var
fakeAction
[]
fake
exec
.
FakeCommandAction
for
i
:=
0
;
i
<
len
(
expecteds
);
i
++
{
for
i
:=
0
;
i
<
len
(
expecteds
);
i
++
{
fakeAction
=
append
(
fakeAction
,
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
fakeAction
=
append
(
fakeAction
,
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
})
})
}
}
fake
:=
exec
.
FakeExec
{
fake
:=
fake
exec
.
FakeExec
{
CommandScript
:
fakeAction
,
CommandScript
:
fakeAction
,
}
}
...
...
pkg/volume/glusterfs/glusterfs.go
View file @
3dfc8bf7
...
@@ -37,12 +37,12 @@ import (
...
@@ -37,12 +37,12 @@ import (
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
v1helper
"k8s.io/kubernetes/pkg/api/v1/helper"
v1helper
"k8s.io/kubernetes/pkg/api/v1/helper"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volutil
"k8s.io/kubernetes/pkg/volume/util"
volutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
// ProbeVolumePlugins is the primary entrypoint for volume plugins.
// ProbeVolumePlugins is the primary entrypoint for volume plugins.
...
...
pkg/volume/glusterfs/glusterfs_test.go
View file @
3dfc8bf7
...
@@ -30,10 +30,11 @@ import (
...
@@ -30,10 +30,11 @@ import (
"k8s.io/client-go/kubernetes/fake"
"k8s.io/client-go/kubernetes/fake"
core
"k8s.io/client-go/testing"
core
"k8s.io/client-go/testing"
utiltesting
"k8s.io/client-go/util/testing"
utiltesting
"k8s.io/client-go/util/testing"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumetest
"k8s.io/kubernetes/pkg/volume/testing"
volumetest
"k8s.io/kubernetes/pkg/volume/testing"
"k8s.io/utils/exec"
fakeexec
"k8s.io/utils/exec/testing"
)
)
func
TestCanSupport
(
t
*
testing
.
T
)
{
func
TestCanSupport
(
t
*
testing
.
T
)
{
...
@@ -103,18 +104,18 @@ func doTestPlugin(t *testing.T, spec *volume.Spec) {
...
@@ -103,18 +104,18 @@ func doTestPlugin(t *testing.T, spec *volume.Spec) {
}
}
ep
:=
&
v1
.
Endpoints
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
},
Subsets
:
[]
v1
.
EndpointSubset
{{
ep
:=
&
v1
.
Endpoints
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
},
Subsets
:
[]
v1
.
EndpointSubset
{{
Addresses
:
[]
v1
.
EndpointAddress
{{
IP
:
"127.0.0.1"
}}}}}
Addresses
:
[]
v1
.
EndpointAddress
{{
IP
:
"127.0.0.1"
}}}}}
var
fcmd
exec
.
FakeCmd
var
fcmd
fake
exec
.
FakeCmd
fcmd
=
exec
.
FakeCmd
{
fcmd
=
fake
exec
.
FakeCmd
{
CombinedOutputScript
:
[]
exec
.
FakeCombinedOutputAction
{
CombinedOutputScript
:
[]
fake
exec
.
FakeCombinedOutputAction
{
// mount
// mount
func
()
([]
byte
,
error
)
{
func
()
([]
byte
,
error
)
{
return
[]
byte
{},
nil
return
[]
byte
{},
nil
},
},
},
},
}
}
fake
:=
exec
.
FakeExec
{
fake
:=
fake
exec
.
FakeExec
{
CommandScript
:
[]
exec
.
FakeCommandAction
{
CommandScript
:
[]
fake
exec
.
FakeCommandAction
{
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
func
(
cmd
string
,
args
...
string
)
exec
.
Cmd
{
return
fake
exec
.
InitFakeCmd
(
&
fcmd
,
cmd
,
args
...
)
},
},
},
}
}
pod
:=
&
v1
.
Pod
{
ObjectMeta
:
metav1
.
ObjectMeta
{
UID
:
types
.
UID
(
"poduid"
)}}
pod
:=
&
v1
.
Pod
{
ObjectMeta
:
metav1
.
ObjectMeta
{
UID
:
types
.
UID
(
"poduid"
)}}
...
...
pkg/volume/iscsi/iscsi.go
View file @
3dfc8bf7
...
@@ -24,11 +24,11 @@ import (
...
@@ -24,11 +24,11 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
ioutil
"k8s.io/kubernetes/pkg/volume/util"
ioutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
pkg/volume/nfs/nfs.go
View file @
3dfc8bf7
...
@@ -25,11 +25,11 @@ import (
...
@@ -25,11 +25,11 @@ import (
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
pkg/volume/photon_pd/attacher.go
View file @
3dfc8bf7
...
@@ -27,10 +27,10 @@ import (
...
@@ -27,10 +27,10 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/cloudprovider/providers/photon"
"k8s.io/kubernetes/pkg/cloudprovider/providers/photon"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
type
photonPersistentDiskAttacher
struct
{
type
photonPersistentDiskAttacher
struct
{
...
...
pkg/volume/photon_pd/photon_pd.go
View file @
3dfc8bf7
...
@@ -26,12 +26,12 @@ import (
...
@@ -26,12 +26,12 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/api/resource"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
pkg/volume/portworx/portworx.go
View file @
3dfc8bf7
...
@@ -25,11 +25,11 @@ import (
...
@@ -25,11 +25,11 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/api/resource"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
kstrings
"k8s.io/kubernetes/pkg/util/strings"
kstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
pkg/volume/quobyte/quobyte.go
View file @
3dfc8bf7
...
@@ -28,12 +28,12 @@ import (
...
@@ -28,12 +28,12 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/api/resource"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
// ProbeVolumePlugins is the primary entrypoint for volume plugins.
// ProbeVolumePlugins is the primary entrypoint for volume plugins.
...
...
pkg/volume/rbd/rbd.go
View file @
3dfc8bf7
...
@@ -28,12 +28,12 @@ import (
...
@@ -28,12 +28,12 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/apimachinery/pkg/util/uuid"
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volutil
"k8s.io/kubernetes/pkg/volume/util"
volutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
var
(
var
(
...
...
pkg/volume/rbd/rbd_util.go
View file @
3dfc8bf7
...
@@ -35,10 +35,10 @@ import (
...
@@ -35,10 +35,10 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/node"
"k8s.io/kubernetes/pkg/util/node"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
pkg/volume/scaleio/sio_volume.go
View file @
3dfc8bf7
...
@@ -29,12 +29,12 @@ import (
...
@@ -29,12 +29,12 @@ import (
meta
"k8s.io/apimachinery/pkg/apis/meta/v1"
meta
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
kstrings
"k8s.io/kubernetes/pkg/util/strings"
kstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
type
sioVolume
struct
{
type
sioVolume
struct
{
...
...
pkg/volume/storageos/storageos.go
View file @
3dfc8bf7
...
@@ -31,12 +31,12 @@ import (
...
@@ -31,12 +31,12 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
kstrings
"k8s.io/kubernetes/pkg/util/strings"
kstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
// ProbeVolumePlugins is the primary entrypoint for volume plugins.
// ProbeVolumePlugins is the primary entrypoint for volume plugins.
...
...
pkg/volume/storageos/storageos_util.go
View file @
3dfc8bf7
...
@@ -23,7 +23,7 @@ import (
...
@@ -23,7 +23,7 @@ import (
"path"
"path"
"strings"
"strings"
"k8s.io/
kubernetes/pkg/util
/exec"
"k8s.io/
utils
/exec"
"github.com/golang/glog"
"github.com/golang/glog"
storageosapi
"github.com/storageos/go-api"
storageosapi
"github.com/storageos/go-api"
...
...
pkg/volume/vsphere_volume/attacher.go
View file @
3dfc8bf7
...
@@ -25,11 +25,11 @@ import (
...
@@ -25,11 +25,11 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere"
"k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/keymutex"
"k8s.io/kubernetes/pkg/util/keymutex"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
volumeutil
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/utils/exec"
)
)
type
vsphereVMDKAttacher
struct
{
type
vsphereVMDKAttacher
struct
{
...
...
pkg/volume/vsphere_volume/vsphere_volume.go
View file @
3dfc8bf7
...
@@ -27,12 +27,12 @@ import (
...
@@ -27,12 +27,12 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/api/resource"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/mount"
"k8s.io/kubernetes/pkg/util/mount"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/kubernetes/pkg/volume/util/volumehelper"
"k8s.io/utils/exec"
)
)
// This is the primary entrypoint for volume plugins.
// This is the primary entrypoint for volume plugins.
...
...
test/e2e/framework/ingress_utils.go
View file @
3dfc8bf7
...
@@ -48,10 +48,10 @@ import (
...
@@ -48,10 +48,10 @@ import (
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
gcecloud
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
gcecloud
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
utilexec
"k8s.io/kubernetes/pkg/util/exec"
utilfile
"k8s.io/kubernetes/pkg/util/file"
utilfile
"k8s.io/kubernetes/pkg/util/file"
"k8s.io/kubernetes/test/e2e/manifest"
"k8s.io/kubernetes/test/e2e/manifest"
testutils
"k8s.io/kubernetes/test/utils"
testutils
"k8s.io/kubernetes/test/utils"
utilexec
"k8s.io/utils/exec"
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/gomega"
.
"github.com/onsi/gomega"
...
...
test/e2e/framework/util.go
View file @
3dfc8bf7
...
@@ -90,13 +90,13 @@ import (
...
@@ -90,13 +90,13 @@ import (
"k8s.io/kubernetes/pkg/kubelet/util/format"
"k8s.io/kubernetes/pkg/kubelet/util/format"
"k8s.io/kubernetes/pkg/master/ports"
"k8s.io/kubernetes/pkg/master/ports"
sshutil
"k8s.io/kubernetes/pkg/ssh"
sshutil
"k8s.io/kubernetes/pkg/ssh"
uexec
"k8s.io/kubernetes/pkg/util/exec"
"k8s.io/kubernetes/pkg/util/system"
"k8s.io/kubernetes/pkg/util/system"
utilversion
"k8s.io/kubernetes/pkg/util/version"
utilversion
"k8s.io/kubernetes/pkg/util/version"
"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates"
"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates"
"k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache"
"k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache"
"k8s.io/kubernetes/test/e2e/framework/ginkgowrapper"
"k8s.io/kubernetes/test/e2e/framework/ginkgowrapper"
testutil
"k8s.io/kubernetes/test/utils"
testutil
"k8s.io/kubernetes/test/utils"
uexec
"k8s.io/utils/exec"
)
)
const
(
const
(
...
...
test/e2e/kubectl/kubectl.go
View file @
3dfc8bf7
...
@@ -59,12 +59,12 @@ import (
...
@@ -59,12 +59,12 @@ import (
batchv2alpha1
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
batchv2alpha1
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
uexec
"k8s.io/kubernetes/pkg/util/exec"
utilversion
"k8s.io/kubernetes/pkg/util/version"
utilversion
"k8s.io/kubernetes/pkg/util/version"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/generated"
"k8s.io/kubernetes/test/e2e/generated"
"k8s.io/kubernetes/test/e2e/scheduling"
"k8s.io/kubernetes/test/e2e/scheduling"
testutils
"k8s.io/kubernetes/test/utils"
testutils
"k8s.io/kubernetes/test/utils"
uexec
"k8s.io/utils/exec"
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/gomega"
.
"github.com/onsi/gomega"
...
...
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