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", "//test/utils/image:go_default_library",
"//vendor/github.com/blang/semver:go_default_library", "//vendor/github.com/blang/semver:go_default_library",
"//vendor/github.com/coreos/go-systemd/util: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/ginkgo:go_default_library",
"//vendor/github.com/onsi/gomega:go_default_library", "//vendor/github.com/onsi/gomega:go_default_library",
"//vendor/golang.org/x/net/context:go_default_library", "//vendor/golang.org/x/net/context:go_default_library",

View File

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