кукольный не создает файл agent_catalog_run.lock - PullRequest
0 голосов
/ 16 марта 2019

У меня есть ANSIBLE скрипт, который запускает агент Puppet, а затем ждет файл /var/lib/puppet/state/agent_catalog_run.lock.

Я обнаружил, что этот файл не создается на целевой машине. Возможная версия: 1.9.7 и версия агента-марионетки: 3.8.7 Я проверил на целевой машине Linux, и агент кукол находится в рабочем состоянии.

Ниже приведена строка сценария:

- name: ensure that puppet lock file is created
  wait_for:
    path: /var/lib/puppet/state/agent_catalog_run.lock
    timeout: 1800

Что нужно проверить в этом сценарии? (Примечание: журналы кукол не были созданы.)

1 Ответ

2 голосов
/ 17 марта 2019

Код просто проверяет неправильный файл.

Как следует из названия, agent_catalog_run.lock :

Файл блокировки, указывающий, что в настоящий момент выполняется каталог агента марионеток. Файл содержит pid процесса, который блокирует запуск каталога.

Другими словами, этот файл будет там только в случае запуска агента Puppet.

Вместо этого вы можете захотеть pidfile , то есть:

Файл, содержащий PID запущенного процесса. Этот файл предназначен для использования средами управления службами и системами мониторинга для определения того, находится ли процесс марионетки в таблице процессов.

  • По умолчанию: $ rundir / $ {run_mode} .pid

(где $run_mode будет "агентом".)

Обратите внимание, что вы можете проверить свои действительные настройки, используя печать конфигурации Puppet, например ::1010 *

▶ puppet config print pidfile
/Users/alexharvey/.puppetlabs/var/run/main.pid

У вас все будет по-другому, потому что мой пользователь работает от имени пользователя root на ноутбуке Mac OS X. Таким образом, я думаю , вам нужно изменить код на:

- name: wait for the puppet PID file to be created
  wait_for:
    path: /var/run/agent.pid
    timeout: 1800
...