2

Мы убедились, что пакет доступен, и даже вручную загрузили его и установили на одном из целевых серверов.

Однако когда мы запускаем Puppet для установки наших обновленных пакетов REST, мы получаем следующую ошибку:

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

Это не ошибка в Fabric, Puppet или RPM-хранилище. Кажется, что-то настроено неправильно на локальном компьютере, на котором Fabric подключается к команде Puppet.

1 ответ1

1

// Итак, мы рассмотрели вопрос установки на следующее утро и смогли успешно продолжить обновление марионеток на машинах в нашей тестовой зоне, чтобы установить новые RPM и нормально запустить серверы.

Мы считаем, что проблема заключается в том, что кэш yum на целевых серверах не обновлялся, чтобы узнать о сборке, которая была сделана доступной для prod-connect-6.27.2-36212 и, следовательно, не была установлена.

Глядя на выходные данные журнала заданий развертывания, может показаться, что эта команда была выполнена только для нескольких машин, хотя некоторые просто пропустили пакет.

Такая ситуация возникала раньше, когда сборка, которая была загружена в наш RPM-репозиторий, не отображалась на машине, когда она пыталась выполнить 'yum install'.

Решение состояло в том, чтобы выполнить команду «yum clean all», чтобы машина обновила свои метаданные локального репозитория и, следовательно, «увидела» только что созданную сборку.

Обычно это не было бы проблемой, если бы между загрузкой команды разработчиков в наш RPM-репозиторий и попыткой развертывания был более длительный период. Причина этого заключается в том, что CEntOS 6 автоматически обновляет свои метаданные локального репозитория на регулярной основе.

Решение. Обязательно добавьте, если это еще не сделано, в сценарий структуры развертывания шаг, который «очистит все» для компьютеров во ВСЕХ зонах.

Надеемся, что этого следует избежать, если мы сделаем сборку доступной и сразу же захотим развернуть ее в кластере.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .