From 31348afa194eaff0ef9639a0c5aefa6bce4ef4b1 Mon Sep 17 00:00:00 2001 From: Roman Volosatovs Date: Thu, 8 Jul 2021 13:30:05 +0200 Subject: [PATCH] API: deprecate `BuilderSize` in API versions >= 1.42 Co-authored-by: Sebastiaan van Stijn Signed-off-by: Roman Volosatovs --- api/server/router/system/system_routes.go | 10 ++++++---- api/types/types.go | 2 +- docs/api/version-history.md | 5 +++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/api/server/router/system/system_routes.go b/api/server/router/system/system_routes.go index 246cc67415..f116364f5b 100644 --- a/api/server/router/system/system_routes.go +++ b/api/server/router/system/system_routes.go @@ -113,12 +113,14 @@ func (s *systemRouter) getDiskUsage(ctx context.Context, w http.ResponseWriter, return err } - var builderSize int64 - for _, b := range buildCache { - builderSize += b.Size + if versions.LessThan(httputils.VersionFromContext(ctx), "1.42") { + var builderSize int64 + for _, b := range buildCache { + builderSize += b.Size + } + du.BuilderSize = builderSize } - du.BuilderSize = builderSize du.BuildCache = buildCache if buildCache == nil { // Ensure empty `BuildCache` field is represented as empty JSON array(`[]`) diff --git a/api/types/types.go b/api/types/types.go index e3a159912e..9d31f70d64 100644 --- a/api/types/types.go +++ b/api/types/types.go @@ -538,7 +538,7 @@ type DiskUsage struct { Containers []*Container Volumes []*Volume BuildCache []*BuildCache - BuilderSize int64 // deprecated + BuilderSize int64 `json:",omitempty"` // Deprecated: deprecated in API 1.38, and no longer used since API 1.40. } // ContainersPruneReport contains the response for Engine API: diff --git a/docs/api/version-history.md b/docs/api/version-history.md index 5b61127cb3..8fc14a0b8e 100644 --- a/docs/api/version-history.md +++ b/docs/api/version-history.md @@ -17,6 +17,11 @@ keywords: "API, Docker, rcli, REST, documentation" [Docker Engine API v1.42](https://docs.docker.com/engine/api/v1.42/) documentation +* Removed the `BuilderSize` field on the `GET /system/df` endpoint. This field + was introduced in API 1.31 as part of an experimental feature, and no longer + used since API 1.40. + Use field `BuildCache` instead to track storage used by the builder component. + ## v1.41 API changes [Docker Engine API v1.41](https://docs.docker.com/engine/api/v1.41/) documentation