summaryrefslogtreecommitdiff
path: root/vendor/k8s.io/kubernetes/pkg/util/exec
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2018-03-26 18:26:55 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2018-03-27 18:09:12 +0000
commitaf64e10400f8533a0c48ecdf5ab9b7fbf329e14e (patch)
tree59160e3841b440dd35189c724bbb4375a7be173b /vendor/k8s.io/kubernetes/pkg/util/exec
parent26d7e3c7b85e28c4e42998c90fdcc14079f13eef (diff)
downloadpodman-af64e10400f8533a0c48ecdf5ab9b7fbf329e14e.tar.gz
podman-af64e10400f8533a0c48ecdf5ab9b7fbf329e14e.tar.bz2
podman-af64e10400f8533a0c48ecdf5ab9b7fbf329e14e.zip
Vendor in lots of kubernetes stuff to shrink image size
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #554 Approved by: mheon
Diffstat (limited to 'vendor/k8s.io/kubernetes/pkg/util/exec')
-rw-r--r--vendor/k8s.io/kubernetes/pkg/util/exec/doc.go18
-rw-r--r--vendor/k8s.io/kubernetes/pkg/util/exec/exec.go200
-rw-r--r--vendor/k8s.io/kubernetes/pkg/util/exec/fake_exec.go145
3 files changed, 0 insertions, 363 deletions
diff --git a/vendor/k8s.io/kubernetes/pkg/util/exec/doc.go b/vendor/k8s.io/kubernetes/pkg/util/exec/doc.go
deleted file mode 100644
index de7301c8d..000000000
--- a/vendor/k8s.io/kubernetes/pkg/util/exec/doc.go
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2014 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Package exec provides an injectable interface and implementations for running commands.
-package exec // import "k8s.io/kubernetes/pkg/util/exec"
diff --git a/vendor/k8s.io/kubernetes/pkg/util/exec/exec.go b/vendor/k8s.io/kubernetes/pkg/util/exec/exec.go
deleted file mode 100644
index f43bfa7a1..000000000
--- a/vendor/k8s.io/kubernetes/pkg/util/exec/exec.go
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
-Copyright 2014 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package exec
-
-import (
- "io"
- osexec "os/exec"
- "syscall"
- "time"
-)
-
-// ErrExecutableNotFound is returned if the executable is not found.
-var ErrExecutableNotFound = osexec.ErrNotFound
-
-// Interface is an interface that presents a subset of the os/exec API. Use this
-// when you want to inject fakeable/mockable exec behavior.
-type Interface interface {
- // Command returns a Cmd instance which can be used to run a single command.
- // This follows the pattern of package os/exec.
- Command(cmd string, args ...string) Cmd
-
- // LookPath wraps os/exec.LookPath
- LookPath(file string) (string, error)
-}
-
-// Cmd is an interface that presents an API that is very similar to Cmd from os/exec.
-// As more functionality is needed, this can grow. Since Cmd is a struct, we will have
-// to replace fields with get/set method pairs.
-type Cmd interface {
- // Run runs the command to the completion.
- Run() error
- // CombinedOutput runs the command and returns its combined standard output
- // and standard error. This follows the pattern of package os/exec.
- CombinedOutput() ([]byte, error)
- // Output runs the command and returns standard output, but not standard err
- Output() ([]byte, error)
- SetDir(dir string)
- SetStdin(in io.Reader)
- SetStdout(out io.Writer)
- SetStderr(out io.Writer)
- // Stops the command by sending SIGTERM. It is not guaranteed the
- // process will stop before this function returns. If the process is not
- // responding, an internal timer function will send a SIGKILL to force
- // terminate after 10 seconds.
- Stop()
-}
-
-// ExitError is an interface that presents an API similar to os.ProcessState, which is
-// what ExitError from os/exec is. This is designed to make testing a bit easier and
-// probably loses some of the cross-platform properties of the underlying library.
-type ExitError interface {
- String() string
- Error() string
- Exited() bool
- ExitStatus() int
-}
-
-// Implements Interface in terms of really exec()ing.
-type executor struct{}
-
-// New returns a new Interface which will os/exec to run commands.
-func New() Interface {
- return &executor{}
-}
-
-// Command is part of the Interface interface.
-func (executor *executor) Command(cmd string, args ...string) Cmd {
- return (*cmdWrapper)(osexec.Command(cmd, args...))
-}
-
-// LookPath is part of the Interface interface
-func (executor *executor) LookPath(file string) (string, error) {
- return osexec.LookPath(file)
-}
-
-// Wraps exec.Cmd so we can capture errors.
-type cmdWrapper osexec.Cmd
-
-func (cmd *cmdWrapper) SetDir(dir string) {
- cmd.Dir = dir
-}
-
-func (cmd *cmdWrapper) SetStdin(in io.Reader) {
- cmd.Stdin = in
-}
-
-func (cmd *cmdWrapper) SetStdout(out io.Writer) {
- cmd.Stdout = out
-}
-
-func (cmd *cmdWrapper) SetStderr(out io.Writer) {
- cmd.Stderr = out
-}
-
-// Run is part of the Cmd interface.
-func (cmd *cmdWrapper) Run() error {
- return (*osexec.Cmd)(cmd).Run()
-}
-
-// CombinedOutput is part of the Cmd interface.
-func (cmd *cmdWrapper) CombinedOutput() ([]byte, error) {
- out, err := (*osexec.Cmd)(cmd).CombinedOutput()
- if err != nil {
- return out, handleError(err)
- }
- return out, nil
-}
-
-func (cmd *cmdWrapper) Output() ([]byte, error) {
- out, err := (*osexec.Cmd)(cmd).Output()
- if err != nil {
- return out, handleError(err)
- }
- return out, nil
-}
-
-// Stop is part of the Cmd interface.
-func (cmd *cmdWrapper) Stop() {
- c := (*osexec.Cmd)(cmd)
- if c.ProcessState.Exited() {
- return
- }
- c.Process.Signal(syscall.SIGTERM)
- time.AfterFunc(10*time.Second, func() {
- if c.ProcessState.Exited() {
- return
- }
- c.Process.Signal(syscall.SIGKILL)
- })
-}
-
-func handleError(err error) error {
- if ee, ok := err.(*osexec.ExitError); ok {
- // Force a compile fail if exitErrorWrapper can't convert to ExitError.
- var x ExitError = &ExitErrorWrapper{ee}
- return x
- }
- if ee, ok := err.(*osexec.Error); ok {
- if ee.Err == osexec.ErrNotFound {
- return ErrExecutableNotFound
- }
- }
- return err
-}
-
-// ExitErrorWrapper is an implementation of ExitError in terms of os/exec ExitError.
-// Note: standard exec.ExitError is type *os.ProcessState, which already implements Exited().
-type ExitErrorWrapper struct {
- *osexec.ExitError
-}
-
-var _ ExitError = ExitErrorWrapper{}
-
-// ExitStatus is part of the ExitError interface.
-func (eew ExitErrorWrapper) ExitStatus() int {
- ws, ok := eew.Sys().(syscall.WaitStatus)
- if !ok {
- panic("can't call ExitStatus() on a non-WaitStatus exitErrorWrapper")
- }
- return ws.ExitStatus()
-}
-
-// CodeExitError is an implementation of ExitError consisting of an error object
-// and an exit code (the upper bits of os.exec.ExitStatus).
-type CodeExitError struct {
- Err error
- Code int
-}
-
-var _ ExitError = CodeExitError{}
-
-func (e CodeExitError) Error() string {
- return e.Err.Error()
-}
-
-func (e CodeExitError) String() string {
- return e.Err.Error()
-}
-
-func (e CodeExitError) Exited() bool {
- return true
-}
-
-func (e CodeExitError) ExitStatus() int {
- return e.Code
-}
diff --git a/vendor/k8s.io/kubernetes/pkg/util/exec/fake_exec.go b/vendor/k8s.io/kubernetes/pkg/util/exec/fake_exec.go
deleted file mode 100644
index c7fcd6cec..000000000
--- a/vendor/k8s.io/kubernetes/pkg/util/exec/fake_exec.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2014 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package exec
-
-import (
- "fmt"
- "io"
-)
-
-// A simple scripted Interface type.
-type FakeExec struct {
- CommandScript []FakeCommandAction
- CommandCalls int
- LookPathFunc func(string) (string, error)
-}
-
-type FakeCommandAction func(cmd string, args ...string) Cmd
-
-func (fake *FakeExec) Command(cmd string, args ...string) Cmd {
- if fake.CommandCalls > len(fake.CommandScript)-1 {
- panic(fmt.Sprintf("ran out of Command() actions. Could not handle command [%d]: %s args: %v", fake.CommandCalls, cmd, args))
- }
- i := fake.CommandCalls
- fake.CommandCalls++
- return fake.CommandScript[i](cmd, args...)
-}
-
-func (fake *FakeExec) LookPath(file string) (string, error) {
- return fake.LookPathFunc(file)
-}
-
-// A simple scripted Cmd type.
-type FakeCmd struct {
- Argv []string
- CombinedOutputScript []FakeCombinedOutputAction
- CombinedOutputCalls int
- CombinedOutputLog [][]string
- RunScript []FakeRunAction
- RunCalls int
- RunLog [][]string
- Dirs []string
- Stdin io.Reader
- Stdout io.Writer
- Stderr io.Writer
-}
-
-func InitFakeCmd(fake *FakeCmd, cmd string, args ...string) Cmd {
- fake.Argv = append([]string{cmd}, args...)
- return fake
-}
-
-type FakeCombinedOutputAction func() ([]byte, error)
-type FakeRunAction func() ([]byte, []byte, error)
-
-func (fake *FakeCmd) SetDir(dir string) {
- fake.Dirs = append(fake.Dirs, dir)
-}
-
-func (fake *FakeCmd) SetStdin(in io.Reader) {
- fake.Stdin = in
-}
-
-func (fake *FakeCmd) SetStdout(out io.Writer) {
- fake.Stdout = out
-}
-
-func (fake *FakeCmd) SetStderr(out io.Writer) {
- fake.Stderr = out
-}
-
-func (fake *FakeCmd) Run() error {
- if fake.RunCalls > len(fake.RunScript)-1 {
- panic("ran out of Run() actions")
- }
- if fake.RunLog == nil {
- fake.RunLog = [][]string{}
- }
- i := fake.RunCalls
- fake.RunLog = append(fake.RunLog, append([]string{}, fake.Argv...))
- fake.RunCalls++
- stdout, stderr, err := fake.RunScript[i]()
- if stdout != nil {
- fake.Stdout.Write(stdout)
- }
- if stderr != nil {
- fake.Stderr.Write(stderr)
- }
- return err
-}
-
-func (fake *FakeCmd) CombinedOutput() ([]byte, error) {
- if fake.CombinedOutputCalls > len(fake.CombinedOutputScript)-1 {
- panic("ran out of CombinedOutput() actions")
- }
- if fake.CombinedOutputLog == nil {
- fake.CombinedOutputLog = [][]string{}
- }
- i := fake.CombinedOutputCalls
- fake.CombinedOutputLog = append(fake.CombinedOutputLog, append([]string{}, fake.Argv...))
- fake.CombinedOutputCalls++
- return fake.CombinedOutputScript[i]()
-}
-
-func (fake *FakeCmd) Output() ([]byte, error) {
- return nil, fmt.Errorf("unimplemented")
-}
-
-func (fake *FakeCmd) Stop() {
- // no-op
-}
-
-// A simple fake ExitError type.
-type FakeExitError struct {
- Status int
-}
-
-func (fake *FakeExitError) String() string {
- return fmt.Sprintf("exit %d", fake.Status)
-}
-
-func (fake *FakeExitError) Error() string {
- return fake.String()
-}
-
-func (fake *FakeExitError) Exited() bool {
- return true
-}
-
-func (fake *FakeExitError) ExitStatus() int {
- return fake.Status
-}