Currently there's no clear user feedback when the registry volume is at 100% and image push is failing. It would be better to explicitly tell the user that the registry is full. This is a CNS-backed registry volume. Pushed 3/12 layers, 25% complete Pushed 4/12 layers, 33% complete Pushed 5/12 layers, 42% complete Pushed 6/12 layers, 50% complete Pushed 7/12 layers, 58% complete Pushed 8/12 layers, 67% complete Pushed 9/12 layers, 75% complete Pushed 10/12 layers, 83% complete Pushed 11/12 layers, 92% complete Registry server Address: Registry server User Name: serviceaccount Registry server Email: serviceaccount Registry server Password: <<non-empty>> error: build error: Failed to push image: received unexpected HTTP status: 500 Internal Server Error [root@dhcp19-231-221 ~]# oc get pod -n default --selector=docker-registry NAME READY STATUS RESTARTS AGE docker-registry-9-05z6n 1/1 Running 0 2d docker-registry-9-8gqsp 1/1 Running 0 2d docker-registry-9-j4gpd 1/1 Running 0 2d [root@dhcp19-231-221 ~]# oc rsh -n default docker-registry-9-05z6n df /registry Filesystem 1K-blocks Used Available Use% Mounted on 10.19.231.208:gluster-registry-volume 524027904 524027904 0 100% /registry [root@dhcp19-231-221 ~]# oc version oc v3.5.5.26 kubernetes v1.5.2+43a9be4 features: Basic-Auth GSSAPI Kerberos SPNEGO Server https://dhcp19-231-221.css.lab.eng.bos.redhat.com:8443 openshift v3.5.5.26 kubernetes v1.5.2+43a9be4
There are a bunch of circumstances that can cause 500 from the registry (invalid credentials for the storage, no connectivity with the master api, lack of the free space on the storage, hitting limit of file descriptors, etc). These errors are hits of cluster weaknesses. As our registry can be used as a public service, we shouldn't provide such hints. Though, we have all details for such errors in the registry logs. Normally, the administrator should get a notification about the free space before it completely runs out. But AFAIK we don't provide such tools yet.