Шаблоны 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

Другие вопросы по тегам