Merge pull request #87335 from dims/remove-docker/docker-references-from-tests

switch to docker command line in tests/e2e_node
This commit is contained in:
Kubernetes Prow Robot 2020-01-20 17:39:37 -08:00 committed by GitHub
commit 98186e00ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 35 deletions

View File

@ -52,8 +52,6 @@ go_library(
"//test/utils/image:go_default_library",
"//vendor/github.com/blang/semver:go_default_library",
"//vendor/github.com/coreos/go-systemd/util:go_default_library",
"//vendor/github.com/docker/docker/api/types:go_default_library",
"//vendor/github.com/docker/docker/client:go_default_library",
"//vendor/github.com/onsi/ginkgo:go_default_library",
"//vendor/github.com/onsi/gomega:go_default_library",
"//vendor/golang.org/x/net/context:go_default_library",

View File

@ -17,30 +17,20 @@ limitations under the License.
package e2enode
import (
"context"
"fmt"
"strings"
"github.com/blang/semver"
systemdutil "github.com/coreos/go-systemd/util"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
)
const (
defaultDockerEndpoint = "unix:///var/run/docker.sock"
)
// getDockerAPIVersion returns the Docker's API version.
func getDockerAPIVersion() (semver.Version, error) {
c, err := client.NewClient(defaultDockerEndpoint, "", nil, nil)
if err != nil {
return semver.Version{}, fmt.Errorf("failed to create docker client: %v", err)
}
version, err := c.ServerVersion(context.Background())
output, err := runCommand("docker", "version", "-f", "{{.Server.APIVersion}}")
if err != nil {
return semver.Version{}, fmt.Errorf("failed to get docker server version: %v", err)
}
return semver.MustParse(version.APIVersion + ".0"), nil
return semver.MustParse(strings.TrimSpace(output) + ".0"), nil
}
// isSharedPIDNamespaceSupported returns true if the Docker version is 1.13.1+
@ -64,51 +54,41 @@ func isDockerLiveRestoreSupported() (bool, error) {
}
// getDockerInfo returns the Info struct for the running Docker daemon.
func getDockerInfo() (types.Info, error) {
var info types.Info
c, err := client.NewClient(defaultDockerEndpoint, "", nil, nil)
func getDockerInfo(key string) (string, error) {
output, err := runCommand("docker", "info", "-f", "{{."+key+"}}")
if err != nil {
return info, fmt.Errorf("failed to create docker client: %v", err)
return "", fmt.Errorf("failed to get docker info: %v", err)
}
info, err = c.Info(context.Background())
if err != nil {
return info, fmt.Errorf("failed to get docker info: %v", err)
}
return info, nil
return strings.TrimSpace(output), nil
}
// isDockerLiveRestoreEnabled returns true if live-restore is enabled in the
// Docker.
func isDockerLiveRestoreEnabled() (bool, error) {
info, err := getDockerInfo()
info, err := getDockerInfo("LiveRestoreEnabled")
if err != nil {
return false, err
}
return info.LiveRestoreEnabled, nil
return info == "true", nil
}
// getDockerLoggingDriver returns the name of the logging driver.
func getDockerLoggingDriver() (string, error) {
info, err := getDockerInfo()
info, err := getDockerInfo("LoggingDriver")
if err != nil {
return "", err
}
return info.LoggingDriver, nil
return info, nil
}
// isDockerSELinuxSupportEnabled checks whether the Docker daemon was started
// with SELinux support enabled.
func isDockerSELinuxSupportEnabled() (bool, error) {
info, err := getDockerInfo()
info, err := getDockerInfo("SecurityOptions")
if err != nil {
return false, err
}
for _, s := range info.SecurityOptions {
if s == "selinux" {
return true, nil
}
}
return false, nil
return strings.Contains(info, "name=selinux"), nil
}
// startDockerDaemon starts the Docker daemon.