я использую шаблон для создания файла. Когда приложение на сервере запускается, оно перезаписывает файл - содержимое не меняется, но Chef считает его измененным и при следующем запуске также перезаписывает его. В журнале написано no diff
в течение template
обработка, а затем запускает уведомители.
Что я могу сделать, чтобы Chef сравнивал файлы по содержимому и не уведомлял службы о перезапуске без реальной причины.
Журнал отладки:
DEBUG:calculating checksum of file1 to compare with c24f2aa74f9665cb944ab72ed34571367a0de38e10432675d3c5e8610ad9d046
DEBUG: running: diff -u file1 file2
Таким образом, контрольные суммы не равны, хотя diff (в chef) возвращает (без разницы). Затем я попытался бежать diff -u file1 file2
в конечном результате: \ Нет новой строки в конце файла
Таким образом, разница в размере файлов составляет 1 байт.
Ресурсы шаблона управляют не только содержимым, но и group
, owner
, и mode
файла. Если содержимое не меняется, как вы заметили, вам нужно внимательно изучить эти другие атрибуты, потому что изменение любого из них по-прежнему будет вызывать уведомления.