Por que a Implantação de Marionetes de um RPM falha mesmo que o pacote esteja disponível?

2

Nós nos certificamos de que o pacote estava disponível e até mesmo o baixamos manualmente e o instalamos em um dos servidores de destino.

No entanto, quando executamos o Puppet para instalar nossos pacotes REST atualizados, obtemos o seguinte erro:

err: /Stage[main]/zone_v1::Packages/Package[prod-connect]/ensure: change from 6.27.2-35935 to 6.27.2-36212 failed: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install prod-connect-6.27.2-36212' returned 1: Error: Nothing to do

Não é um erro no Fabric, Puppet ou no repositório RPM. Algo parece estar errado na máquina local em que o Fabric faz o login para executar o comando Puppet.

    
por Nathan Basanese 08.10.2015 / 18:41

1 resposta

1

//, então analisamos o problema de instalação na manhã seguinte e conseguimos continuar com êxito a atualização dos fantoches nas máquinas em nossa zona de teste para instalar os novos RPMs e iniciar os servidores bem.

Achamos que o problema é que o cache do yum nos servidores de destino não foi atualizado para saber sobre a compilação que foi disponibilizada para prod-connect-6.27.2-36212 e, portanto, não pôde ser instalada.

Olhando para a saída do log da tarefa de implementação, pode parecer que esse comando foi feito apenas para algumas poucas máquinas, quando na verdade algumas perderam o pacote.

Esta situação surgiu antes, quando uma construção que foi enviada para o nosso repositório RPM não apareceria em uma máquina com a tentativa de "yum install".

A solução era emitir um comando "yum clean all" para que a máquina atualizasse seus metadados do repositório local e, portanto, "visualizasse" a compilação recém-enviada.

Isso normalmente não seria um problema se houvesse um período mais longo entre o momento em que a equipe de engenharia faz o upload para o nosso repositório RPM e quando tentamos a implantação. A razão para isso é que o CEntOS 6 atualiza seus metadados do repositório local automaticamente em uma programação regular.

A solução: Certifique-se de adicionar, se ainda não estiver lá, no script de estrutura de implantação, uma etapa que "limpe tudo" para máquinas em TODAS as zonas.

Isso deve evitar esse problema se disponibilizarmos uma construção e quisermos implantá-la imediatamente em um cluster.

    
por 08.10.2015 / 18:47