Update code for latest engine-api

- Update CopyToContainer uses
- Use engine-api/types/versions instead of pkg/version

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
This commit is contained in:
Vincent Demeester 2016-04-19 16:56:54 +02:00
parent 04bb3a2f45
commit 7534f17261
No known key found for this signature in database
GPG Key ID: 083CC6FD6EB699A3
20 changed files with 51 additions and 56 deletions

View File

@ -142,7 +142,7 @@ func NewDockerCli(in io.ReadCloser, out, err io.Writer, clientFlags *cli.ClientF
} }
customHeaders["User-Agent"] = clientUserAgent() customHeaders["User-Agent"] = clientUserAgent()
verStr := api.DefaultVersion.String() verStr := api.DefaultVersion
if tmpStr := os.Getenv("DOCKER_API_VERSION"); tmpStr != "" { if tmpStr := os.Getenv("DOCKER_API_VERSION"); tmpStr != "" {
verStr = tmpStr verStr = tmpStr
} }

View File

@ -288,11 +288,8 @@ func (cli *DockerCli) copyToContainer(srcPath, dstContainer, dstPath string, cpP
} }
options := types.CopyToContainerOptions{ options := types.CopyToContainerOptions{
ContainerID: dstContainer,
Path: resolvedDstPath,
Content: content,
AllowOverwriteDirWithFile: false, AllowOverwriteDirWithFile: false,
} }
return cli.client.CopyToContainer(context.Background(), options) return cli.client.CopyToContainer(context.Background(), dstContainer, resolvedDstPath, content, options)
} }

View File

@ -10,7 +10,6 @@ import (
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/docker/docker/pkg/system" "github.com/docker/docker/pkg/system"
"github.com/docker/docker/pkg/version"
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
"github.com/docker/libtrust" "github.com/docker/libtrust"
) )
@ -18,10 +17,10 @@ import (
// Common constants for daemon and client. // Common constants for daemon and client.
const ( const (
// Version of Current REST API // Version of Current REST API
DefaultVersion version.Version = "1.24" DefaultVersion string = "1.24"
// MinVersion represents Minimum REST API version supported // MinVersion represents Minimum REST API version supported
MinVersion version.Version = "1.12" MinVersion string = "1.12"
// NoBaseImageSpecifier is the symbol used by the FROM // NoBaseImageSpecifier is the symbol used by the FROM
// command to specify that no base image is to be used. // command to specify that no base image is to be used.

View File

@ -10,7 +10,6 @@ import (
"golang.org/x/net/context" "golang.org/x/net/context"
"github.com/docker/docker/api" "github.com/docker/docker/api"
"github.com/docker/docker/pkg/version"
) )
// APIVersionKey is the client's requested API version. // APIVersionKey is the client's requested API version.
@ -95,7 +94,7 @@ func WriteJSON(w http.ResponseWriter, code int, v interface{}) error {
// VersionFromContext returns an API version from the context using APIVersionKey. // VersionFromContext returns an API version from the context using APIVersionKey.
// It panics if the context value does not have version.Version type. // It panics if the context value does not have version.Version type.
func VersionFromContext(ctx context.Context) (ver version.Version) { func VersionFromContext(ctx context.Context) (ver string) {
if ctx == nil { if ctx == nil {
return return
} }
@ -103,5 +102,5 @@ func VersionFromContext(ctx context.Context) (ver version.Version) {
if val == nil { if val == nil {
return return
} }
return val.(version.Version) return val.(string)
} }

View File

@ -6,19 +6,19 @@ import (
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/docker/docker/api/server/httputils" "github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/pkg/version" "github.com/docker/engine-api/types/versions"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
// UserAgentMiddleware is a middleware that // UserAgentMiddleware is a middleware that
// validates the client user-agent. // validates the client user-agent.
type UserAgentMiddleware struct { type UserAgentMiddleware struct {
serverVersion version.Version serverVersion string
} }
// NewUserAgentMiddleware creates a new UserAgentMiddleware // NewUserAgentMiddleware creates a new UserAgentMiddleware
// with the server version. // with the server version.
func NewUserAgentMiddleware(s version.Version) UserAgentMiddleware { func NewUserAgentMiddleware(s string) UserAgentMiddleware {
return UserAgentMiddleware{ return UserAgentMiddleware{
serverVersion: s, serverVersion: s,
} }
@ -38,7 +38,7 @@ func (u UserAgentMiddleware) WrapHandler(handler func(ctx context.Context, w htt
userAgent[1] = strings.Split(userAgent[1], " ")[0] userAgent[1] = strings.Split(userAgent[1], " ")[0]
} }
if len(userAgent) == 2 && !u.serverVersion.Equal(version.Version(userAgent[1])) { if len(userAgent) == 2 && !versions.Equal(u.serverVersion, userAgent[1]) {
logrus.Debugf("Client and server don't have the same version (client: %s, server: %s)", userAgent[1], u.serverVersion) logrus.Debugf("Client and server don't have the same version (client: %s, server: %s)", userAgent[1], u.serverVersion)
} }
} }

View File

@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"runtime" "runtime"
"github.com/docker/docker/pkg/version" "github.com/docker/engine-api/types/versions"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
@ -20,14 +20,14 @@ func (badRequestError) HTTPErrorStatusCode() int {
// VersionMiddleware is a middleware that // VersionMiddleware is a middleware that
// validates the client and server versions. // validates the client and server versions.
type VersionMiddleware struct { type VersionMiddleware struct {
serverVersion version.Version serverVersion string
defaultVersion version.Version defaultVersion string
minVersion version.Version minVersion string
} }
// NewVersionMiddleware creates a new VersionMiddleware // NewVersionMiddleware creates a new VersionMiddleware
// with the default versions. // with the default versions.
func NewVersionMiddleware(s, d, m version.Version) VersionMiddleware { func NewVersionMiddleware(s, d, m string) VersionMiddleware {
return VersionMiddleware{ return VersionMiddleware{
serverVersion: s, serverVersion: s,
defaultVersion: d, defaultVersion: d,
@ -38,15 +38,15 @@ func NewVersionMiddleware(s, d, m version.Version) VersionMiddleware {
// WrapHandler returns a new handler function wrapping the previous one in the request chain. // WrapHandler returns a new handler function wrapping the previous one in the request chain.
func (v VersionMiddleware) WrapHandler(handler func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error) func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error { func (v VersionMiddleware) WrapHandler(handler func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error) func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
return func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error { return func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
apiVersion := version.Version(vars["version"]) apiVersion := vars["version"]
if apiVersion == "" { if apiVersion == "" {
apiVersion = v.defaultVersion apiVersion = v.defaultVersion
} }
if apiVersion.GreaterThan(v.defaultVersion) { if versions.GreaterThan(apiVersion, v.defaultVersion) {
return badRequestError{fmt.Errorf("client is newer than server (client API version: %s, server API version: %s)", apiVersion, v.defaultVersion)} return badRequestError{fmt.Errorf("client is newer than server (client API version: %s, server API version: %s)", apiVersion, v.defaultVersion)}
} }
if apiVersion.LessThan(v.minVersion) { if versions.LessThan(apiVersion, v.minVersion) {
return badRequestError{fmt.Errorf("client version %s is too old. Minimum supported API version is %s, please upgrade your client to a newer version", apiVersion, v.minVersion)} return badRequestError{fmt.Errorf("client version %s is too old. Minimum supported API version is %s, please upgrade your client to a newer version", apiVersion, v.minVersion)}
} }

View File

@ -7,7 +7,6 @@ import (
"testing" "testing"
"github.com/docker/docker/api/server/httputils" "github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/pkg/version"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
@ -19,8 +18,8 @@ func TestVersionMiddleware(t *testing.T) {
return nil return nil
} }
defaultVersion := version.Version("1.10.0") defaultVersion := "1.10.0"
minVersion := version.Version("1.2.0") minVersion := "1.2.0"
m := NewVersionMiddleware(defaultVersion, defaultVersion, minVersion) m := NewVersionMiddleware(defaultVersion, defaultVersion, minVersion)
h := m.WrapHandler(handler) h := m.WrapHandler(handler)
@ -40,8 +39,8 @@ func TestVersionMiddlewareWithErrors(t *testing.T) {
return nil return nil
} }
defaultVersion := version.Version("1.10.0") defaultVersion := "1.10.0"
minVersion := version.Version("1.2.0") minVersion := "1.2.0"
m := NewVersionMiddleware(defaultVersion, defaultVersion, minVersion) m := NewVersionMiddleware(defaultVersion, defaultVersion, minVersion)
h := m.WrapHandler(handler) h := m.WrapHandler(handler)

View File

@ -19,6 +19,7 @@ import (
"github.com/docker/docker/pkg/streamformatter" "github.com/docker/docker/pkg/streamformatter"
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/container" "github.com/docker/engine-api/types/container"
"github.com/docker/engine-api/types/versions"
"github.com/docker/go-units" "github.com/docker/go-units"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
@ -26,14 +27,14 @@ import (
func newImageBuildOptions(ctx context.Context, r *http.Request) (*types.ImageBuildOptions, error) { func newImageBuildOptions(ctx context.Context, r *http.Request) (*types.ImageBuildOptions, error) {
version := httputils.VersionFromContext(ctx) version := httputils.VersionFromContext(ctx)
options := &types.ImageBuildOptions{} options := &types.ImageBuildOptions{}
if httputils.BoolValue(r, "forcerm") && version.GreaterThanOrEqualTo("1.12") { if httputils.BoolValue(r, "forcerm") && versions.GreaterThanOrEqualTo(version, "1.12") {
options.Remove = true options.Remove = true
} else if r.FormValue("rm") == "" && version.GreaterThanOrEqualTo("1.12") { } else if r.FormValue("rm") == "" && versions.GreaterThanOrEqualTo(version, "1.12") {
options.Remove = true options.Remove = true
} else { } else {
options.Remove = httputils.BoolValue(r, "rm") options.Remove = httputils.BoolValue(r, "rm")
} }
if httputils.BoolValue(r, "pull") && version.GreaterThanOrEqualTo("1.16") { if httputils.BoolValue(r, "pull") && versions.GreaterThanOrEqualTo(version, "1.16") {
options.PullParent = true options.PullParent = true
} }

View File

@ -8,7 +8,6 @@ import (
"github.com/docker/docker/api/types/backend" "github.com/docker/docker/api/types/backend"
"github.com/docker/docker/pkg/archive" "github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/version"
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/container" "github.com/docker/engine-api/types/container"
) )
@ -50,7 +49,7 @@ type stateBackend interface {
// monitorBackend includes functions to implement to provide containers monitoring functionality. // monitorBackend includes functions to implement to provide containers monitoring functionality.
type monitorBackend interface { type monitorBackend interface {
ContainerChanges(name string) ([]archive.Change, error) ContainerChanges(name string) ([]archive.Change, error)
ContainerInspect(name string, size bool, version version.Version) (interface{}, error) ContainerInspect(name string, size bool, version string) (interface{}, error)
ContainerLogs(ctx context.Context, name string, config *backend.ContainerLogsConfig, started chan struct{}) error ContainerLogs(ctx context.Context, name string, config *backend.ContainerLogsConfig, started chan struct{}) error
ContainerStats(ctx context.Context, name string, config *backend.ContainerStatsConfig) error ContainerStats(ctx context.Context, name string, config *backend.ContainerStatsConfig) error
ContainerTop(name string, psArgs string) (*types.ContainerProcessList, error) ContainerTop(name string, psArgs string) (*types.ContainerProcessList, error)

View File

@ -18,6 +18,7 @@ import (
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/container" "github.com/docker/engine-api/types/container"
"github.com/docker/engine-api/types/filters" "github.com/docker/engine-api/types/filters"
"github.com/docker/engine-api/types/versions"
"golang.org/x/net/context" "golang.org/x/net/context"
"golang.org/x/net/websocket" "golang.org/x/net/websocket"
) )
@ -195,7 +196,7 @@ func (s *containerRouter) postContainersKill(ctx context.Context, w http.Respons
// Return error if the container is not running and the api is >= 1.20 // Return error if the container is not running and the api is >= 1.20
// to keep backwards compatibility. // to keep backwards compatibility.
version := httputils.VersionFromContext(ctx) version := httputils.VersionFromContext(ctx)
if version.GreaterThanOrEqualTo("1.20") || !isStopped { if versions.GreaterThanOrEqualTo(version, "1.20") || !isStopped {
return fmt.Errorf("Cannot kill container %s: %v", name, err) return fmt.Errorf("Cannot kill container %s: %v", name, err)
} }
} }
@ -341,7 +342,7 @@ func (s *containerRouter) postContainersCreate(ctx context.Context, w http.Respo
return err return err
} }
version := httputils.VersionFromContext(ctx) version := httputils.VersionFromContext(ctx)
adjustCPUShares := version.LessThan("1.19") adjustCPUShares := versions.LessThan(version, "1.19")
ccr, err := s.backend.ContainerCreate(types.ContainerCreateConfig{ ccr, err := s.backend.ContainerCreate(types.ContainerCreateConfig{
Name: name, Name: name,

View File

@ -11,6 +11,7 @@ import (
"github.com/docker/docker/api/server/httputils" "github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/pkg/stdcopy" "github.com/docker/docker/pkg/stdcopy"
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/versions"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
@ -60,7 +61,7 @@ func (s *containerRouter) postContainerExecStart(ctx context.Context, w http.Res
} }
version := httputils.VersionFromContext(ctx) version := httputils.VersionFromContext(ctx)
if version.GreaterThan("1.21") { if versions.GreaterThan(version, "1.21") {
if err := httputils.CheckForJSON(r); err != nil { if err := httputils.CheckForJSON(r); err != nil {
return err return err
} }

View File

@ -16,6 +16,7 @@ import (
"github.com/docker/docker/pkg/streamformatter" "github.com/docker/docker/pkg/streamformatter"
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/container" "github.com/docker/engine-api/types/container"
"github.com/docker/engine-api/types/versions"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
@ -32,7 +33,7 @@ func (s *imageRouter) postCommit(ctx context.Context, w http.ResponseWriter, r *
pause := httputils.BoolValue(r, "pause") pause := httputils.BoolValue(r, "pause")
version := httputils.VersionFromContext(ctx) version := httputils.VersionFromContext(ctx)
if r.FormValue("pause") == "" && version.GreaterThanOrEqualTo("1.13") { if r.FormValue("pause") == "" && versions.GreaterThanOrEqualTo(version, "1.13") {
pause = true pause = true
} }

View File

@ -39,7 +39,7 @@ func (s *systemRouter) getInfo(ctx context.Context, w http.ResponseWriter, r *ht
func (s *systemRouter) getVersion(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error { func (s *systemRouter) getVersion(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
info := s.backend.SystemVersion() info := s.backend.SystemVersion()
info.APIVersion = api.DefaultVersion.String() info.APIVersion = api.DefaultVersion
return httputils.WriteJSON(w, http.StatusOK, info) return httputils.WriteJSON(w, http.StatusOK, info)
} }

View File

@ -9,7 +9,6 @@ import (
"github.com/docker/docker/api" "github.com/docker/docker/api"
"github.com/docker/docker/api/server/httputils" "github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/server/middleware" "github.com/docker/docker/api/server/middleware"
"github.com/docker/docker/pkg/version"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
@ -22,7 +21,7 @@ func TestMiddlewares(t *testing.T) {
cfg: cfg, cfg: cfg,
} }
srv.UseMiddleware(middleware.NewVersionMiddleware(version.Version("0.1omega2"), api.DefaultVersion, api.MinVersion)) srv.UseMiddleware(middleware.NewVersionMiddleware("0.1omega2", api.DefaultVersion, api.MinVersion))
req, _ := http.NewRequest("GET", "/containers/json", nil) req, _ := http.NewRequest("GET", "/containers/json", nil)
resp := httptest.NewRecorder() resp := httptest.NewRecorder()

View File

@ -7,20 +7,20 @@ import (
"github.com/docker/docker/api/types/backend" "github.com/docker/docker/api/types/backend"
"github.com/docker/docker/container" "github.com/docker/docker/container"
"github.com/docker/docker/daemon/network" "github.com/docker/docker/daemon/network"
"github.com/docker/docker/pkg/version"
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
networktypes "github.com/docker/engine-api/types/network" networktypes "github.com/docker/engine-api/types/network"
"github.com/docker/engine-api/types/versions"
"github.com/docker/engine-api/types/versions/v1p20" "github.com/docker/engine-api/types/versions/v1p20"
) )
// ContainerInspect returns low-level information about a // ContainerInspect returns low-level information about a
// container. Returns an error if the container cannot be found, or if // container. Returns an error if the container cannot be found, or if
// there is an error getting the data. // there is an error getting the data.
func (daemon *Daemon) ContainerInspect(name string, size bool, version version.Version) (interface{}, error) { func (daemon *Daemon) ContainerInspect(name string, size bool, version string) (interface{}, error) {
switch { switch {
case version.LessThan("1.20"): case versions.LessThan(version, "1.20"):
return daemon.containerInspectPre120(name) return daemon.containerInspectPre120(name)
case version.Equal("1.20"): case versions.Equal(version, "1.20"):
return daemon.containerInspect120(name) return daemon.containerInspect120(name)
} }
return daemon.containerInspectCurrent(name, size) return daemon.containerInspectCurrent(name, size)

View File

@ -9,8 +9,8 @@ import (
"github.com/docker/docker/api/types/backend" "github.com/docker/docker/api/types/backend"
"github.com/docker/docker/pkg/ioutils" "github.com/docker/docker/pkg/ioutils"
"github.com/docker/docker/pkg/version"
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/versions"
"github.com/docker/engine-api/types/versions/v1p20" "github.com/docker/engine-api/types/versions/v1p20"
) )
@ -21,7 +21,7 @@ func (daemon *Daemon) ContainerStats(ctx context.Context, prefixOrName string, c
return errors.New("Windows does not support stats") return errors.New("Windows does not support stats")
} }
// Remote API version (used for backwards compatibility) // Remote API version (used for backwards compatibility)
apiVersion := version.Version(config.Version) apiVersion := config.Version
container, err := daemon.GetContainer(prefixOrName) container, err := daemon.GetContainer(prefixOrName)
if err != nil { if err != nil {
@ -65,7 +65,7 @@ func (daemon *Daemon) ContainerStats(ctx context.Context, prefixOrName string, c
var statsJSON interface{} var statsJSON interface{}
statsJSONPost120 := getStatJSON(v) statsJSONPost120 := getStatJSON(v)
if apiVersion.LessThan("1.21") { if versions.LessThan(apiVersion, "1.21") {
var ( var (
rxBytes uint64 rxBytes uint64
rxPackets uint64 rxPackets uint64

View File

@ -39,7 +39,6 @@ import (
"github.com/docker/docker/pkg/pidfile" "github.com/docker/docker/pkg/pidfile"
"github.com/docker/docker/pkg/signal" "github.com/docker/docker/pkg/signal"
"github.com/docker/docker/pkg/system" "github.com/docker/docker/pkg/system"
"github.com/docker/docker/pkg/version"
"github.com/docker/docker/registry" "github.com/docker/docker/registry"
"github.com/docker/docker/runconfig" "github.com/docker/docker/runconfig"
"github.com/docker/docker/utils" "github.com/docker/docker/utils"
@ -440,7 +439,7 @@ func initRouter(s *apiserver.Server, d *daemon.Daemon) {
} }
func (cli *DaemonCli) initMiddlewares(s *apiserver.Server, cfg *apiserver.Config) { func (cli *DaemonCli) initMiddlewares(s *apiserver.Server, cfg *apiserver.Config) {
v := version.Version(cfg.Version) v := cfg.Version
vm := middleware.NewVersionMiddleware(v, api.DefaultVersion, api.MinVersion) vm := middleware.NewVersionMiddleware(v, api.DefaultVersion, api.MinVersion)
s.UseMiddleware(vm) s.UseMiddleware(vm)

View File

@ -11,7 +11,7 @@ import (
"github.com/docker/distribution/digest" "github.com/docker/distribution/digest"
"github.com/docker/docker/image" "github.com/docker/docker/image"
"github.com/docker/docker/layer" "github.com/docker/docker/layer"
"github.com/docker/docker/pkg/version" "github.com/docker/engine-api/types/versions"
) )
var validHex = regexp.MustCompile(`^([a-f0-9]{64})$`) var validHex = regexp.MustCompile(`^([a-f0-9]{64})$`)
@ -19,7 +19,7 @@ var validHex = regexp.MustCompile(`^([a-f0-9]{64})$`)
// noFallbackMinVersion is the minimum version for which v1compatibility // noFallbackMinVersion is the minimum version for which v1compatibility
// information will not be marshaled through the Image struct to remove // information will not be marshaled through the Image struct to remove
// blank fields. // blank fields.
var noFallbackMinVersion = version.Version("1.8.3") var noFallbackMinVersion = "1.8.3"
// HistoryFromConfig creates a History struct from v1 configuration JSON // HistoryFromConfig creates a History struct from v1 configuration JSON
func HistoryFromConfig(imageJSON []byte, emptyLayer bool) (image.History, error) { func HistoryFromConfig(imageJSON []byte, emptyLayer bool) (image.History, error) {
@ -77,7 +77,7 @@ func MakeConfigFromV1Config(imageJSON []byte, rootfs *image.RootFS, history []im
return nil, err return nil, err
} }
useFallback := version.Version(dver.DockerVersion).LessThan(noFallbackMinVersion) useFallback := versions.LessThan(dver.DockerVersion, noFallbackMinVersion)
if useFallback { if useFallback {
var v1Image image.V1Image var v1Image image.V1Image

View File

@ -11,8 +11,8 @@ import (
"time" "time"
"github.com/docker/docker/pkg/integration/checker" "github.com/docker/docker/pkg/integration/checker"
"github.com/docker/docker/pkg/version"
"github.com/docker/engine-api/types" "github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/versions"
"github.com/go-check/check" "github.com/go-check/check"
) )
@ -136,7 +136,7 @@ func (s *DockerSuite) TestApiStatsNetworkStatsVersioning(c *check.C) {
for i := 17; i <= 21; i++ { for i := 17; i <= 21; i++ {
apiVersion := fmt.Sprintf("v1.%d", i) apiVersion := fmt.Sprintf("v1.%d", i)
statsJSONBlob := getVersionedStats(c, id, apiVersion) statsJSONBlob := getVersionedStats(c, id, apiVersion)
if version.Version(apiVersion).LessThan("v1.21") { if versions.LessThan(apiVersion, "v1.21") {
c.Assert(jsonBlobHasLTv121NetworkStats(statsJSONBlob), checker.Equals, true, c.Assert(jsonBlobHasLTv121NetworkStats(statsJSONBlob), checker.Equals, true,
check.Commentf("Stats JSON blob from API %s %#v does not look like a <v1.21 API stats structure", apiVersion, statsJSONBlob)) check.Commentf("Stats JSON blob from API %s %#v does not look like a <v1.21 API stats structure", apiVersion, statsJSONBlob))
} else { } else {

View File

@ -49,7 +49,7 @@ func (s *DockerSuite) TestApiVersionStatusCode(c *check.C) {
} }
func (s *DockerSuite) TestApiClientVersionNewerThanServer(c *check.C) { func (s *DockerSuite) TestApiClientVersionNewerThanServer(c *check.C) {
v := strings.Split(api.DefaultVersion.String(), ".") v := strings.Split(api.DefaultVersion, ".")
vMinInt, err := strconv.Atoi(v[1]) vMinInt, err := strconv.Atoi(v[1])
c.Assert(err, checker.IsNil) c.Assert(err, checker.IsNil)
vMinInt++ vMinInt++
@ -64,7 +64,7 @@ func (s *DockerSuite) TestApiClientVersionNewerThanServer(c *check.C) {
} }
func (s *DockerSuite) TestApiClientVersionOldNotSupported(c *check.C) { func (s *DockerSuite) TestApiClientVersionOldNotSupported(c *check.C) {
v := strings.Split(api.MinVersion.String(), ".") v := strings.Split(api.MinVersion, ".")
vMinInt, err := strconv.Atoi(v[1]) vMinInt, err := strconv.Atoi(v[1])
c.Assert(err, checker.IsNil) c.Assert(err, checker.IsNil)
vMinInt-- vMinInt--