Доброе утро,
У меня очень странная проблема с CFEngine 2.1.22.
У меня есть две группы в cf.groups, как показано ниже
# devservers that need default sudoers
group_default_sudoers = ( dev4_company_local
dev5_company_local
dev6_company_local
dev7_company_local
dev8_company_local )
# devservers that need db modified sudoers
group_dbmod_sudoers = ( dev16_company_local )
А это необходимые строчки из cf.main
actionsequence = ( copy packages editfiles processes shellcommands tidy )
copy::
group_default_sudoers::
${include_dir}/default_sudoers
dest=/etc/sudoers
owner=root
group=root
mode=440
type=checksum
backup=false
group_dbmod_sudoers::
${include_dir}/dbmod_sudoers
dest=/etc/sudoers
owner=root
group=root
mode=440
type=checksum
backup=false
Проблема в том, что dev4,5,6 и 7 мгновенно получают новый файл, когда я запускаю cfagent на клиентах, а dev8 и dev16 - нет.
И мне удалось сузить проблему до «Определенных классов» с помощью этой команды.
cfagent -pv|grep Classes
И на всех серверах, кроме dev8 и dev16, появляются группы / классы (group_default_sudoers и group_dbmod_sudoers).
У кого-нибудь есть мысли по этому поводу? Я не могу понять, как определить классы, а конфигурация идентична.
Любые подсказки и подсказки будут очень благодарны.
С уважением
Поняв, что ошибка заключается в том, что cf.main и cf.groups не копируются, я быстро понял, что что-то не так с передачей файлов, и после сравнения update.conf я сразу обнаружил ошибку, я изменил update.conf на dev8 и dev16 и все заработало моментально.
Это то, что я думаю, было ошибкой, этого не было на неисправных клиентах.
copy:
$(master_cfinput)/ dest=$(local_cfinput)
r=inf mode=600
trustkey=true
type=checksum
ignore=cfservd.conf
ignore=cfrun.hosts
server=$(policyhost)
И в этой папке были два файла, вуаля!