Назад | Перейти на главную страницу

Сапожник с марионеткой - медленно устанавливает пакеты

У меня есть установщик, который запускает марионетку автоматически после установки ОС. Он работает нормально, за исключением того, что марионетке требуется время для установки всех пакетов. Это все еще этап тестирования, поэтому всего было около 15 пакетов. Мой site.pp выглядит так:

node server1 {
              include myrepo
              include bacula
              include vsftpd
}

myrepo просто копирует файл репозитория на клиентский сервер. bacula перечисляет 11 пакетов для установки, а vsftpd только 1 пакет.

Сразу после установки ОС (Suse) файл репозитория был скопирован, vsftpd был установлен, но на клиентском сервере было установлено только 2 пакета bacula. Мне пришлось ждать около получаса, прежде чем все пакеты bacula были установлены. Журнал марионеток пуст.

Если бы мне пришлось запустить puppet вручную, установка пакетов прошла бы гладко и быстро. В чем может быть причина задержки?

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

Например это:

node server1 {

          class { 'myrepo': }

          class { 'bacula':
            require => Class['myrepo'],
          }
          class { 'vsftpd':
            require => Class['myrepo'],
          }
}

Заказал бы правильно.
Вы также можете добавить require myrepo к vsftpd и bacula класс.
Есть много решений.

Если это внешние модули, я всегда стараюсь не менять их каким-либо образом, чтобы упростить обновление.

Видеть: https://docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html