mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
update import
This commit is contained in:
parent
088141ca3a
commit
3dfc8bf7f3
@ -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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
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 (
|
|||||||
|
|
||||||
"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 (
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
|
|
||||||
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) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
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 (
|
|||||||
"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 (
|
|||||||
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) {
|
|||||||
//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) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
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) {
|
|||||||
// 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) {
|
|||||||
|
|
||||||
// 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) {
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
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 (
|
|||||||
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 (
|
|||||||
"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
|
|||||||
|
|
||||||
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 (
|
|||||||
"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 (
|
|||||||
"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
|
|||||||
}
|
}
|
||||||
|
|
||||||
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 {
|
|||||||
// 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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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 (
|
|||||||
"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 (
|
|||||||
|
|
||||||
"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 (
|
|||||||
"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) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
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) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
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) {
|
|||||||
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) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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{
|
|||||||
|
|
||||||
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 (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
utilexec "k8s.io/kubernetes/pkg/util/exec"
|
utilexec "k8s.io/utils/exec"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -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) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
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 (
|
|||||||
|
|
||||||
"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
|
|||||||
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 (
|
|||||||
"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
|
||||||
|
@ -26,7 +26,8 @@ import (
|
|||||||
|
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/kubernetes/pkg/util/dbus"
|
"k8s.io/kubernetes/pkg/util/dbus"
|
||||||
"k8s.io/kubernetes/pkg/util/exec"
|
"k8s.io/utils/exec"
|
||||||
|
fakeexec "k8s.io/utils/exec/testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
const TestLockfilePath = "xtables.lock"
|
const TestLockfilePath = "xtables.lock"
|
||||||
@ -42,8 +43,8 @@ func getIPTablesCommand(protocol Protocol) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testEnsureChain(t *testing.T, protocol Protocol) {
|
func testEnsureChain(t *testing.T, protocol Protocol) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -51,18 +52,18 @@ func testEnsureChain(t *testing.T, protocol Protocol) {
|
|||||||
// Success.
|
// Success.
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
// Exists.
|
// Exists.
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
// Failure.
|
// Failure.
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), protocol)
|
runner := New(&fexec, dbus.NewFake(nil, nil), protocol)
|
||||||
@ -106,8 +107,8 @@ func TestEnsureChainIpv6(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestFlushChain(t *testing.T) {
|
func TestFlushChain(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -115,15 +116,15 @@ func TestFlushChain(t *testing.T) {
|
|||||||
// Success.
|
// Success.
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
// Failure.
|
// Failure.
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -147,8 +148,8 @@ func TestFlushChain(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteChain(t *testing.T) {
|
func TestDeleteChain(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -156,15 +157,15 @@ func TestDeleteChain(t *testing.T) {
|
|||||||
// Success.
|
// Success.
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
// Failure.
|
// Failure.
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -188,8 +189,8 @@ func TestDeleteChain(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestEnsureRuleAlreadyExists(t *testing.T) {
|
func TestEnsureRuleAlreadyExists(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -198,14 +199,14 @@ func TestEnsureRuleAlreadyExists(t *testing.T) {
|
|||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
// The second Command() call is checking the rule. Success of that exec means "done".
|
// The second Command() call is checking the rule. Success of that exec means "done".
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -226,27 +227,27 @@ func TestEnsureRuleAlreadyExists(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestEnsureRuleNew(t *testing.T) {
|
func TestEnsureRuleNew(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
||||||
// Status 1 on the first call.
|
// Status 1 on the first call.
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
// Success on the second call.
|
// Success on the second call.
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
// The second Command() call is checking the rule. Failure of that means create it.
|
// The second Command() call is checking the rule. Failure of that means create it.
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -267,24 +268,24 @@ func TestEnsureRuleNew(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestEnsureRuleErrorChecking(t *testing.T) {
|
func TestEnsureRuleErrorChecking(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
||||||
// Status 2 on the first call.
|
// Status 2 on the first call.
|
||||||
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{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
// The second Command() call is checking the rule. Failure of that means create it.
|
// The second Command() call is checking the rule. Failure of that means create it.
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -299,27 +300,27 @@ func TestEnsureRuleErrorChecking(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestEnsureRuleErrorCreating(t *testing.T) {
|
func TestEnsureRuleErrorCreating(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
||||||
// Status 1 on the first call.
|
// Status 1 on the first call.
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
// Status 1 on the second call.
|
// Status 1 on the second call.
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
// The second Command() call is checking the rule. Failure of that means create it.
|
// The second Command() call is checking the rule. Failure of that means create it.
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -334,24 +335,24 @@ func TestEnsureRuleErrorCreating(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteRuleDoesNotExist(t *testing.T) {
|
func TestDeleteRuleDoesNotExist(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
||||||
// Status 1 on the first call.
|
// Status 1 on the first call.
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
// The second Command() call is checking the rule. Failure of that exec means "does not exist".
|
// The second Command() call is checking the rule. Failure of that exec means "does not exist".
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -369,8 +370,8 @@ func TestDeleteRuleDoesNotExist(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteRuleExists(t *testing.T) {
|
func TestDeleteRuleExists(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -381,15 +382,15 @@ func TestDeleteRuleExists(t *testing.T) {
|
|||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
// The second Command() call is checking the rule. Success of that means delete it.
|
// The second Command() call is checking the rule. Success of that means delete it.
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -407,24 +408,24 @@ func TestDeleteRuleExists(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteRuleErrorChecking(t *testing.T) {
|
func TestDeleteRuleErrorChecking(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
||||||
// Status 2 on the first call.
|
// Status 2 on the first call.
|
||||||
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{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
// The second Command() call is checking the rule. Failure of that means create it.
|
// The second Command() call is checking the rule. Failure of that means create it.
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -439,8 +440,8 @@ func TestDeleteRuleErrorChecking(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteRuleErrorDeleting(t *testing.T) {
|
func TestDeleteRuleErrorDeleting(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -448,18 +449,18 @@ func TestDeleteRuleErrorDeleting(t *testing.T) {
|
|||||||
// Success on the first call.
|
// Success on the first call.
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
// Status 1 on the second call.
|
// Status 1 on the second call.
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
// The second Command() call is checking the rule. Success of that means delete it.
|
// The second Command() call is checking the rule. Success of that means delete it.
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -487,14 +488,14 @@ func TestGetIPTablesHasCheckCommand(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, testCase := range testCases {
|
for _, testCase := range testCases {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
func() ([]byte, error) { return []byte(testCase.Version), nil },
|
func() ([]byte, error) { return []byte(testCase.Version), 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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
version, err := getIPTablesVersionString(&fexec)
|
version, err := getIPTablesVersionString(&fexec)
|
||||||
@ -520,16 +521,16 @@ func TestCheckRuleWithoutCheckPresent(t *testing.T) {
|
|||||||
COMMIT
|
COMMIT
|
||||||
# Completed on Wed Oct 29 14:56:01 2014`
|
# Completed on Wed Oct 29 14:56:01 2014`
|
||||||
|
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// Success.
|
// Success.
|
||||||
func() ([]byte, error) { return []byte(iptables_save_output), nil },
|
func() ([]byte, error) { return []byte(iptables_save_output), nil },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// The first Command() call is checking the rule. Success of that exec means "done".
|
// The first Command() call is checking the rule. Success of that exec means "done".
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := &runner{exec: &fexec}
|
runner := &runner{exec: &fexec}
|
||||||
@ -563,16 +564,16 @@ func TestCheckRuleWithoutCheckAbsent(t *testing.T) {
|
|||||||
COMMIT
|
COMMIT
|
||||||
# Completed on Wed Oct 29 14:56:01 2014`
|
# Completed on Wed Oct 29 14:56:01 2014`
|
||||||
|
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// Success.
|
// Success.
|
||||||
func() ([]byte, error) { return []byte(iptables_save_output), nil },
|
func() ([]byte, error) { return []byte(iptables_save_output), nil },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// The first Command() call is checking the rule. Success of that exec means "done".
|
// The first Command() call is checking the rule. Success of that exec means "done".
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := &runner{exec: &fexec}
|
runner := &runner{exec: &fexec}
|
||||||
@ -615,8 +616,8 @@ func TestIPTablesWaitFlag(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestWaitFlagUnavailable(t *testing.T) {
|
func TestWaitFlagUnavailable(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.4.19"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.4.19"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -625,13 +626,13 @@ func TestWaitFlagUnavailable(t *testing.T) {
|
|||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fexec := exec.FakeExec{
|
fexec := fakeexec.FakeExec{
|
||||||
CommandScript: []exec.FakeCommandAction{
|
CommandScript: []fakeexec.FakeCommandAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
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...) },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -649,8 +650,8 @@ func TestWaitFlagUnavailable(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestWaitFlagOld(t *testing.T) {
|
func TestWaitFlagOld(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.4.20"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.4.20"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -659,11 +660,11 @@ func TestWaitFlagOld(t *testing.T) {
|
|||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, 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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -684,8 +685,8 @@ func TestWaitFlagOld(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestWaitFlagNew(t *testing.T) {
|
func TestWaitFlagNew(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.4.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.4.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -694,11 +695,11 @@ func TestWaitFlagNew(t *testing.T) {
|
|||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, 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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -726,8 +727,8 @@ func TestReload(t *testing.T) {
|
|||||||
|
|
||||||
reloaded := make(chan bool, 2)
|
reloaded := make(chan bool, 2)
|
||||||
|
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.4.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.4.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -737,7 +738,7 @@ func TestReload(t *testing.T) {
|
|||||||
// EnsureChain
|
// EnsureChain
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
// EnsureRule abc check
|
// EnsureRule abc check
|
||||||
func() ([]byte, error) { return []byte{}, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return []byte{}, &fakeexec.FakeExitError{Status: 1} },
|
||||||
// EnsureRule abc
|
// EnsureRule abc
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
|
|
||||||
@ -745,21 +746,21 @@ func TestReload(t *testing.T) {
|
|||||||
// EnsureChain
|
// EnsureChain
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
// EnsureRule abc check
|
// EnsureRule abc check
|
||||||
func() ([]byte, error) { return []byte{}, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return []byte{}, &fakeexec.FakeExitError{Status: 1} },
|
||||||
// EnsureRule abc
|
// EnsureRule abc
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, 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...) },
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -841,24 +842,24 @@ func TestSaveInto(t *testing.T) {
|
|||||||
COMMIT
|
COMMIT
|
||||||
# Completed on Thu Jan 19 11:38:09 2017`
|
# Completed on Thu Jan 19 11:38:09 2017`
|
||||||
|
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
||||||
},
|
},
|
||||||
RunScript: []exec.FakeRunAction{
|
RunScript: []fakeexec.FakeRunAction{
|
||||||
func() ([]byte, []byte, error) { return []byte(output), nil, nil },
|
func() ([]byte, []byte, error) { return []byte(output), nil, nil },
|
||||||
func() ([]byte, []byte, error) { return nil, nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, []byte, error) { return nil, nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -894,8 +895,8 @@ COMMIT
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestRestore(t *testing.T) {
|
func TestRestore(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
@ -904,18 +905,18 @@ func TestRestore(t *testing.T) {
|
|||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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...) },
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
runner := New(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4)
|
||||||
@ -978,22 +979,22 @@ func TestRestore(t *testing.T) {
|
|||||||
|
|
||||||
// TestRestoreAll tests only the simplest use case, as flag handling code is already tested in TestRestore
|
// TestRestoreAll tests only the simplest use case, as flag handling code is already tested in TestRestore
|
||||||
func TestRestoreAll(t *testing.T) {
|
func TestRestoreAll(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := newInternal(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4, TestLockfilePath)
|
runner := newInternal(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4, TestLockfilePath)
|
||||||
@ -1023,22 +1024,22 @@ func TestRestoreAll(t *testing.T) {
|
|||||||
|
|
||||||
// TestRestoreAllWait tests that the "wait" flag is passed to a compatible iptables-restore
|
// TestRestoreAllWait tests that the "wait" flag is passed to a compatible iptables-restore
|
||||||
func TestRestoreAllWait(t *testing.T) {
|
func TestRestoreAllWait(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables-restore v1.9.22"), nil },
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := newInternal(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4, TestLockfilePath)
|
runner := newInternal(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4, TestLockfilePath)
|
||||||
@ -1069,22 +1070,22 @@ func TestRestoreAllWait(t *testing.T) {
|
|||||||
// TestRestoreAllWaitOldIptablesRestore tests that the "wait" flag is not passed
|
// TestRestoreAllWaitOldIptablesRestore tests that the "wait" flag is not passed
|
||||||
// to a in-compatible iptables-restore
|
// to a in-compatible iptables-restore
|
||||||
func TestRestoreAllWaitOldIptablesRestore(t *testing.T) {
|
func TestRestoreAllWaitOldIptablesRestore(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("unrecognized option: --version"), nil },
|
func() ([]byte, error) { return []byte("unrecognized option: --version"), nil },
|
||||||
func() ([]byte, error) { return []byte{}, nil },
|
func() ([]byte, error) { return []byte{}, nil },
|
||||||
func() ([]byte, error) { return nil, &exec.FakeExitError{Status: 1} },
|
func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
runner := newInternal(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4, TestLockfilePath)
|
runner := newInternal(&fexec, dbus.NewFake(nil, nil), ProtocolIpv4, TestLockfilePath)
|
||||||
@ -1119,18 +1120,18 @@ func TestRestoreAllWaitOldIptablesRestore(t *testing.T) {
|
|||||||
// iptables /run lock when using an iptables-restore version that does not
|
// iptables /run lock when using an iptables-restore version that does not
|
||||||
// support the --wait argument
|
// support the --wait argument
|
||||||
func TestRestoreAllGrabNewLock(t *testing.T) {
|
func TestRestoreAllGrabNewLock(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("unrecognized option: --version"), nil },
|
func() ([]byte, error) { return []byte("unrecognized option: --version"), 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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1162,18 +1163,18 @@ func TestRestoreAllGrabNewLock(t *testing.T) {
|
|||||||
// iptables @xtables abstract unix socket lock when using an iptables-restore
|
// iptables @xtables abstract unix socket lock when using an iptables-restore
|
||||||
// version that does not support the --wait argument
|
// version that does not support the --wait argument
|
||||||
func TestRestoreAllGrabOldLock(t *testing.T) {
|
func TestRestoreAllGrabOldLock(t *testing.T) {
|
||||||
fcmd := exec.FakeCmd{
|
fcmd := fakeexec.FakeCmd{
|
||||||
CombinedOutputScript: []exec.FakeCombinedOutputAction{
|
CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{
|
||||||
// iptables version check
|
// iptables version check
|
||||||
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
func() ([]byte, error) { return []byte("iptables v1.9.22"), nil },
|
||||||
// iptables-restore version check
|
// iptables-restore version check
|
||||||
func() ([]byte, error) { return []byte("unrecognized option: --version"), nil },
|
func() ([]byte, error) { return []byte("unrecognized option: --version"), 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...) },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 (
|
|||||||
|
|
||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
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) {
|
|||||||
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) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
|
|
||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
}, 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
|
|||||||
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 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
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 (
|
|||||||
|
|
||||||
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
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
|
|
||||||
"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 (
|
|||||||
"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 {
|
|||||||
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 {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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 (
|
|||||||
"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 (
|
|||||||
"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) {
|
|||||||
}
|
}
|
||||||
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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
|
|
||||||
"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 (
|
|||||||
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 (
|
|||||||
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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
"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 (
|
|||||||
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"
|
||||||
|
Loading…
Reference in New Issue
Block a user