Comment 3 for bug 1818911

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to stx-tools (master)

Reviewed: https://review.openstack.org/641495
Committed: https://git.openstack.org/cgit/openstack/stx-tools/commit/?id=cf435e6c2a8f8b0be479fbe16a1cc3fa1f752d69
Submitter: Zuul
Branch: master

commit cf435e6c2a8f8b0be479fbe16a1cc3fa1f752d69
Author: Scott Little <email address hidden>
Date: Wed Mar 6 16:47:22 2019 -0500

    download_mirror.sh fails with 404 errors

    The 'yum makecache' step is failing. The issue is seen when the fast
    mirror plugin for yum is in use (default).

    The metadata for a yum repo as scattered across several files. The
    master file is repomd.xml, and it may list several supporting files,
    e.g.
       filelists.xml.gz
       primary.xml.gz
       filelists.sqlite.bz2
       other.sqlite.bz2
       other.xml.gz
       primary.sqlite.bz2

    When fast mirror plugin is in use, each file might download from a
    separate source. This opens the door for a race condition when a repo
    update is rolling out across the mirrors.

    The error suggests we have already downloaded a repomd.xml, but it is
    obsolete and references a supporting file that no longer exists.

    A second possible source of inconsistent data is caching proxies.

    Solution:
    1) Disabling the yum fast cache plugin is undesirable, and there
    is no option forcing metadata iof a given repo to be single sourced.
    So this update adds a limited number of retries for the
    'yum makecache' command.

    So far we've never seen 'yum makecache' fail twice in a row...
    largely because the 'fastest mirror' plugin rarely downloaded from the
    same source twice.

    2) Add 'http_caching=packages' to yum.conf, which asks upstream proxies
    to not cache repodata.

    Change-Id: I3fa3f61e38d868fb14f4175b87c0d323abb57def
    Closes-bug: 1818911
    Signed-off-by: Scott Little <email address hidden>