Марионетка: Как пропустить перезапуск во время обновления пакета, пока конфигурация не заменяется?

Я пытаюсь заставить Марионетку обновлять наш Лак 3 сервера для Лакировки 4, основное обновление, которое требует обновленного файла конфигурации или он не запустится. Это находится на Ubuntu 12.04.

Модуль Лака по существу создается с этими классами и зависимостями:

Class['varnish::repo']
-> Class['varnish::install']
-> Class['varnish::tools']
-> Class['varnish::config']
~> Class['varnish::service']

Я обновил URL Кв.-repo в varnish::repo, набор ensure=>latest в varnish::install и предоставленный обновленный файл конфигурации varnish::config.Пока все хорошо.

Когда Марионетка выполняет эти зависимости, сбои выполнения в varnish::install подготовьте, потому что Кв. пытается перезапустить демона Лака сразу после обновления его, не давая Марионетке шанс заменить файл конфигурации. Отказ в varnish::install класс приводит к поврежденной цепочке зависимости и заставляет остающиеся классы перестать работать также. Результатом является поврежденная установка Лака, которой нужно ручное восстановление.

Как Вы имеете дело с этим?

Я думал об использовании policy-rc.d, который по существу говорит Кв. не выполнять автоматические остановки и запускается сервисов. Я пытался создать файл перед обновлением и удалить его впоследствии.

file {'/usr/sbin/policy-rc.d':
    ensure  => $ensure,
    content => "#!/bin/sh\nexit 101",
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
}

Конечно, создание и удаление являются проблемой, потому что Марионетка рассматривает это как дублирующийся ресурс.

Почему я хочу удалить политику снова после просто установки его, Вы спрашиваете? Поскольку мы используем unattended-upgrades для выполнения незначительных обновлений безопасности и я хочу позволить автоматические сервисные перезапуски в тех случаях, просто не в этом случае. Кроме того, политика-rc.d влияет на все сервисы, не просто Лак.

Возможно, я думаю об этом неправильно, но я могу так или иначе сказать Марионетке или Кв. ожидать с перезапуском, пока файл конфигурации не заменяется также?

5
задан 11 December 2014 в 16:43
1 ответ

Почему бы не заменить конфигурационный файл перед установкой обновления? Если он загрузится при перезагрузке, то не будет использовать "неправильный" конфигурационный файл до тех пор, пока обновление не перезапустит его . .

.
2
ответ дан 3 December 2019 в 01:57

Теги

Похожие вопросы