Шаблоны CFEngine и перезапись файлов
У меня проблемы с системой шаблонов CFEngine. Я устанавливаю пакет, ganglia в данном конкретном случае, который создает файл конфигурации по умолчанию. Затем я хочу добавить строки /etc/ganglia/gmond.conf
в зависимости от того, является ли он сервером сбора или просто передает информацию и сколько угодно серверов. Поэтому я создал шаблон и использую некоторые переменные, для которых мне нужна разная информация.
Когда я вручную удаляю /etc/ganglia/gmond.conf
и запустите cfagent, шаблон расширяется правильно и выглядит правильно.
Когда я запускаю cfagent с конфигурацией по умолчанию из пакета ganglia, он просто добавляет несуществующие строки в конец файла конфигурации по умолчанию.
Сейчас expand_template
Блок, который я использую, выглядит так:
"/etc/ganglia/gmond.conf"
comment => "Expanding gmond.conf template",
create => "true",
edit_line => expand_template("$(g.inputfiles)/modules/ganglia/templates/gmond.conf");
Я предполагаю, что есть что-то, что я хочу использовать рядом edit_line
но мой гугл-фу подводит меня.
Мы используем правку сообщества cfengine3 только со стандартной библиотекой.
1 ответ
Попробуйте edit_defaults => empty в вашем обещании. Это очистит файл до того, как агент отредактирует. Ключевое слово empty - это тело, которое любят в стандартной библиотеке cfengine.
https://cfengine.com/docs/3.5/reference-promise-types-files.html