В нашей настройке мы управляем нашими серверами с помощью марионетки. Через несколько дней я увидел, что марионеточный клиент работает очень медленно. При изучении марионеточного процесса я получаю множество
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
Кто-нибудь может сказать мне, что не так? Чего ждет этот процесс?
Марионетка где-то заблокирована при исполнении ...
Вы запускаете strace на демоне или запускаете марионеточный процесс вручную?
Можете ли вы сказать, что должно происходить в этот момент? Что выполняется из манифеста? Что произойдет, если вы вручную запустите марионетку на клиенте?
Это напоминает мне о эта ошибка, так что, вероятно, это было исправлено в обновлении. По этой причине я не использую puppet как демон.
Ответ на мой собственный вопрос был таков: я делал что-то в git, что заставляло puppet ждать GIT. Проблема была не совсем марионеточной, но это занимало слишком много времени. Я продолжаю расследование и опубликую решение, когда оно будет найдено.