Eu tenho uma receita de chef para fazer o bootstrap de alguns nós de trabalho que estou usando há algum tempo e, pela primeira vez em quando, precisei aumentar o tamanho do meu pool de trabalho, mas descobri que o novo nós não foram bootstrapping corretamente devido ao erro yum:
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
Onde abc-os
é nosso repositório interno para que possamos bloquear as versões do pacote. Naturalmente eu assumi que este era o problema, mas ao verificar no repositório descobri que o conjunto completo de pacotes para ambos os 21.el7
e 20.el7_2
estão presentes.
Além disso, executar yum list available cyrus-sasl-md5
dá:
cyrus-sasl-md5.i686 2.1.26-20.el7_2 abc-os
cyrus-sasl-md5.x86_64 2.1.26-21.el7 abc-os
E consultando o arquivo sqlite do repositório em /var/cache/yum/x86_64/7/abc-os/gen
retorna:
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
No momento, estou perplexo sobre o motivo pelo qual isso está acontecendo e o que fazer para aprofundar isso ainda mais.
Para referência, o SO é o CentOS 7.2 x86_64.