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

Шаблоны 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 сообщества только со стандартной библиотекой.

Попробуйте edit_defaults => empty в своем обещании. Это очистит файл перед редактированием агента. Ключевое слово empty - это основной элемент стандартной библиотеки cfengine.

https://cfengine.com/docs/3.5/reference-promise-types-files.html#edit_defaults