Repositories have unresolved dependencies in centos 7.4

Bug #1717550 reported by Sagi (Sergey) Shnaidman
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Critical
Lars Kellogg-Stedman

Bug Description

Updating images doesn't work in tripleo-quickstart because problems with dependencies. Seems like related to centos 7.4 issues.

+ sudo rm -rf '/etc/yum.repos.d/CentOS-OpenStack-*.repo' '/etc/yum.repos.d/CentOS-Ceph-*.repo' /etc/yum.repos.d/CentOS-QEMU-EV.repo
+ sudo rm -rf '/etc/yum.repos.d/*.rpmsave'
+ sudo yum repolist
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
1020 packages excluded due to repository priority protections
repo id repo name status
delorean delorean 564+403
delorean-current delorean-current 112+856
delorean-pike-testing delorean-pike-testing 1121+728
quickstart-centos-base quickstart-centos-base 9482+109
quickstart-centos-ceph-jewel quickstart-centos-ceph-jewel 49+2
quickstart-centos-extras quickstart-centos-extras 166+30
quickstart-centos-opstools quickstart-centos-opstools 237+14
quickstart-centos-qemu quickstart-centos-qemu 21+6
quickstart-centos-updates quickstart-centos-updates 654+19
repolist: 12406
+ sudo yum update -y
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
1020 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check

...

---> Package atomic-registries.x86_64 1:1.18.1-3.1.git0705b1b.el7 will be installed
--> Processing Dependency: json-glib for package: 1:atomic-registries-1.18.1-3.1.git0705b1b.el7.x86_64
--> Processing Dependency: libjson-glib-1.0.so.0()(64bit) for package: 1:atomic-registries-1.18.1-3.1.git0705b1b.el7.x86_64
---> Package clufter-bin.x86_64 0:0.76.0-1.el7 will be installed
--> Processing Dependency: clufter-common = 0.76.0-1.el7 for package: clufter-bin-0.76.0-1.el7.x86_64
---> Package container-storage-setup.noarch 0:0.3.0-3.git927974f.el7 will be installed
---> Package elfutils-default-yama-scope.noarch 0:0.168-8.el7 will be installed
---> Package fence-agents-sbd.x86_64 0:4.0.11-66.el7_4.1 will be installed
---> Package glibc.i686 0:2.17-196.el7 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.17-196.el7.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.17-196.el7.i686
---> Package grub2-common.noarch 1:2.02-0.64.el7.centos will be installed
---> Package grub2-pc.x86_64 1:2.02-0.64.el7.centos will be installed
--> Processing Dependency: grub2-pc-modules = 1:2.02-0.64.el7.centos for package: 1:grub2-pc-2.02-0.64.el7.centos.x86_64
---> Package http-parser.x86_64 0:2.7.1-5.el7_4 will be installed
---> Package libfastjson.x86_64 0:0.99.4-2.el7 will be installed
---> Package libsss_certmap.x86_64 0:1.15.2-50.el7_4.2 will be installed
---> Package libvirt-daemon-driver-storage-core.x86_64 0:3.2.0-14.el7_4.3 will be installed
---> Package libvirt-daemon-driver-storage-disk.x86_64 0:3.2.0-14.el7_4.3 will be installed
---> Package libvirt-daemon-driver-storage-gluster.x86_64 0:3.2.0-14.el7_4.3 will be installed
--> Processing Dependency: /usr/sbin/gluster for package: libvirt-daemon-driver-storage-gluster-3.2.0-14.el7_4.3.x86_64
---> Package libvirt-daemon-driver-storage-iscsi.x86_64 0:3.2.0-14.el7_4.3 will be installed
---> Package libvirt-daemon-driver-storage-logical.x86_64 0:3.2.0-14.el7_4.3 will be installed
---> Package libvirt-daemon-driver-storage-mpath.x86_64 0:3.2.0-14.el7_4.3 will be installed
---> Package libvirt-daemon-driver-storage-rbd.x86_64 0:3.2.0-14.el7_4.3 will be installed
---> Package libvirt-daemon-driver-storage-scsi.x86_64 0:3.2.0-14.el7_4.3 will be installed
---> Package libvirt-libs.x86_64 0:3.2.0-14.el7_4.3 will be installed
---> Package linux-firmware.noarch 0:20170606-56.gitc990aae.el7 will be installed
---> Package nss-pem.x86_64 0:1.0.3-4.el7 will be installed
---> Package oci-umount.x86_64 2:1.12.6-48.git0fdc778.el7.centos will be installed
---> Package osinfo-db.noarch 0:20170423-2.el7 will be installed
---> Package osinfo-db-tools.x86_64 0:1.1.0-1.el7 will be installed
--> Processing Dependency: libarchive.so.13()(64bit) for package: osinfo-db-tools-1.1.0-1.el7.x86_64
---> Package python2-ipaclient.noarch 0:4.5.0-21.el7.centos.1.2 will be an update
--> Processing Dependency: python-dns >= 1.12.0-3 for package: python2-ipaclient-4.5.0-21.el7.centos.1.2.noarch
---> Package python2-ipalib.noarch 0:4.5.0-21.el7.centos.1.2 will be an update
--> Processing Dependency: python-dns >= 1.12.0-3 for package: python2-ipalib-4.5.0-21.el7.centos.1.2.noarch
---> Package squashfs-tools.x86_64 0:4.3-0.21.gitaae0aff4.el7 will be installed
---> Package systemd-libs.i686 0:219-42.el7_4.1 will be installed
--> Processing Dependency: libselinux.so.1 for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libpam_misc.so.0(LIBPAM_MISC_1.0) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libpam_misc.so.0 for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libpam.so.0(LIBPAM_MODUTIL_1.0) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libpam.so.0(LIBPAM_EXTENSION_1.0) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libpam.so.0(LIBPAM_1.0) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libpam.so.0 for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: liblzma.so.5(XZ_5.0) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: liblzma.so.5 for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libgpg-error.so.0 for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libgcrypt.so.11(GCRYPT_1.2) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libgcrypt.so.11 for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libgcc_s.so.1(GLIBC_2.0) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libgcc_s.so.1(GCC_3.3.1) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libgcc_s.so.1(GCC_3.0) for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libgcc_s.so.1 for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libdw.so.1 for package: systemd-libs-219-42.el7_4.1.i686
--> Processing Dependency: libcap.so.2 for package: systemd-libs-219-42.el7_4.1.i686
---> Package systemd-python.x86_64 0:219-42.el7_4.1 will be installed
--> Running transaction check
---> Package clufter-common.noarch 0:0.76.0-1.el7 will be installed
---> Package elfutils-libs.i686 0:0.168-8.el7 will be installed
--> Processing Dependency: elfutils-libelf(x86-32) = 0.168-8.el7 for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libz.so.1(ZLIB_1.2.2.3) for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libz.so.1 for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libelf.so.1(ELFUTILS_1.7) for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libelf.so.1(ELFUTILS_1.6) for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libelf.so.1(ELFUTILS_1.5) for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libelf.so.1(ELFUTILS_1.4) for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libelf.so.1(ELFUTILS_1.3) for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libelf.so.1(ELFUTILS_1.1.1) for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libelf.so.1(ELFUTILS_1.0) for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libelf.so.1 for package: elfutils-libs-0.168-8.el7.i686
--> Processing Dependency: libbz2.so.1 for package: elfutils-libs-0.168-8.el7.i686
---> Package glusterfs-cli.x86_64 0:3.8.4-18.4.el7.centos will be installed
---> Package grub2-pc-modules.noarch 1:2.02-0.64.el7.centos will be installed
---> Package json-glib.x86_64 0:1.2.6-1.el7 will be installed
---> Package libarchive.x86_64 0:3.1.2-10.el7_2 will be installed
---> Package libcap.i686 0:2.22-9.el7 will be installed
--> Processing Dependency: libattr.so.1(ATTR_1.0) for package: libcap-2.22-9.el7.i686
--> Processing Dependency: libattr.so.1 for package: libcap-2.22-9.el7.i686
---> Package libgcc.i686 0:4.8.5-16.el7 will be installed
---> Package libgcrypt.i686 0:1.5.3-14.el7 will be installed
---> Package libgpg-error.i686 0:1.12-3.el7 will be installed
---> Package libselinux.i686 0:2.5-11.el7 will be installed
--> Processing Dependency: libsepol(x86-32) >= 2.5-6 for package: libselinux-2.5-11.el7.i686
--> Processing Dependency: libsepol.so.1(LIBSEPOL_1.0) for package: libselinux-2.5-11.el7.i686
--> Processing Dependency: libsepol.so.1 for package: libselinux-2.5-11.el7.i686
--> Processing Dependency: libpcre.so.1 for package: libselinux-2.5-11.el7.i686
---> Package nss-softokn-freebl.i686 0:3.28.3-8.el7_4 will be installed
---> Package pam.i686 0:1.1.8-18.el7 will be installed
--> Processing Dependency: libdb-5.3.so for package: pam-1.1.8-18.el7.i686
--> Processing Dependency: libcrack.so.2 for package: pam-1.1.8-18.el7.i686
--> Processing Dependency: libaudit.so.1 for package: pam-1.1.8-18.el7.i686
---> Package python2-ipaclient.noarch 0:4.5.0-21.el7.centos.1.2 will be an update
--> Processing Dependency: python-dns >= 1.12.0-3 for package: python2-ipaclient-4.5.0-21.el7.centos.1.2.noarch
---> Package python2-ipalib.noarch 0:4.5.0-21.el7.centos.1.2 will be an update
--> Processing Dependency: python-dns >= 1.12.0-3 for package: python2-ipalib-4.5.0-21.el7.centos.1.2.noarch
---> Package xz-libs.i686 0:5.2.2-1.el7 will be installed
--> Running transaction check
---> Package audit-libs.i686 0:2.7.6-3.el7 will be installed
--> Processing Dependency: libcap-ng.so.0 for package: audit-libs-2.7.6-3.el7.i686
---> Package bzip2-libs.i686 0:1.0.6-13.el7 will be installed
---> Package cracklib.i686 0:2.9.0-11.el7 will be installed

---> Package elfutils-libelf.i686 0:0.168-8.el7 will be installed
---> Package libattr.i686 0:2.4.46-12.el7 will be installed
---> Package libdb.i686 0:5.3.21-20.el7 will be installed
---> Package libsepol.i686 0:2.5-6.el7 will be installed
---> Package pcre.i686 0:8.32-17.el7 will be installed
--> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4.9) for package: pcre-8.32-17.el7.i686
--> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4) for package: pcre-8.32-17.el7.i686
--> Processing Dependency: libstdc++.so.6(CXXABI_1.3) for package: pcre-8.32-17.el7.i686
--> Processing Dependency: libstdc++.so.6 for package: pcre-8.32-17.el7.i686
---> Package python2-ipaclient.noarch 0:4.5.0-21.el7.centos.1.2 will be an update
--> Processing Dependency: python-dns >= 1.12.0-3 for package: python2-ipaclient-4.5.0-21.el7.centos.1.2.noarch
---> Package python2-ipalib.noarch 0:4.5.0-21.el7.centos.1.2 will be an update
--> Processing Dependency: python-dns >= 1.12.0-3 for package: python2-ipalib-4.5.0-21.el7.centos.1.2.noarch
---> Package zlib.i686 0:1.2.7-17.el7 will be installed
--> Running transaction check
---> Package libcap-ng.i686 0:0.7.5-4.el7 will be installed
---> Package libstdc++.i686 0:4.8.5-16.el7 will be installed
---> Package python2-ipaclient.noarch 0:4.5.0-21.el7.centos.1.2 will be an update
--> Processing Dependency: python-dns >= 1.12.0-3 for package: python2-ipaclient-4.5.0-21.el7.centos.1.2.noarch
---> Package python2-ipalib.noarch 0:4.5.0-21.el7.centos.1.2 will be an update
--> Processing Dependency: python-dns >= 1.12.0-3 for package: python2-ipalib-4.5.0-21.el7.centos.1.2.noarch
--> Finished Dependency Resolution
Error: Package: python2-ipalib-4.5.0-21.el7.centos.1.2.noarch (quickstart-centos-updates)
           Requires: python-dns >= 1.12.0-3
           Installed: python-dns-1.12.0-2.20150617git465785f.el7.noarch (@base)
               python-dns = 1.12.0-2.20150617git465785f.el7
           Available: python-dns-1.12.0-1.el7.noarch (delorean-pike-testing)
               python-dns = 1.12.0-1.el7
Error: Package: python2-ipaclient-4.5.0-21.el7.centos.1.2.noarch (quickstart-centos-updates)
           Requires: python-dns >= 1.12.0-3
           Installed: python-dns-1.12.0-2.20150617git465785f.el7.noarch (@base)
               python-dns = 1.12.0-2.20150617git465785f.el7
           Available: python-dns-1.12.0-1.el7.noarch (delorean-pike-testing)
               python-dns = 1.12.0-1.el7
 You could try using --skip-broken to work around the problem
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
ipa-admintools-4.4.0-14.el7.centos.7.noarch has installed conflicts freeipa-admintools: ipa-admintools-4.4.0-14.el7.centos.7.noarch
ipa-client-4.4.0-14.el7.centos.7.x86_64 has installed conflicts freeipa-client: ipa-client-4.4.0-14.el7.centos.7.x86_64
ipa-client-common-4.4.0-14.el7.centos.7.noarch has installed conflicts freeipa-client-common: ipa-client-common-4.4.0-14.el7.centos.7.noarch
ipa-common-4.4.0-14.el7.centos.7.noarch has installed conflicts freeipa-common: ipa-common-4.4.0-14.el7.centos.7.noarch
virt-customize: error: /home/stack/repo_setup.sh: command exited with an
error

If reporting bugs, run virt-customize with debugging enabled and include
the complete output:

Tags: quickstart
Revision history for this message
Alan Pevec (apevec) wrote :
Revision history for this message
Alan Pevec (apevec) wrote :

Installing:
 python-dns noarch 1.12.0-4.20150617git465785f.el7 base 233 k

Is base repo enabled?

Revision history for this message
Sagi (Sergey) Shnaidman (sshnaidm) wrote :

Yes, base repo is enabled.
When I update the image before changing any repos, and then run repo-setup script, everything works.

Changed in tripleo:
milestone: none → queens-1
Revision history for this message
Lars Kellogg-Stedman (larsks) wrote :

The problem appears to be one of the other repositories interfering with quickstart-centos-base. If I disable delorean-pike-testing, the newer version of python-dns is available for upgrade:

Before disabling delorean-pike-testing:

  ><fs> command "sh -c 'yum clean all; yum -y upgrade python-dns'"
  No packages marked for update

Disabling delorean-pike-testing:

  ><fs> command "sed -i s/enabled=1/enabled=0/ /etc/yum.repos.d/delorean-pike-testing.repo"

Trying the upgrade again:

  ><fs> command "sh -c 'yum clean all; yum -y upgrade python-dns'"
  Updated:
    python-dns.noarch 0:1.12.0-4.20150617git465785f.el7

  Complete!

Revision history for this message
Lars Kellogg-Stedman (larsks) wrote :

It looks like the delorean-pike-testing repo has an entry for python-dns in the rpeodata:

  <package type="rpm">
    <name>python-dns</name>
    <arch>noarch</arch>
    <version epoch="0" ver="1.12.0" rel="1.el7"/>
    [...]

...even those there's no corresponding package.

I'm looking in https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/repodata/a3eefc5809f14f81d7f5d997652c5dcbfc7600e32dd27f05105c6f568b9c376e-primary.xml.gz.

Revision history for this message
Alan Pevec (apevec) wrote :

Looks like delorean-pike-testing has higher yum prio than base so old python-dns[*] version is picked up.
We cannot easily unpublish that old build buildlogs CDN, we could try workaround in ooo repo setup and add exclude=python-dns in delorean-pike-testing repo definition.

[*] http://cbs.centos.org/koji/buildinfo?buildID=1157 included in openstack-common in 7.1 era when EL7 base had too old python-dns for OpenStack

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-quickstart (master)

Fix proposed to branch: master
Review: https://review.openstack.org/504614

Changed in tripleo:
assignee: nobody → Lars Kellogg-Stedman (larsks)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/504615

Revision history for this message
Sagi (Sergey) Shnaidman (sshnaidm) wrote :

Or maybe it's better to remove priority 30 from testing repos, so that it will be just as all others. We were doing this before, not sure why we need it 30 now.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to tripleo-quickstart (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/504820

Revision history for this message
Alan Pevec (apevec) wrote :

I think we need both, remove prio 30 from deps repo and add an option for exclude, for completeness in repo-setup.

Revision history for this message
Lars Kellogg-Stedman (larsks) wrote :

I agree with Alan. If dropping the testing repository priority isn't a problem, that's a fine solution for the immediate issue, but having the ability to exclude specific packages in the future will be useful. So we should merge https://review.openstack.org/504614, even if we adopt https://review.openstack.org/504820 as the fix for this bug.

Revision history for this message
Sagi (Sergey) Shnaidman (sshnaidm) wrote :

@Lars, sure, no problem with that.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-quickstart (master)

Reviewed: https://review.openstack.org/504820
Committed: https://git.openstack.org/cgit/openstack/tripleo-quickstart/commit/?id=eeb1e413f4dba2dd3b74d9507f9dca2d29c38306
Submitter: Jenkins
Branch: master

commit eeb1e413f4dba2dd3b74d9507f9dca2d29c38306
Author: Sagi Shnaidman <email address hidden>
Date: Sun Sep 17 20:52:26 2017 -0500

    remove priority 30 from testing repos

    remove priority of testing repos (30) so that it will be
    with default one (99) as all other repos.

    Related-Bug: #1717550
    Change-Id: Idf88bfc77409dbffc7059ebd34823dd2bec1cc87

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

Reviewed: https://review.openstack.org/504614
Committed: https://git.openstack.org/cgit/openstack/tripleo-quickstart/commit/?id=f95d8833d9a50d0cc4dde6dd09eb76472b82fd94
Submitter: Jenkins
Branch: master

commit f95d8833d9a50d0cc4dde6dd09eb76472b82fd94
Author: Lars Kellogg-Stedman <email address hidden>
Date: Sat Sep 16 12:38:47 2017 -0400

    teach repo-setup about exclude

    allow repository definition to provide values for the "exclude"
    keyword.

    Change-Id: I85237472cd227cfc9c7758d6f61cac5c04dd310e
    Partial-bug: #1717550

John Trowbridge (trown)
Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on tripleo-quickstart (master)

Change abandoned by Sagi Shnaidman (<email address hidden>) on branch: master
Review: https://review.openstack.org/504615
Reason: According to TripleO policy of patch abandonment https://github.com/openstack/tripleo-specs/blob/master/specs/policy/patch-abandomment.rst, this patch is abandoned. If you would like to continue to work on it, please ask for restoration either on #tripleo in Freenode IRC, or openstack dev mailing list - <email address hidden> with [TripleO] in subject. Thanks.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.