Bug 1614841

Summary: [3.10] Add rsync back to the docker-registry image
Product: OpenShift Container Platform Reporter: Eric Jones <erjones>
Component: Image RegistryAssignee: Ben Parees <bparees>
Status: CLOSED ERRATA QA Contact: Wenjing Zheng <wzheng>
Severity: medium Docs Contact:
Priority: urgent    
Version: 3.10.0CC: aos-bugs, ccoleman, eparis, erich, erjones, jokerman, maszulik, mmccomas, scott.c.worthington, smunilla, tbielawa
Target Milestone: ---Keywords: NeedsTestCase, Regression
Target Release: 3.10.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: rsync package was removed from the regsitry image Consequence: rsync cannot be used to backup content from the registry container Fix: rsync package added back to the image Result: rsync can be used
Story Points: ---
Clone Of:
: 1664853 1664854 (view as bug list) Environment:
Last Closed: 2019-01-30 15:13:18 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:
Bug Depends On:    
Bug Blocks: 1664853, 1664854    

Description Eric Jones 2018-08-10 14:21:13 UTC
Description of problem:
In 3.10, the ose-base image no longer installs git, which included rsync as a dependency. This means that rsync is no longer installed in almost Any container that uses the ose-base image (for example the docker-registry) during creation.

This means that `oc rsync` no longer appropriately uses rsync in the container and instead defaults to remote tar, assuming tar is available in the container.

Version-Release number of selected component (if applicable):
3.10 

Dockerfile-openshift3-ose-base-v3.10.14-10

How reproducible:
100%

Additional info:
----3.10
# docker run --user root  -it --entrypoint=/bin/bash --rm registry.access.redhat.com/openshift3/ose-docker-registry:v3.10

$ cat /root/buildinfo/Dockerfile-openshift3-ose-base-v3.10.14-10

RUN INSTALL_PKGS=" \
      which tar wget hostname sysvinit-tools util-linux \
      socat tree findutils lsof bind-utils

----3.9
# docker run --user root  -it --entrypoint=/bin/bash --rm registry.access.redhat.com/openshift3/ose-docker-registry:v3.9

$ cat /root/buildinfo/Dockerfile-openshift3-ose-base-v3.9.33-3


RUN INSTALL_PKGS=" \
      which git tar wget hostname sysvinit-tools util-linux bsdtar \
      socat ethtool device-mapper iptables tree findutils nmap-ncat e2fsprogs \
      xfsprogs lsof device-mapper-persistent-data ceph-common \

-------YUM
# yum deplist git | grep rsync
  dependency: rsync
   provider: rsync.x86_64 3.1.2-4.el7

Comment 9 Maciej Szulik 2018-10-04 13:41:57 UTC
Origin PR: https://github.com/openshift/origin/pull/21176

Comment 19 Maciej Szulik 2019-01-08 09:22:52 UTC
> I can expand on this more with a comment directly from the customer requesting this: 
>
>   * rsync is useful in the docker-registry container for migrating docker-registry's /registry/ folder from the default NFS to GlusterFS when performing migrations.

Registry is owned by Devexp and I'm going to move this bug to them.

> Only core images that need rsync are impacted.

> What images are these? Can Engineering provide a list? 

These are all the images mentioned in OCP Container Images table, but each is owned by a different team
that should properly update their Dockerfiles.

> Why exactly don't we want to include one package in a base image? 

We want to keep base image as the smallest possible unit that contains ONLY the necessary
common tooling for images. If you want support rsyncing into images (we rarely do in our
images, registry being one exception for now) we don't include it.

Comment 22 Wenjing Zheng 2019-01-21 03:47:09 UTC
Verified with below v3.10.101-4 image:
[root@preserve-310-master-etcd-1 ~]# docker run --user root  -it --entrypoint=/bin/bash --rm brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/openshift3/ose-docker-registry:v3.10.101-4
Unable to find image 'brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/openshift3/ose-docker-registry:v3.10.101-4' locally
Trying to pull repository brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/openshift3/ose-docker-registry ... 
v3.10.101-4: Pulling from brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/openshift3/ose-docker-registry
c325120ebc8d: Pull complete 
c9d123037991: Pull complete 
0ba099fe0cc6: Pull complete 
ae88a3c3731b: Pull complete 
a215afd3f39b: Pull complete 
Digest: sha256:0a004d82412abec5abab2542b7fd8bfd4c67616359c34706dc699c57a9c65862
Status: Downloaded newer image for brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/openshift3/ose-docker-registry:v3.10.101-4
[root@91d8ad340628 /]# rpm -qa | grep rsync
rsync-3.1.2-4.el7.x86_64

Comment 24 errata-xmlrpc 2019-01-30 15:13:18 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:0206