Skip to content

openshift/origin image ships with a broken yum repository #14393

@jpkrohling

Description

@jpkrohling

For images based on openshift/origin, a recent update has made downstream images fail on simple yum operations, as follows:

docker build . 
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM openshift/origin:latest
 ---> da75ad7baaa1
Step 2 : RUN yum update -y && yum clean all
 ---> Running in 7172e59c7833
Loaded plugins: fastestmirror, ovl
file:///srv/origin-local-release/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /srv/origin-local-release/repodata/repomd.xml"
Trying other mirror.


 One of the configured repositories failed (OpenShift Origin Release from Local Source),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=origin-local-release ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable origin-local-release
        or
            subscription-manager repos --disable=origin-local-release

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=origin-local-release.skip_if_unavailable=true

failure: repodata/repomd.xml from origin-local-release: [Errno 256] No more mirrors to try.
file:///srv/origin-local-release/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /srv/origin-local-release/repodata/repomd.xml"
The command '/bin/sh -c yum update -y && yum clean all' returned a non-zero code: 1

A possible workaround is to disable this repo, by passing the parameter --disablerepo=origin-local-release to the yum command.

Version

Docker image da75ad7baaa1 (latest as of May 29th, 10am UTC)

Steps To Reproduce
  1. Create a Dockerfile as follows:
FROM openshift/origin:latest
RUN yum update -y && yum clean all
  1. Build the Dockerfile: docker build .

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions