56 lines
2.7 KiB
Diff
56 lines
2.7 KiB
Diff
From eeb59bb893f5f5ce6d7b9ec170ec67203f71478d Mon Sep 17 00:00:00 2001
|
|
From: Kaustubh Dhokte <kaustubh.dhokte@windriver.com>
|
|
Date: Tue, 1 Mar 2022 20:43:42 -0500
|
|
Subject: [PATCH] customize containerd for StarlingX
|
|
|
|
1. disable btrfs to avoid needing to pull in the devel package
|
|
2. docker registry in StarlingX 3.0 branch doesn't support POST method
|
|
for token and will return 400. Switch to GET method to get token if
|
|
StatusCode is 400.
|
|
3. hardcode version info due to miss git info in tarball.
|
|
|
|
Signed-off-by: Kaustubh Dhokte <kaustubh.dhokte@windriver.com>
|
|
---
|
|
Makefile | 3 ++-
|
|
remotes/docker/authorizer.go | 3 ++-
|
|
2 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index c0fecb9a6..d8cef89d5 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -20,7 +20,7 @@ ROOTDIR=$(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
|
DESTDIR ?= /usr/local
|
|
|
|
# Used to populate variables in version package.
|
|
-VERSION=$(shell git describe --match 'v[0-9]*' --dirty='.m' --always)
|
|
+VERSION=v1.4.11
|
|
REVISION=$(shell git rev-parse HEAD)$(shell if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi)
|
|
PACKAGE=github.com/containerd/containerd
|
|
SHIM_CGO_ENABLED ?= 0
|
|
@@ -78,6 +78,7 @@ endif
|
|
# Build tags apparmor and selinux are needed by CRI plugin.
|
|
GO_BUILDTAGS ?= apparmor selinux
|
|
GO_BUILDTAGS += ${DEBUG_TAGS}
|
|
+GO_BUILDTAGS += no_btrfs
|
|
GO_TAGS=$(if $(GO_BUILDTAGS),-tags "$(GO_BUILDTAGS)",)
|
|
GO_LDFLAGS=-ldflags '-X $(PKG)/version.Version=$(VERSION) -X $(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PACKAGE) $(EXTRA_LDFLAGS)'
|
|
SHIM_GO_LDFLAGS=-ldflags '-X $(PKG)/version.Version=$(VERSION) -X $(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PACKAGE) -extldflags "-static" $(EXTRA_LDFLAGS)'
|
|
diff --git a/remotes/docker/authorizer.go b/remotes/docker/authorizer.go
|
|
index 67e4aea8d..bacaa502d 100644
|
|
--- a/remotes/docker/authorizer.go
|
|
+++ b/remotes/docker/authorizer.go
|
|
@@ -284,7 +284,8 @@ func (ah *authHandler) doBearerAuth(ctx context.Context) (token string, err erro
|
|
// Registries without support for POST may return 404 for POST /v2/token.
|
|
// As of September 2017, GCR is known to return 404.
|
|
// As of February 2018, JFrog Artifactory is known to return 401.
|
|
- if (errStatus.StatusCode == 405 && to.Username != "") || errStatus.StatusCode == 404 || errStatus.StatusCode == 401 {
|
|
+ // Registry in StarlingX 6.0 returns 400 for POST /v2/token. Should check if still applicable.
|
|
+ if (errStatus.StatusCode == 405 && to.Username != "") || errStatus.StatusCode == 404 || errStatus.StatusCode == 401 || errStatus.StatusCode == 400 {
|
|
resp, err := auth.FetchToken(ctx, ah.client, ah.header, to)
|
|
if err != nil {
|
|
return "", err
|
|
--
|
|
2.25.1
|
|
|