Private Project Registry Can't Push Images

Solution Verified - Updated -

Issue

  • In openshift, I want to create a new project that will include a private registry. I create a service account, deployement config, services and I add a PV (NFS directory) for storage. The deployment works fine, I see my pods for the private registry in my project and the logs seem to be OK. I can login in the docker from another server using the public URL.
  • I want to run another OpenShift Container Registry in my cluster but inside a different project than default. After creating what seems like the necessary steps I am able to Pull an image from the Red Hat Registry, I then can tag the image for my private registry, but when I try to push it starts to work and then fails Received unexpected HTTP status: 500 Internal Server Error. However, my persistent storage shows that it did something and the registry pod logs have a couple errors:
time="<DATE_TIME_TZ>" level=error msg="response completed with error" 
err.code=unknown err.detail="manifest invalid: manifest invalid" err.message="unknown error" 
go.version=go1.6.3 http.request.contenttype="application/vnd.docker.distribution.manifest.v2+json" 
http.request.host=<PRIVATE_REGISTRY_ROUTE> http.request.id=<INFORMATION> 
http.request.method=PUT http.request.remoteaddr="<IP_ADDR>" http.request.uri="<IMAGE_PATH>" 
http.request.useragent="docker/1.10.3 go/go1.6.2 git-commit/5206701-unsupported kernel/3.10.0-327.36.3.el7.x86_64 os/linux arch/amd64" 
http.response.contenttype="application/json; charset=utf-8" http.response.duration=6.013996ms http.response.status=500 http.response.written=136 
instance.id=<ID_INFO> vars.name="<IMAGE_PATH>" vars.reference=latest 



time="<DATE_TIME_TZ>" level=error msg="error creating ImageStreamMapping: 
User \"system:serviceaccount:private-registry:private-registry\" cannot create imagestreammappings in project \"<PRIVATE_REGISTRY_PROJECT>\"" 
go.version=go1.6.3 http.request.contenttype="application/vnd.docker.distribution.manifest.v1+prettyjws" 
http.request.host=<PRIVATE_REGISTRY_ROUTE> http.request.id=<INFORMATION> 
http.request.method=PUT http.request.remoteaddr="<IP_ADDR>" http.request.uri="<IMAGE_PATH>" 
http.request.useragent="docker/1.10.3 go/go1.6.2 git-commit/5206701-unsupported kernel/3.10.0-327.36.3.el7.x86_64 os/linux arch/amd64" 
instance.id=<ID_INFO> vars.name="<IMAGE_PATH>" vars.reference=latest

Environment

  • OpenShift Container Platform 3.3.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.