Origin: Aliyun oss storage driver for Docker registry

Created on 22 Nov 2016  路  7Comments  路  Source: openshift/origin

It looks like https://github.com/openshift/origin/pull/8692 added support for the Docker registry oss storage driver, however, this was removed by this PR. The OpenShift docs don't mention support for oss; I was just wondering if there's a way to add support for it? We have an account if that helps with initial testing.

Adding an oss storage section in the registry config yaml results in the following errors (expected given that it's not supported):

panic: StorageDriver not registered: oss

goroutine 1 [running]:
panic(0x1b54a20, 0xc8204967d0)
    /usr/local/go/src/runtime/panic.go:481 +0x3e6
github.com/openshift/origin/vendor/github.com/docker/distribution/registry/handlers.NewApp(0x7f71c419dac8, 0x2c02f00, 0xc820325080, 0x7f71c419dac8)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/docker/distribution/registry/handlers/app.go:121 +0x619
github.com/openshift/origin/pkg/cmd/dockerregistry.Execute(0x7f71c4189270, 0xc8202d6380)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/pkg/cmd/dockerregistry/dockerregistry.go:60 +0x4e4
main.main()
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/cmd/dockerregistry/main.go:51 +0x47d
Version
# oc version
oc v1.3.1
kubernetes v1.3.0+52492b4
features: Basic-Auth GSSAPI Kerberos SPNEGO

Server https://dashboard.abarcloud.internal:8443
openshift v1.3.1
kubernetes v1.3.0+52492b4
componenimageregistry kinbug prioritP1

All 7 comments

@legionus @miminar @mfojtik this looks like a rebase regression - the driver package is not in our current distribution branch but exists in the upstream branches. Please take a look

@pweil- Yep. It's because of https://github.com/docker/distribution/commit/0058b08eeb8c603c8c416588427553bcdef2d915. Upstream added tag, and oss stopped to build.

is there some reason we can support the build tag? We should definitely be looking for a solution and I would say that this is a candidate for back porting.

@pweil- We have build tags for registry.

@legionus @pweil- we discussed this with @legionus, we should add that tag into the common.sh so we build with OSS support.

Thanks guys! This is our first time hacking on Origin and we're not sure how the dependencies are meant to work. Looks like the godeps file has docker/distribution@12acdf0a6c1e56d965ac6eb395d2bce687bf22fc, but that doesn't seem to be what's in the vendor folder. We updated the vendor dependencies to add denverdino/aliyungo. then edited pkg/cmd/dockerregistry/dockerregistry.go to add

_ "github.com/docker/distribution/registry/storage/driver/oss"

We then ran:

hack/build-go.sh cmd/dockerregistry -tags=include_oss

We built a registry image with the above and verified that Openshift Origin worked fine with our Aliyun OSS account.

@legionus @mfojtik bump

Was this page helpful?
0 / 5 - 0 ratings