mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
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:
commit
98186e00ed
@ -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",
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user