У меня есть сборник пьес, как показано ниже, и он прекрасно работает в большинстве случаев.Но в последнее время я замечаю, что он застревает на некоторых серверах из группы ALL и просто сидит там.Он даже не перемещается на другие серверы в списке ALL * 1004. *.
# This will copy files
---
- hosts: ALL
serial: "{{ num_serial }}"
tasks:
- name: copy files
shell: "(ssh -o StrictHostKeyChecking=no abc.com 'ls -1 /var/lib/jenkins/workspace/copy/stuff/*' | parallel -j20 'scp -o StrictHostKeyChecking=no abc.com:{} /data/records/')"
- name: sleep for 5 sec
pause: seconds=5
Так что, когда я начал отладку, я заметил, что на реальном сервере он застревает - я могу ssh(логин) хорошо, но когда я запускаю команду ps
, она просто зависает, и я не возвращаю свой курсор назад, что означает, что ansible также застревает при выполнении команды scp, указанной выше на этом сервере.
Итак, мой вопрос: даже если у меня есть сервер в этом состоянии, почему бы просто не отключить Ansible и не перейти на другой сервер?Есть ли здесь что-нибудь, что мы можем сделать, чтобы ansible не останавливал все, просто ожидая ответа от этого сервера.
Примечание сервер запущен и работает, и я могу ssh нормально, но когда мы запускаем команду ps
, она просто зависает и из-за этого Ansible также зависает.
Есть ли способ запустить этовведите команду ps aux | grep app
на всех серверах, входящих в группу ALL , и составьте список всех серверов, которые выполнили эту команду нормально (а если произойдет зависание на каком-либо сервере, то время ожидания и перейдите на другой сервер в списке ALL).а затем передать этот список для работы с моей рассмотренной выше пьесой?Можем ли мы сделать все это в одной пьесе?