<commit_before>[[install-config-registry-known-issues]]
= Known Issues
{product-author}
{product-version]
:data-uri:
:icons:
:experimental:
:toc: macro
:toc-title:
:prewrap!:

toc::[]

== Overview

The following are the known issues when deploying or using the integrated
registry.

[[known-issue-nfs-image-push-fails]]
== Image Push Errors with Scaled Registry Using Shared NFS Volume

When using a scaled registry with a shared NFS volume, you may see one of the
following errors during the push of an image:

- `digest invalid: provided digest did not match uploaded content`
- `blob upload unknown`
- `blob upload invalid`

These errors are returned by an internal registry service when Docker attempts
to push the image. Its cause originates in the synchronization of file
attributes across nodes. Factors such as NFS client side caching, network
latency, and layer size can all contribute to potential errors that might occur
when pushing an image using the default round-robin load balancing
configuration.

You can perform the following steps to minimize the probability of such a
failure:

. Ensure that the `*sessionAffinity*` of your *docker-registry* service is set
to `ClientIP`:
+
----
$ oc get svc/docker-registry --template='{{.spec.sessionAffinity}}'
----
+
This should return `ClientIP`, which is the default in recent {product-title}
versions. If not, change it:
+
----
$ oc get -o yaml svc/docker-registry | \
      sed 's/\(sessionAffinity:\s*\).*/\1ClientIP/' | \
      oc replace -f -
----
+
. Ensure that the NFS export line of your registry volume on your NFS server has
the `no_wdelay` options listed. See
xref:../persistent_storage/persistent_storage_nfs.adoc#nfs-export-settings[Export
Settings] in the
xref:../../install_config/persistent_storage/persistent_storage_nfs.adoc#install-config-persistent-storage-persistent-storage-nfs[Persistent
Storage Using NFS] topic for details.

== Pull of Internally Managed Image Fails with "not found" Error

This error occurs when the pulled image is pushed to an image stream different
from the one it is being pulled from. This is caused by re-tagging a built image into an arbitrary image stream:

====
----
$ oc tag srcimagestream:latest anyproject/pullimagestream:latest
----<commit_msg>Bug 1387712 Added note recommending moving off NFS for production<commit_after>[[install-config-registry-known-issues]]
= Known Issues
{product-author}
{product-version]
:data-uri:
:icons:
:experimental:
:toc: macro
:toc-title:
:prewrap!:

toc::[]

== Overview

The following are the known issues when deploying or using the integrated
registry.

[[known-issue-nfs-image-push-fails]]
== Image Push Errors with Scaled Registry Using Shared NFS Volume

When using a scaled registry with a shared NFS volume, you may see one of the
following errors during the push of an image:

- `digest invalid: provided digest did not match uploaded content`
- `blob upload unknown`
- `blob upload invalid`

These errors are returned by an internal registry service when Docker attempts
to push the image. Its cause originates in the synchronization of file
attributes across nodes. Factors such as NFS client side caching, network
latency, and layer size can all contribute to potential errors that might occur
when pushing an image using the default round-robin load balancing
configuration.

You can perform the following steps to minimize the probability of such a
failure:

. Ensure that the `*sessionAffinity*` of your *docker-registry* service is set
to `ClientIP`:
+
----
$ oc get svc/docker-registry --template='{{.spec.sessionAffinity}}'
----
+
This should return `ClientIP`, which is the default in recent {product-title}
versions. If not, change it:
+
----
$ oc get -o yaml svc/docker-registry | \
      sed 's/\(sessionAffinity:\s*\).*/\1ClientIP/' | \
      oc replace -f -
----
+
. Ensure that the NFS export line of your registry volume on your NFS server has
the `no_wdelay` options listed. See
xref:../persistent_storage/persistent_storage_nfs.adoc#nfs-export-settings[Export
Settings] in the
xref:../../install_config/persistent_storage/persistent_storage_nfs.adoc#install-config-persistent-storage-persistent-storage-nfs[Persistent
Storage Using NFS] topic for details.

[NOTE]
====
The guidelines for NFS are recommended to help you get started. You
may switch off from NFS when moving to production.
====

== Pull of Internally Managed Image Fails with "not found" Error

This error occurs when the pulled image is pushed to an image stream different
from the one it is being pulled from. This is caused by re-tagging a built image into an arbitrary image stream:

====
----
$ oc tag srcimagestream:latest anyproject/pullimagestream:latest
----
{'fraction_non_alphanumeric': 0.0904266610061558, 'fraction_numerical': 0.00191042241562301, 'mean_word_length': 4.360637087599545, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '129397', 'n_tokens_mistral': 1356, 'n_tokens_neox': 1292, 'n_words': 575}