Я хочу управлять содержимым файла carbon.conf с помощью Augeas from Puppet. Я использовал Augeas раньше в Puppet для управления XML-файлом, и это отлично работало.augeas in puppet не изменяет файл
Однако на этот раз, когда применяется каталог кукол, ничего не происходит с файлом carbon.conf. В журнале также нет ошибок. Вот мой код в файле манифеста кукольный:
augeas { 'cache config':
notify => Service[carbon-cache],
incl => '/opt/graphite/conf/carbon.conf',
context => '/cache',
lens => 'Carbon.lns',
changes => [
"set UDP_RECEIVER_PORT 2013",
"set LINE_RECEIVER_PORT 2013",
"set PICKLE_RECEIVER_PORT 2014",
];
}
И в журнале отладки можно увидеть следующее:
Debug: Augeas[cache config](provider=augeas): Opening augeas with root /, lens path /var/lib/puppet/lib/augeas/lenses, flags 64
Debug: Augeas[cache config](provider=augeas): Augeas version 1.0.0 is installed
Debug: Augeas[cache config](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[cache config](provider=augeas): sending command 'set' with params ["/cache/UDP_RECEIVER_PORT", "2013"]
Debug: Augeas[cache config](provider=augeas): sending command 'set' with params ["/cache/LINE_RECEIVER_PORT", "2013"]
Debug: Augeas[cache config](provider=augeas): sending command 'set' with params ["/cache/PICKLE_RECEIVER_PORT", "2014"]
Debug: Augeas[cache config](provider=augeas): Skipping because no files were changed
Debug: Augeas[cache config](provider=augeas): Closed the augeas connection
Что я здесь отсутствует?
Я также заметил, что при использовании augtool
из командной строки команды ls /files/
только перечисляет следующие папки
augtool> ls /files/
etc/ = (none)
usr/ = (none)
boot/ = (none)
Я хотел бы также ожидать, чтобы увидеть /opt
здесь ...
Спасибо, я догадываюсь, что я не совсем понял, что кукольные справочные документы для параметра контекста правильно 'Дополнительный путь контекста. Это значение добавляется к путям всех изменений, если путь относительный. Если параметр сглаживания установлен, значения по умолчанию равны/files + incl; в противном случае по умолчанию используется пустая строка. ' –
В целом в Augeas путь, начинающийся с'/', является абсолютным, поэтому'/cache', безусловно, не то, что вы хотите использовать. –