Bug 1369851

Summary: Registry is missing GCS backend in 3.3 puddle rpms
Product: OpenShift Container Platform Reporter: Peter Schiffer <pschiffe>
Component: Image RegistryAssignee: Scott Dodson <sdodson>
Status: CLOSED CURRENTRELEASE QA Contact: zhou ying <yinzhou>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.3.0CC: aos-bugs, pschiffe, sdodson, tdawson
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-19 13:28:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Peter Schiffer 2016-08-24 14:30:50 UTC
Description of problem:
I think this is a bug, as the feature should work in 3.2, based on #1332301 but it doesn't work for me in 3.3. I'm using rpms from puddle: atomic-openshift-3.3.0.22-1.git.0.be35299

$ sudo docker images | grep registry  (I'm using my own repo in gce, because the env doesn't have access to our vpn)
repo.c.ose-refarch.internal:5000/openshift3/ose-docker-registry   v3.3.0.22           95a837e68a1e        6 days ago          664 MB

$ oc logs docker-registry-2-ba12c
time="2016-08-24T09:41:47.725159072-04:00" level=info msg="version=v2.4.1+unknown" 
panic: StorageDriver not registered: gcs

goroutine 1 [running]:
panic(0x1a9eae0, 0xc8202438b0)
	/usr/lib/golang/src/runtime/panic.go:481 +0x3e6
github.com/openshift/origin/vendor/github.com/docker/distribution/registry/handlers.NewApp(0x7fb58082d880, 0x2cd1460, 0xc8203ee2c0, 0x7fb58082d880)
	/builddir/build/BUILD/atomic-openshift-git-0.be35299/_build/src/github.com/openshift/origin/vendor/github.com/docker/distribution/registry/handlers/app.go:121 +0x619
github.com/openshift/origin/pkg/cmd/dockerregistry.Execute(0x7fb580817270, 0xc820324068)
	/builddir/build/BUILD/atomic-openshift-git-0.be35299/_build/src/github.com/openshift/origin/pkg/cmd/dockerregistry/dockerregistry.go:59 +0x4d3
main.main()
	/builddir/build/BUILD/atomic-openshift-git-0.be35299/_build/src/github.com/openshift/origin/cmd/dockerregistry/main.go:51 +0x47d


config (managed by ansible and I'm using scoped vms, so that's why no keyfile):
version: 0.1
log:
  level: debug
http:
  addr: :5000
storage:
  cache:
    layerinfo: inmemory
  gcs:
    bucket: "{{ gcs_registry_bucket }}"
    rootdirectory: /registry
auth:
  openshift:
    realm: openshift
middleware:
  repository:
    - name: openshift

Comment 2 Scott Dodson 2016-08-24 18:27:10 UTC
v3.3.0.22 was prior to us using hack/build-cross.sh which injects the correct tags into the build process. Can you please re-test with v3.3.0.25.

Comment 3 zhou ying 2016-08-26 02:49:57 UTC
blocked by bug 1370045

Comment 4 zhou ying 2016-08-29 03:11:24 UTC
Confirmed with latest openshift puddle, the issue has fixed:
openshift version
openshift v3.3.0.26
kubernetes v1.3.0+507d3a7
etcd 2.3.0+git

more /etc/registryconfig/config.yml
version: 0.1
log:
  level: debug
http:
  addr: :5000
storage:
  cache:
    layerinfo: inmemory
  gcs:
    bucket: ose-qe-docker-registry
    keyfile: /etc/registryconfig/key.json
    rootdirectory: /registry-20160828211232
auth:
  openshift:
    realm: openshift
middleware:
  repository:
    - name: openshift
      options:
        pullthrough: true
  registry:
     - name: openshift
  storage:
     - name: openshift

Comment 5 Peter Schiffer 2016-08-31 12:11:46 UTC
This works for me now with:
atomic-openshift-3.3.0.27-1.git.0.f1694b3.el7.x86_64