From 7888015c19d7a8d7106df31f9fad8e1cbd874473 Mon Sep 17 00:00:00 2001 From: Oleg Bulatov Date: Fri, 24 Nov 2017 14:53:04 +0100 Subject: [PATCH] Make linter happy --- cmd/dockerregistry/main.go | 4 +- pkg/cmd/dockerregistry/dockerregistry.go | 4 +- pkg/dockerregistry/server/admin.go | 5 +- .../server/blobdescriptorservice.go | 8 +++- .../server/configuration/configuration.go | 4 +- pkg/dockerregistry/server/init.go | 22 +++++++-- .../server/manifestservice_test.go | 2 +- .../server/pullthroughmanifestservice_test.go | 48 ------------------- pkg/dockerregistry/server/repository_test.go | 7 ++- .../server/signaturedispatcher.go | 3 +- .../server/signaturedispatcher_test.go | 2 +- pkg/dockerregistry/server/token.go | 6 ++- pkg/dockerregistry/testutil/manifests.go | 4 +- pkg/dockerregistry/testutil/util.go | 5 +- pkg/origin-common/clientcmd/clientcmd.go | 16 +++++-- pkg/testframework/master.go | 9 ++-- pkg/testframework/net.go | 5 +- .../pullthrough/pullthrough_test.go | 8 ++-- 18 files changed, 79 insertions(+), 83 deletions(-) diff --git a/cmd/dockerregistry/main.go b/cmd/dockerregistry/main.go index 1769776f7..6143ee145 100644 --- a/cmd/dockerregistry/main.go +++ b/cmd/dockerregistry/main.go @@ -42,7 +42,9 @@ func main() { os.Exit(1) } // Prevent a warning about unrecognized environment variable - os.Unsetenv("REGISTRY_CONFIGURATION_PATH") + if err := os.Unsetenv("REGISTRY_CONFIGURATION_PATH"); err != nil { + log.Fatalf("Unable to unset REGISTRY_CONFIGURATION_PATH: %v", err) + } configFile, err := os.Open(configurationPath) if err != nil { diff --git a/pkg/cmd/dockerregistry/dockerregistry.go b/pkg/cmd/dockerregistry/dockerregistry.go index b8e5c4cb7..572a7a585 100644 --- a/pkg/cmd/dockerregistry/dockerregistry.go +++ b/pkg/cmd/dockerregistry/dockerregistry.go @@ -91,7 +91,7 @@ func ExecutePruner(configFile io.Reader, dryRun bool) { } else { registryOptions = append(registryOptions, storage.EnableDelete) } - context.GetLoggerWithFields(ctx, versionFields()).Info("start registry") + context.GetLoggerWithFields(ctx, versionFields()).Info(startPrune) registryClient := client.NewRegistryClient(clientcmd.NewConfig().BindToFile(extraConfig.KubeConfig)) @@ -110,7 +110,7 @@ func ExecutePruner(configFile io.Reader, dryRun bool) { if dryRun { pruner = &prune.DryRunPruner{} } else { - pruner = &prune.RegistryPruner{storageDriver} + pruner = &prune.RegistryPruner{StorageDriver: storageDriver} } stats, err := prune.Prune(ctx, registry, registryClient, pruner) diff --git a/pkg/dockerregistry/server/admin.go b/pkg/dockerregistry/server/admin.go index a0544cf83..90b9df6fc 100644 --- a/pkg/dockerregistry/server/admin.go +++ b/pkg/dockerregistry/server/admin.go @@ -70,7 +70,10 @@ type blobHandler struct { // Delete deletes the blob from the storage backend. func (bh *blobHandler) Delete(w http.ResponseWriter, req *http.Request) { - defer req.Body.Close() + defer func() { + // TODO(dmage): log error? + _ = req.Body.Close() + }() if len(bh.Digest) == 0 { bh.Errors = append(bh.Errors, v2.ErrorCodeBlobUnknown) diff --git a/pkg/dockerregistry/server/blobdescriptorservice.go b/pkg/dockerregistry/server/blobdescriptorservice.go index ab67b6e1a..c23cd22f6 100644 --- a/pkg/dockerregistry/server/blobdescriptorservice.go +++ b/pkg/dockerregistry/server/blobdescriptorservice.go @@ -5,6 +5,7 @@ import ( "sort" "time" + "github.com/Sirupsen/logrus" "github.com/docker/distribution" "github.com/docker/distribution/context" "github.com/docker/distribution/digest" @@ -34,7 +35,10 @@ func (b ByGeneration) Len() int { return len(b) } func (b ByGeneration) Swap(i, j int) { b[i], b[j] = b[j], b[i] } func init() { - middleware.RegisterOptions(storage.BlobDescriptorServiceFactory(&blobDescriptorServiceFactory{})) + err := middleware.RegisterOptions(storage.BlobDescriptorServiceFactory(&blobDescriptorServiceFactory{})) + if err != nil { + logrus.Fatalf("Unable to register BlobDescriptorServiceFactory: %v", err) + } } // blobDescriptorServiceFactory needs to be able to work with blobs @@ -190,7 +194,7 @@ func imageHasBlob( image, err := r.getImage(digest.Digest(imageName)) if err != nil { if kerrors.IsNotFound(err) { - context.GetLogger(r.ctx).Debugf("image %q not found: imageName") + context.GetLogger(r.ctx).Debugf("image %q not found", imageName) } else { context.GetLogger(r.ctx).Errorf("failed to get image: %v", err) } diff --git a/pkg/dockerregistry/server/configuration/configuration.go b/pkg/dockerregistry/server/configuration/configuration.go index 7415edd6f..6fcff1cea 100644 --- a/pkg/dockerregistry/server/configuration/configuration.go +++ b/pkg/dockerregistry/server/configuration/configuration.go @@ -65,7 +65,9 @@ func Parse(rd io.Reader) (*configuration.Configuration, *Configuration, error) { } // We don't want to change the version from the environment variables. - os.Unsetenv("REGISTRY_OPENSHIFT_VERSION") + if err := os.Unsetenv("REGISTRY_OPENSHIFT_VERSION"); err != nil { + return nil, nil, err + } openshiftEnv, err := popEnv("REGISTRY_OPENSHIFT_") if err != nil { diff --git a/pkg/dockerregistry/server/init.go b/pkg/dockerregistry/server/init.go index fd9d1c739..33b6c227e 100644 --- a/pkg/dockerregistry/server/init.go +++ b/pkg/dockerregistry/server/init.go @@ -3,6 +3,8 @@ package server import ( "fmt" + "github.com/Sirupsen/logrus" + "github.com/docker/distribution" "github.com/docker/distribution/configuration" "github.com/docker/distribution/context" @@ -47,7 +49,7 @@ func init() { return app } - registryauth.Register(middlewareOpenShift, func(options map[string]interface{}) (registryauth.AccessController, error) { + err := registryauth.Register(middlewareOpenShift, func(options map[string]interface{}) (registryauth.AccessController, error) { app := getApp(options) if app == nil { return nil, fmt.Errorf("failed to find an application instance in the access controller") @@ -57,8 +59,11 @@ func init() { return app.newAccessController(options) }) + if err != nil { + logrus.Fatalf("Unable to register auth middleware: %v", err) + } - registrystorage.Register(middlewareOpenShift, func(driver storagedriver.StorageDriver, options map[string]interface{}) (storagedriver.StorageDriver, error) { + err = registrystorage.Register(middlewareOpenShift, func(driver storagedriver.StorageDriver, options map[string]interface{}) (storagedriver.StorageDriver, error) { app := getApp(options) if app == nil { return nil, fmt.Errorf("failed to find an application instance in the storage driver middleware") @@ -73,8 +78,11 @@ func init() { return driver, nil }) + if err != nil { + logrus.Fatalf("Unable to register storage middleware: %v", err) + } - middleware.Register(middlewareOpenShift, func(ctx context.Context, registry distribution.Namespace, options map[string]interface{}) (distribution.Namespace, error) { + err = middleware.Register(middlewareOpenShift, func(ctx context.Context, registry distribution.Namespace, options map[string]interface{}) (distribution.Namespace, error) { app := getApp(options) if app == nil { return nil, fmt.Errorf("failed to find an application instance in the registry middleware") @@ -86,8 +94,11 @@ func init() { return registry, nil }) + if err != nil { + logrus.Fatalf("Unable to register registry middleware: %v", err) + } - repomw.Register(middlewareOpenShift, func(ctx context.Context, repo distribution.Repository, options map[string]interface{}) (distribution.Repository, error) { + err = repomw.Register(middlewareOpenShift, func(ctx context.Context, repo distribution.Repository, options map[string]interface{}) (distribution.Repository, error) { app := getApp(options) if app == nil { return nil, fmt.Errorf("failed to find an application instance in the repository middleware") @@ -95,4 +106,7 @@ func init() { return app.newRepository(ctx, repo, options) }) + if err != nil { + logrus.Fatalf("Unable to register repository middleware: %v", err) + } } diff --git a/pkg/dockerregistry/server/manifestservice_test.go b/pkg/dockerregistry/server/manifestservice_test.go index 37c785394..a4364d733 100644 --- a/pkg/dockerregistry/server/manifestservice_test.go +++ b/pkg/dockerregistry/server/manifestservice_test.go @@ -44,7 +44,7 @@ func TestManifestServiceExists(t *testing.T) { t.Errorf("ms.Exists(ctx, %q): got false, want true", testImage.Name) } - ok, err = ms.Exists(ctx, unknownBlobDigest) + _, err = ms.Exists(ctx, unknownBlobDigest) if err == nil { t.Errorf("ms.Exists(ctx, %q): got success, want error", unknownBlobDigest) } diff --git a/pkg/dockerregistry/server/pullthroughmanifestservice_test.go b/pkg/dockerregistry/server/pullthroughmanifestservice_test.go index 4fa3abaf2..52700b9f8 100644 --- a/pkg/dockerregistry/server/pullthroughmanifestservice_test.go +++ b/pkg/dockerregistry/server/pullthroughmanifestservice_test.go @@ -583,51 +583,3 @@ func (t *testManifestService) Delete(ctx context.Context, dgst digest.Digest) er } const etcdDigest = "sha256:958608f8ecc1dc62c93b6c610f3a834dae4220c9642e6e8b4e0f2b3ad7cbd238" -const etcdManifest = `{ - "schemaVersion": 1, - "tag": "latest", - "name": "coreos/etcd", - "architecture": "amd64", - "fsLayers": [ - { - "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - { - "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - { - "blobSum": "sha256:2560187847cadddef806eaf244b7755af247a9dbabb90ca953dd2703cf423766" - }, - { - "blobSum": "sha256:744b46d0ac8636c45870a03830d8d82c20b75fbfb9bc937d5e61005d23ad4cfe" - } - ], - "history": [ - { - "v1Compatibility": "{\"id\":\"fe50ac14986497fa6b5d2cc24feb4a561d01767bc64413752c0988cb70b0b8b9\",\"parent\":\"a5a18474fa96a3c6e240bc88e41de2afd236520caf904356ad9d5f8d875c3481\",\"created\":\"2015-12-30T22:29:13.967754365Z\",\"container\":\"c8d0f1a274b5f52fa5beb280775ef07cf18ec0f95e5ae42fbad01157e2614d42\",\"container_config\":{\"Hostname\":\"1b97abade59e\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"ExposedPorts\":{\"2379/tcp\":{},\"2380/tcp\":{},\"4001/tcp\":{},\"7001/tcp\":{}},\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) ENTRYPOINT \\u0026{[\\\"/etcd\\\"]}\"],\"Image\":\"a5a18474fa96a3c6e240bc88e41de2afd236520caf904356ad9d5f8d875c3481\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":[\"/etcd\"],\"OnBuild\":null,\"Labels\":{}},\"docker_version\":\"1.9.1\",\"config\":{\"Hostname\":\"1b97abade59e\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"ExposedPorts\":{\"2379/tcp\":{},\"2380/tcp\":{},\"4001/tcp\":{},\"7001/tcp\":{}},\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":null,\"Image\":\"a5a18474fa96a3c6e240bc88e41de2afd236520caf904356ad9d5f8d875c3481\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":[\"/etcd\"],\"OnBuild\":null,\"Labels\":{}},\"architecture\":\"amd64\",\"os\":\"linux\"}" - }, - { - "v1Compatibility": "{\"id\":\"a5a18474fa96a3c6e240bc88e41de2afd236520caf904356ad9d5f8d875c3481\",\"parent\":\"796d581500e960cc02095dcdeccf55db215b8e54c57e3a0b11392145ffe60cf6\",\"created\":\"2015-12-30T22:29:13.504159783Z\",\"container\":\"080708d544f85052a46fab72e701b4358c1b96cb4b805a5b2d66276fc2aaf85d\",\"container_config\":{\"Hostname\":\"1b97abade59e\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"ExposedPorts\":{\"2379/tcp\":{},\"2380/tcp\":{},\"4001/tcp\":{},\"7001/tcp\":{}},\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) EXPOSE 2379/tcp 2380/tcp 4001/tcp 7001/tcp\"],\"Image\":\"796d581500e960cc02095dcdeccf55db215b8e54c57e3a0b11392145ffe60cf6\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"docker_version\":\"1.9.1\",\"config\":{\"Hostname\":\"1b97abade59e\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"ExposedPorts\":{\"2379/tcp\":{},\"2380/tcp\":{},\"4001/tcp\":{},\"7001/tcp\":{}},\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":null,\"Image\":\"796d581500e960cc02095dcdeccf55db215b8e54c57e3a0b11392145ffe60cf6\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"architecture\":\"amd64\",\"os\":\"linux\"}" - }, - { - "v1Compatibility": "{\"id\":\"796d581500e960cc02095dcdeccf55db215b8e54c57e3a0b11392145ffe60cf6\",\"parent\":\"309c960c7f875411ae2ee2bfb97b86eee5058f3dad77206dd0df4f97df8a77fa\",\"created\":\"2015-12-30T22:29:12.912813629Z\",\"container\":\"f28be899c9b8680d4cf8585e663ad20b35019db062526844e7cfef117ce9037f\",\"container_config\":{\"Hostname\":\"1b97abade59e\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) ADD file:e330b1da49d993059975e46560b3bd360691498b0f2f6e00f39fc160cf8d4ec3 in /\"],\"Image\":\"309c960c7f875411ae2ee2bfb97b86eee5058f3dad77206dd0df4f97df8a77fa\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"docker_version\":\"1.9.1\",\"config\":{\"Hostname\":\"1b97abade59e\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":null,\"Image\":\"309c960c7f875411ae2ee2bfb97b86eee5058f3dad77206dd0df4f97df8a77fa\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"architecture\":\"amd64\",\"os\":\"linux\",\"Size\":13502144}" - }, - { - "v1Compatibility": "{\"id\":\"309c960c7f875411ae2ee2bfb97b86eee5058f3dad77206dd0df4f97df8a77fa\",\"created\":\"2015-12-30T22:29:12.346834862Z\",\"container\":\"1b97abade59e4b5b935aede236980a54fb500cd9ee5bd4323c832c6d7b3ffc6e\",\"container_config\":{\"Hostname\":\"1b97abade59e\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) ADD file:74912593c6783292c4520514f5cc9313acbd1da0f46edee0fdbed2a24a264d6f in /\"],\"Image\":\"\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":null},\"docker_version\":\"1.9.1\",\"config\":{\"Hostname\":\"1b97abade59e\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":null,\"Image\":\"\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":null},\"architecture\":\"amd64\",\"os\":\"linux\",\"Size\":15141568}" - } - ], - "signatures": [ - { - "header": { - "alg": "RS256", - "jwk": { - "e": "AQAB", - "kty": "RSA", - "n": "yB40ou1GMvIxYs1jhxWaeoDiw3oa0_Q2UJThUPtArvO0tRzaun9FnSphhOEHIGcezfq95jy-3MN-FIjmsWgbPHY8lVDS38fF75aCw6qkholwqjmMtUIgPNYoMrg0rLUE5RRyJ84-hKf9Fk7V3fItp1mvCTGKaS3ze-y5dTTrfbNGE7qG638Dla2Fuz-9CNgRQj0JH54o547WkKJC-pG-j0jTDr8lzsXhrZC7lJas4yc-vpt3D60iG4cW_mkdtIj52ZFEgHZ56sUj7AhnNVly0ZP9W1hmw4xEHDn9WLjlt7ivwARVeb2qzsNdguUitcI5hUQNwpOVZ_O3f1rUIL_kRw" - } - }, - "protected": "eyJmb3JtYXRUYWlsIjogIkNuMCIsICJmb3JtYXRMZW5ndGgiOiA1OTI2LCAidGltZSI6ICIyMDE2LTAxLTAyVDAyOjAxOjMzWiJ9", - "signature": "DrQ43UWeit-thDoRGTCP0Gd2wL5K2ecyPhHo_au0FoXwuKODja0tfwHexB9ypvFWngk-ijXuwO02x3aRIZqkWpvKLxxzxwkrZnPSje4o_VrFU4z5zwmN8sJw52ODkQlW38PURIVksOxCrb0zRl87yTAAsUAJ_4UUPNltZSLnhwy-qPb2NQ8ghgsONcBxRQrhPFiWNkxDKZ3kjvzYyrXDxTcvwK3Kk_YagZ4rCOhH1B7mAdVSiSHIvvNV5grPshw_ipAoqL2iNMsxWxLjYZl9xSJQI2asaq3fvh8G8cZ7T-OahDUos_GyhnIj39C-9ouqdJqMUYFETqbzRCR6d36CpQ" - } - ] -}` diff --git a/pkg/dockerregistry/server/repository_test.go b/pkg/dockerregistry/server/repository_test.go index 39cb04400..1d6022360 100644 --- a/pkg/dockerregistry/server/repository_test.go +++ b/pkg/dockerregistry/server/repository_test.go @@ -357,6 +357,9 @@ func TestRepositoryBlobStatCacheEviction(t *testing.T) { // remove repo layer repo link of the image's second blob alg, hex := blob2Dgst.Algorithm(), blob2Dgst.Hex() err = driver.Delete(ctx, fmt.Sprintf("/docker/registry/v2/repositories/%s/_layers/%s/%s", "nm/is", alg, hex)) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } fos, imageClient := registrytest.NewFakeOpenShiftWithClient(ctx) registrytest.AddImageStream(t, fos, "nm", "is", nil) @@ -418,7 +421,7 @@ func TestRepositoryBlobStatCacheEviction(t *testing.T) { } // fail because the blob isn't stored locally - desc, err = repo.Blobs(ctx).Stat(ctx, blob1Dgst) + _, err = repo.Blobs(ctx).Stat(ctx, blob1Dgst) if err == nil { t.Fatalf("got unexpected non error: %v", err) } @@ -483,7 +486,7 @@ func TestRepositoryBlobStatCacheEviction(t *testing.T) { } // fail because the blob isn't stored locally - desc, err = repo.Blobs(ctx).Stat(ctx, blob2Dgst) + _, err = repo.Blobs(ctx).Stat(ctx, blob2Dgst) if err == nil { t.Fatalf("got unexpected non error: %v", err) } diff --git a/pkg/dockerregistry/server/signaturedispatcher.go b/pkg/dockerregistry/server/signaturedispatcher.go index 0e4849d08..5a1cdb9c0 100644 --- a/pkg/dockerregistry/server/signaturedispatcher.go +++ b/pkg/dockerregistry/server/signaturedispatcher.go @@ -186,7 +186,8 @@ func (s *signatureHandler) Get(w http.ResponseWriter, req *http.Request) { if data, err := json.Marshal(signatures); err != nil { s.handleError(s.ctx, errcode.ErrorCodeUnknown.WithDetail(fmt.Sprintf("failed to serialize image signature %v", err)), w) } else { - w.Write(data) + // TODO(dmage): log error? + _, _ = w.Write(data) } } diff --git a/pkg/dockerregistry/server/signaturedispatcher_test.go b/pkg/dockerregistry/server/signaturedispatcher_test.go index 3235d20f3..40e263866 100644 --- a/pkg/dockerregistry/server/signaturedispatcher_test.go +++ b/pkg/dockerregistry/server/signaturedispatcher_test.go @@ -137,7 +137,7 @@ func TestSignatureGet(t *testing.T) { } func TestSignaturePut(t *testing.T) { - imageClient := &imagefakeclient.FakeImageV1{&clientgotesting.Fake{}} + imageClient := &imagefakeclient.FakeImageV1{Fake: &clientgotesting.Fake{}} installFakeAccessController(t) diff --git a/pkg/dockerregistry/server/token.go b/pkg/dockerregistry/server/token.go index 2306f9b01..95b0fd43d 100644 --- a/pkg/dockerregistry/server/token.go +++ b/pkg/dockerregistry/server/token.go @@ -65,13 +65,15 @@ func (t *tokenHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { func (t *tokenHandler) writeError(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(400) - json.NewEncoder(w).Encode(map[string]interface{}{"error": "invalid_request"}) + // TODO(dmage): log error? + _ = json.NewEncoder(w).Encode(map[string]interface{}{"error": "invalid_request"}) } func (t *tokenHandler) writeToken(token string, w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(200) - json.NewEncoder(w).Encode(map[string]interface{}{ + // TODO(dmage): log error? + _ = json.NewEncoder(w).Encode(map[string]interface{}{ "token": token, "access_token": token, }) diff --git a/pkg/dockerregistry/testutil/manifests.go b/pkg/dockerregistry/testutil/manifests.go index 110d17f63..80a59e8d5 100644 --- a/pkg/dockerregistry/testutil/manifests.go +++ b/pkg/dockerregistry/testutil/manifests.go @@ -225,10 +225,10 @@ func AssertManifestsEqual(t *testing.T, description string, ma distribution.Mani } var va, vb manifest.Versioned - if err := json.Unmarshal([]byte(pa), &va); err != nil { + if err := json.Unmarshal(pa, &va); err != nil { t.Fatalf("[%s] failed to unmarshal payload of the first manifest: %v", description, err) } - if err := json.Unmarshal([]byte(pb), &vb); err != nil { + if err := json.Unmarshal(pb, &vb); err != nil { t.Fatalf("[%s] failed to unmarshal payload of the second manifest: %v", description, err) } diff --git a/pkg/dockerregistry/testutil/util.go b/pkg/dockerregistry/testutil/util.go index 373a5167f..0e59a5316 100644 --- a/pkg/dockerregistry/testutil/util.go +++ b/pkg/dockerregistry/testutil/util.go @@ -286,7 +286,10 @@ func ping(manager challenge.Manager, endpoint, versionHeader string) ([]auth.API if err != nil { return nil, err } - defer resp.Body.Close() + defer func() { + // TODO(dmage): log error? + _ = resp.Body.Close() + }() if err := manager.AddResponse(resp); err != nil { return nil, err diff --git a/pkg/origin-common/clientcmd/clientcmd.go b/pkg/origin-common/clientcmd/clientcmd.go index 35cf3958a..6ffaa1c3f 100644 --- a/pkg/origin-common/clientcmd/clientcmd.go +++ b/pkg/origin-common/clientcmd/clientcmd.go @@ -119,20 +119,28 @@ func (cfg *Config) bindEnv() error { } if !cfg.MasterAddr.Provided { - cfg.MasterAddr.Set(cfg.CommonConfig.Host) + if err := cfg.MasterAddr.Set(cfg.CommonConfig.Host); err != nil { + return fmt.Errorf("master addr: %v", err) + } } if !cfg.KubernetesAddr.Provided { - cfg.KubernetesAddr.Set(cfg.CommonConfig.Host) + if err := cfg.KubernetesAddr.Set(cfg.CommonConfig.Host); err != nil { + return fmt.Errorf("kubernetes addr: %v", err) + } } return nil } // Legacy path - preserve env vars set on pods that previously were honored. if value, ok := getEnv("KUBERNETES_MASTER"); ok && !cfg.KubernetesAddr.Provided { - cfg.KubernetesAddr.Set(value) + if err := cfg.KubernetesAddr.Set(value); err != nil { + return fmt.Errorf("kubernetes addr: %v", err) + } } if value, ok := getEnv("OPENSHIFT_MASTER"); ok && !cfg.MasterAddr.Provided { - cfg.MasterAddr.Set(value) + if err := cfg.MasterAddr.Set(value); err != nil { + return fmt.Errorf("master addr: %v", err) + } } if value, ok := getEnv("BEARER_TOKEN"); ok && len(cfg.CommonConfig.BearerToken) == 0 { cfg.CommonConfig.BearerToken = value diff --git a/pkg/testframework/master.go b/pkg/testframework/master.go index 3e2095519..c53e5b4ae 100644 --- a/pkg/testframework/master.go +++ b/pkg/testframework/master.go @@ -73,22 +73,23 @@ func StartMasterContainer(configDir string) (*MasterContainer, error) { c.InspectResult, err = Inspect(c.ID) if err != nil { - c.Stop() + // TODO(dmage): log error + _ = c.Stop() return c, err } if err := WaitTCP(c.NetworkSettings.IPAddress + ":" + strconv.Itoa(c.Port)); err != nil { - c.Stop() + _ = c.Stop() return c, err } if err := c.WriteConfigs(configDir); err != nil { - c.Stop() + _ = c.Stop() return c, err } if err := c.WaitHealthz(configDir); err != nil { - c.Stop() + _ = c.Stop() return c, err } diff --git a/pkg/testframework/net.go b/pkg/testframework/net.go index 7df22ba20..c6886f493 100644 --- a/pkg/testframework/net.go +++ b/pkg/testframework/net.go @@ -17,7 +17,10 @@ func FindFreeLocalPort() (int, error) { if err != nil { return 0, err } - defer l.Close() + defer func() { + // ignore error + _ = l.Close() + }() _, portStr, err := net.SplitHostPort(l.Addr().String()) if err != nil { return 0, err diff --git a/test/integration/pullthrough/pullthrough_test.go b/test/integration/pullthrough/pullthrough_test.go index e4d7e90b5..8ed5dde93 100644 --- a/test/integration/pullthrough/pullthrough_test.go +++ b/test/integration/pullthrough/pullthrough_test.go @@ -12,7 +12,6 @@ import ( "strings" "testing" - "github.com/docker/distribution/digest" "github.com/docker/distribution/manifest/schema1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -33,10 +32,6 @@ var gzippedEmptyTar = []byte{ 0, 8, 0, 0, 255, 255, 46, 175, 181, 239, 0, 4, 0, 0, } -// digestSHA256GzippedEmptyTar is the canonical sha256 digest of -// gzippedEmptyTar -const digestSHA256GzippedEmptyTar = digest.Digest("sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4") - func testPullThroughGetManifest(registryAddr string, stream *imageapiv1.ImageStreamImport, user, token, urlPart string) error { url := fmt.Sprintf("http://%s/v2/%s/%s/manifests/%s", registryAddr, stream.Namespace, stream.Name, urlPart) @@ -58,6 +53,9 @@ func testPullThroughGetManifest(registryAddr string, stream *imageapiv1.ImageStr } body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return fmt.Errorf("error reading manifest: %v", err) + } var retrievedManifest schema1.Manifest