I've got a chef recipe to bootstrap some worker nodes that I've been using for quite some time, and for the first time in a while I needed to increase the size of my worker pool, but found that the new nodes were not bootstrapping properly due to the yum error:
Error: Package: cyrus-sasl-md5-2.1.26-21.el7.x86_64 (abc-os)
Requires: cyrus-sasl-lib(x86-64) = 2.1.26-21.el7
Installed: cyrus-sasl-lib-2.1.26-20.el7_2.x86_64 (@abc-os)
cyrus-sasl-lib(x86-64) = 2.1.26-20.el7_2
Where abc-os
is our internal repo so we can lock down package versions. Naturally I assumed that this was the problem, but on checking into the repo I found that the complete set of packages for both 21.el7
and 20.el7_2
are present.
Furthermore running yum list available cyrus-sasl-md5
gives:
cyrus-sasl-md5.i686 2.1.26-20.el7_2 abc-os
cyrus-sasl-md5.x86_64 2.1.26-21.el7 abc-os
And querying the repo's sqlite file in /var/cache/yum/x86_64/7/abc-os/gen
returns:
sqlite> SELECT name, arch, version, epoch, release FROM packages WHERE name LIKE 'cyrus%' ORDER BY arch, version, epoch, release, name;
cyrus-sasl-lib i686 2.1.26 0 17.el7
cyrus-sasl-lib i686 2.1.26 0 20.el7_2
cyrus-sasl-md5 i686 2.1.26 0 20.el7_2
cyrus-sasl-pla i686 2.1.26 0 20.el7_2
cyrus-sasl x86_64 2.1.26 0 17.el7
cyrus-sasl-dev x86_64 2.1.26 0 17.el7
cyrus-sasl-lib x86_64 2.1.26 0 17.el7
cyrus-sasl x86_64 2.1.26 0 20.el7_2
cyrus-sasl-dev x86_64 2.1.26 0 20.el7_2
cyrus-sasl-lib x86_64 2.1.26 0 20.el7_2
cyrus-sasl-md5 x86_64 2.1.26 0 20.el7_2
cyrus-sasl-pla x86_64 2.1.26 0 20.el7_2
cyrus-sasl x86_64 2.1.26 0 21.el7
cyrus-sasl-dev x86_64 2.1.26 0 21.el7
cyrus-sasl-lib x86_64 2.1.26 0 21.el7
cyrus-sasl-md5 x86_64 2.1.26 0 21.el7
cyrus-sasl-pla x86_64 2.1.26 0 21.el7
At the moment I'm stumped as to why this is happening, and what to do to dig into this further.
For reference, the OS is CentOS 7.2 x86_64.
Проблема оказалась в том, что кто-то настроил конфигурацию yum version lock только для cyrus-sasl-lib
, но ни для одного из других cyrus-пакетов, что, похоже, и привело к тому, что yum не смог корректно разрешить версии.
Вероятно, лучшим вариантом было бы добавить в другие пакеты с подходящими версиями, но так как эти конкретные пакеты мало влияют на текущее воплощение этой платформы, я только что удалил cyrus-sasl-lib
из блокировки версий целиком. Теперь yum устанавливает/обновит все до последней версии, а экземпляры загружаются без проблем снова.
cyrus-sasl-md5-2.1.26-21.el7.x86_64 требует, чтобы cyrus-sasl-lib был в версии 2.1.26-21, но у вас есть другая версия (2.1.26-20).
Я думаю, что вы должны удалить cyrus-sasl-lib и переустановить с хорошей версией
.