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