Commit 3dfc8bf7 authored by ymqytw's avatar ymqytw

update import

parent 088141ca
...@@ -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"
......
...@@ -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"
......
...@@ -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
......
...@@ -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 (
......
...@@ -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 (
......
...@@ -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{
{ {
uexec.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,
}, },
......
...@@ -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"
) )
......
...@@ -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.
......
...@@ -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 (
......
...@@ -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 (
......
...@@ -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 := []utilexec.FakeCommandAction{ fakeCmds := []fakeexec.FakeCommandAction{
func(cmd string, args ...string) utilexec.Cmd { func(cmd string, args ...string) exec.Cmd {
return utilexec.InitFakeCmd(&utilexec.FakeCmd{ return fakeexec.InitFakeCmd(&fakeexec.FakeCmd{
CombinedOutputScript: []utilexec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 := &utilexec.FakeExec{ fexec := &fakeexec.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
......
...@@ -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 (
......
...@@ -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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
func() ([]byte, error) { return []byte(test.output), test.err }, func() ([]byte, error) { return []byte(test.output), test.err },
}, },
} }
fexec := exec.FakeExec{ fexec := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { func(cmd string, args ...string) exec.Cmd {
return exec.InitFakeCmd(&fcmd, cmd, args...) return fakeexec.InitFakeCmd(&fcmd, cmd, args...)
}, },
}, },
LookPathFunc: func(file string) (string, error) { LookPathFunc: func(file string) (string, error) {
......
...@@ -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 (
......
...@@ -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([]fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 fakeexec.InitFakeCmd(&fCmd, cmd, args...)
}) })
} }
fexec := exec.FakeExec{ fexec := fakeexec.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 := &fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{}, CommandScript: []fakeexec.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 []fakeexec.FakeCommandAction
{ {
// modprobe br-netfilter // modprobe br-netfilter
fCmd := exec.FakeCmd{ fCmd := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 fakeexec.InitFakeCmd(&fCmd, cmd, args...)
}) })
} }
fexec := &exec.FakeExec{ fexec := &fakeexec.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 := &fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{}, CommandScript: []fakeexec.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
}, },
......
...@@ -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"
......
...@@ -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 (
......
...@@ -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"
) )
......
...@@ -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() {
......
...@@ -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.
......
...@@ -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 (
......
...@@ -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) utilexec.Cmd { rkt.execer = &fakeexec.FakeExec{CommandScript: []fakeexec.FakeCommandAction{func(cmd string, args ...string) exec.Cmd {
return utilexec.InitFakeCmd(&utilexec.FakeCmd{}, cmd, args...) return fakeexec.InitFakeCmd(&fakeexec.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)
......
...@@ -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.
......
...@@ -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"
) )
......
...@@ -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"
) )
......
...@@ -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 (
......
...@@ -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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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: &fakeexec.FakeExec{},
serviceMap: make(proxyServiceMap), serviceMap: make(proxyServiceMap),
serviceChanges: newServiceChangeMap(), serviceChanges: newServiceChangeMap(),
endpointsMap: make(proxyEndpointsMap), endpointsMap: make(proxyEndpointsMap),
......
...@@ -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 {
......
...@@ -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() *fakeexec.FakeExec {
fcmd := exec.FakeCmd{ fcmd := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 &fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.InitFakeCmd(&fcmd, cmd, args...) },
}, },
LookPathFunc: func(cmd string) (string, error) { return cmd, nil }, LookPathFunc: func(cmd string) (string, error) { return cmd, nil },
} }
......
...@@ -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"
) )
......
...@@ -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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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 fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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 fakeexec.InitFakeCmd(&fcmd, cmd, args...) },
}, },
LookPathFunc: func(cmd string) (string, error) { return cmd, nil }, LookPathFunc: func(cmd string) (string, error) { return cmd, nil },
} }
......
...@@ -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 (
......
...@@ -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"
) )
......
...@@ -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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
func() ([]byte, error) { return []byte(test.output), test.err }, func() ([]byte, error) { return []byte(test.output), test.err },
}, },
} }
fexec := exec.FakeExec{ fexec := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { func(cmd string, args ...string) exec.Cmd {
return exec.InitFakeCmd(&fcmd, cmd, args...) return fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
func() ([]byte, error) { return []byte(test.output), test.err }, func() ([]byte, error) { return []byte(test.output), test.err },
}, },
} }
fexec := exec.FakeExec{ fexec := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { func(cmd string, args ...string) exec.Cmd {
return exec.InitFakeCmd(&fcmd, cmd, args...) return fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
func() ([]byte, error) { return []byte(tcFilterOutput), nil }, func() ([]byte, error) { return []byte(tcFilterOutput), nil },
}, },
} }
fexec := exec.FakeExec{ fexec := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { func(cmd string, args ...string) exec.Cmd {
return exec.InitFakeCmd(&fcmd, cmd, args...) return fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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 fakeexec.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 fakeexec.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 fakeexec.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 fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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 fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
func() ([]byte, error) { return []byte(tcQdisc), nil }, func() ([]byte, error) { return []byte(tcQdisc), nil },
}, },
} }
fexec := exec.FakeExec{ fexec := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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 := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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 fakeexec.InitFakeCmd(&fcmd, cmd, args...) },
}, },
} }
iface := "cbr0" iface := "cbr0"
......
...@@ -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 (
......
...@@ -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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
// Does not Exists // Does not Exists
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} }, func() ([]byte, error) { return nil, &fakeexec.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, &fakeexec.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, &fakeexec.FakeExitError{Status: 2} },
}, },
} }
fexec := exec.FakeExec{ fexec := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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 fakeexec.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 fakeexec.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 fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.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, &fakeexec.FakeExitError{Status: 2} },
}, },
} }
fexec := exec.FakeExec{ fexec := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.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 fakeexec.InitFakeCmd(&fcmd, cmd, args...) },
}, },
} }
......
...@@ -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.
......
...@@ -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) {
......
...@@ -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
......
...@@ -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 (
......
...@@ -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 (
......
...@@ -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
......
...@@ -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"}, "", &fakeexec.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"}, "", &fakeexec.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"}, "", &fakeexec.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 := []fakeexec.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 := fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
func() ([]byte, error) { return []byte(output), err }, func() ([]byte, error) { return []byte(output), err },
}, },
} }
return exec.InitFakeCmd(&fake, cmd, args...) return fakeexec.InitFakeCmd(&fake, cmd, args...)
} }
commandScripts = append(commandScripts, commandScript) commandScripts = append(commandScripts, commandScript)
} }
fake := exec.FakeExec{ fake := fakeexec.FakeExec{
CommandScript: commandScripts, CommandScript: commandScripts,
} }
......
...@@ -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.
......
...@@ -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 {
......
...@@ -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.
......
...@@ -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 {
......
...@@ -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 (
......
...@@ -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 fakeexec.FakeCmd
fcmd = exec.FakeCmd{ fcmd = fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
// cat // cat
func() ([]byte, error) { func() ([]byte, error) {
return []byte("Msft \nVirtual Disk \n"), nil return []byte("Msft \nVirtual 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 := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.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 fakeexec.InitFakeCmd(&fcmd, cmd, args...) },
}, },
} }
disk, err := findDiskByLun(lun, &fakeIOHandler{}, &fake) disk, err := findDiskByLun(lun, &fakeIOHandler{}, &fake)
......
...@@ -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 {
......
...@@ -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.
......
...@@ -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{}
......
...@@ -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 {
......
...@@ -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.
......
...@@ -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
......
...@@ -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) fakeexec.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 &fakeexec.FakeCmd{
Argv: args, Argv: args,
CombinedOutputScript: []exec.FakeCombinedOutputAction{output}, CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{output},
} }
} }
} }
func fakeRunner(fakeCommands ...exec.FakeCommandAction) exec.Interface { func fakeRunner(fakeCommands ...fakeexec.FakeCommandAction) exec.Interface {
return &exec.FakeExec{ return &fakeexec.FakeExec{
CommandScript: fakeCommands, CommandScript: fakeCommands,
} }
} }
func fakeResultOutput(result interface{}) exec.FakeCombinedOutputAction { func fakeResultOutput(result interface{}) fakeexec.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() fakeexec.FakeCombinedOutputAction {
return fakeResultOutput(&DriverStatus{StatusSuccess, "", "", "", true, nil}) return fakeResultOutput(&DriverStatus{StatusSuccess, "", "", "", true, nil})
} }
func notSupportedOutput() exec.FakeCombinedOutputAction { func notSupportedOutput() fakeexec.FakeCombinedOutputAction {
return fakeResultOutput(&DriverStatus{StatusNotSupported, "", "", "", false, nil}) return fakeResultOutput(&DriverStatus{StatusNotSupported, "", "", "", false, nil})
} }
......
...@@ -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.
......
...@@ -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"
......
...@@ -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) {
......
...@@ -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.
......
...@@ -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 {
......
...@@ -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 (
......
...@@ -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.
......
...@@ -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 []fakeexec.FakeCombinedOutputAction
var fcmd exec.FakeCmd var fcmd fakeexec.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 = fakeexec.FakeCmd{
CombinedOutputScript: fakeOutputs, CombinedOutputScript: fakeOutputs,
} }
// Construct fake exec outputs from fcmd // Construct fake exec outputs from fcmd
var fakeAction []exec.FakeCommandAction var fakeAction []fakeexec.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 fakeexec.InitFakeCmd(&fcmd, cmd, args...)
}) })
} }
fake := exec.FakeExec{ fake := fakeexec.FakeExec{
CommandScript: fakeAction, CommandScript: fakeAction,
} }
......
...@@ -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.
......
...@@ -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 fakeexec.FakeCmd
fcmd = exec.FakeCmd{ fcmd = fakeexec.FakeCmd{
CombinedOutputScript: []exec.FakeCombinedOutputAction{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
// mount // mount
func() ([]byte, error) { func() ([]byte, error) {
return []byte{}, nil return []byte{}, nil
}, },
}, },
} }
fake := exec.FakeExec{ fake := fakeexec.FakeExec{
CommandScript: []exec.FakeCommandAction{ CommandScript: []fakeexec.FakeCommandAction{
func(cmd string, args ...string) exec.Cmd { return exec.InitFakeCmd(&fcmd, cmd, args...) }, func(cmd string, args ...string) exec.Cmd { return fakeexec.InitFakeCmd(&fcmd, cmd, args...) },
}, },
} }
pod := &v1.Pod{ObjectMeta: metav1.ObjectMeta{UID: types.UID("poduid")}} pod := &v1.Pod{ObjectMeta: metav1.ObjectMeta{UID: types.UID("poduid")}}
......
...@@ -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.
......
...@@ -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.
......
...@@ -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 {
......
...@@ -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.
......
...@@ -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.
......
...@@ -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.
......
...@@ -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 (
......
...@@ -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 (
......
...@@ -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 {
......
...@@ -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.
......
...@@ -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"
......
...@@ -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 {
......
...@@ -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.
......
...@@ -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"
......
...@@ -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 (
......
...@@ -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"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment