Add Exec interface to VolumeHost

This exec should be used by volume plugins to execute mount utilities.
It will eventually execute things in mount containers.
This commit is contained in:
Jan Safranek
2017-08-14 12:16:25 +02:00
parent 4193357272
commit 282404cbc9
8 changed files with 82 additions and 0 deletions

View File

@@ -70,6 +70,16 @@ type Interface interface {
GetDeviceNameFromMount(mountPath, pluginDir string) (string, error)
}
// Exec executes command where mount utilities are. This can be either the host,
// container where kubelet runs or even a remote pod with mount utilities.
// Usual pkg/util/exec interface is not used because kubelet.RunInContainer does
// not provide stdin/stdout/stderr streams.
type Exec interface {
// Run executes a command and returns its stdout + stderr combined in one
// stream.
Run(cmd string, args ...string) ([]byte, error)
}
// Compile-time check to ensure all Mounter implementations satisfy
// the mount interface
var _ Interface = &Mounter{}