Ansible Playbook을 통해 Supervisor를 다시 시작하려고하지만 Ansible의 supervisor 모듈에 문제가있는 것 같습니다.
내 Supervisor 설정에서 프로그램을 정의했습니다.
[program:process]
process_name=%(program_name)s_%(process_num)02d
command=/home/box1/workers/bin/process
numprocs=64
directory=/home/box1/workers/bin
autostart=true
autorestart=true
startretries=5
stderr_logfile=/tmp/%(program_name)s-err.log
stdout_logfile=/tmp/%(program_name)s-out.log
user=root
그리고 이것은 잘 작동합니다. 그러나 Ansible을 통해 Supervisor를 다시 시작하려고하면 다음 오류가 발생합니다.
failed: [box1] => {"failed": true}
msg: program:process: ERROR (no such process)
program:process: ERROR (no such process)
내 Ansible 작업 구성은 다음과 같습니다.
- name: Restart Supervisor
sudo: yes
supervisorctl: name=program:process state=restarted config=/etc/supervisor/supervisord.conf
를 들어 name
매개 변수 나는 노력했다 program:process
, program
, program:
그리고 process
하지만 아무도 제대로 작동하지 않습니다. 현재 Ansible 1.5.4에 있습니다.
1
가장 먼저 할 일은 Ansible을 업데이트하는 것입니다. 이전 버전을 사용해야하는 이유는 거의 없습니다.
—
Michael Hampton
Ubuntu 14.04 LTS와 함께 제공되는 기본 버전입니다. 나는 그것이 약간 오래되었지만 Supervisor 모듈과 관련하여 Ansible 매뉴얼에서 업데이트해야한다고 표시하지 않습니다 (관심이없는 그룹 이름과는 별개). 물론, 최신 버전에는 버그 수정이있을 수 있지만, 내가 시도하는 것은 최신 버전이 아니라면 그것을 처리 할 수 있다는 것은 매우 기초적인 것 같습니다.
—
Luke
난 꽤 그룹 지원이 추가 될 때 당신이 그의,이 1.6 이상을 Ansible 필요가있다. Red Hat조차도 최신 안정 버전 (현재 1.9.4에 있음)을 추적하고 있으므로 우분투와의 거래가 무엇인지 모르겠습니다. 물론 Red Hat에서는 systemd를 사용하고이 모든 감독자를 잊어 버릴 수 있습니다.
—
Michael Hampton
걱정 마. 이것은 내가 떠나는 문서입니다. docs.ansible.com/ansible/supervisorctl_module.html
—
Luke
맞습니다. 1.6이 필요하다는 것을 알려주는 페이지와 동일합니다.
—
Michael Hampton