Ansible의 vmware_vm_shell에서 실행 한 명령 실행 완료를 기다리는 모듈을 만들어 보았습니다.
이 모듈을 사용하여 명령을 실행하면 명령이 백그라운드에서 작동합니다.
모듈은 문제없이 명령이 백그라운드에서 작동했음을 확인할 수 있으면 처리가 완료됩니다.
따라서 백그라운드에서 실행 중인 프로세스의 실행을 기다리지 않습니다.
그래서
vmware_vm_shell
모듈에서 실행한 명령의 처리 완료를 기다리는 모듈을 만들어 보았습니다.1. 과제의 복습
vmware_vm_shell
모듈에서 명령을 순차적으로 처리하는 경우 이전 명령이 완료된 후 다음 명령을 실행할 수 없습니다.
예를 들어, 다음 Playbook을 실행해 봅니다.
---
- name: VMware Module TEST
hosts: localhost
gather_facts: no
tasks:
- vmware_vm_shell:
hostname: vcenter.local
username: [email protected]
password: secret
validate_certs: no
vm_id: devel
vm_username: root
vm_password: secret
vm_shell: /root/loop.sh
vm_shell_args: 3
이 Playbook에서는 devel이라는 VM에서 /root/loop.sh 3
를 실행합니다.loop.sh
는 단순히 슬립만 하는 것입니다.
#!/usr/bin/bash
for (( i = 0; i <= $1; i++ )) ; do
sleep 1
done
실행해 보겠습니다.
명령이 실행되어 백그라운드에서 작동하고 모듈 측 처리가 완료되었는지 확인할 수 있습니다.
2. vmware_vm_shell_wait 모듈
그래서 vmware_vm_shell
로 실행한 커멘드의 처리 완료를 기다리는 모듈 vmware_vm_shell_wait
를 만들어 보았습니다.
htps : // 기주 b. 코 m / 스키 - 쵸케 r / 오레 오레 - 안시 b ぇ / b ぉ b / 뭐 r / 모즈 s / c ㄉ . py
2-1. 사용법
2-1-1. 모듈 다운로드
$ curl -L https://raw.githubusercontent.com/sky-joker/ore-ore-ansible/master/modules/cloud/vmware/vmware_vm_shell_wait.py -O
2-1-2. Playbook
vmware_vm_shell
에서 명령을 실행하고 vmware_vm_shell_wait
에서 실행 완료를 기다리는 Playbook 예입니다.
---
- name: VMware Module TEST
hosts: localhost
gather_facts: no
tasks:
- vmware_vm_shell:
hostname: vcenter.local
username: [email protected]
password: secret
validate_certs: no
vm_id: devel
vm_username: root
vm_password: secret
vm_shell: /root/loop.sh
vm_shell_args: 3
- vmware_vm_shell_wait:
hostname: vcenter.local
username: [email protected]
password: secret
validate_certs: no
vm_id: devel
vm_username: root
vm_password: secret
vm_shell: /root/loop.sh
vm_shell_args: 3
2-1-3. 실행하기
백그라운드에서 실행된 명령 처리가 완료되었는지 확인하여 vmware_vm_shell_wait
처리가 완료되었는지 확인할 수 있습니다 :-)
Reference
이 문제에 관하여(Ansible의 vmware_vm_shell에서 실행 한 명령 실행 완료를 기다리는 모듈을 만들어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sky_jokerxx/items/33141d437309a876e252
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
---
- name: VMware Module TEST
hosts: localhost
gather_facts: no
tasks:
- vmware_vm_shell:
hostname: vcenter.local
username: [email protected]
password: secret
validate_certs: no
vm_id: devel
vm_username: root
vm_password: secret
vm_shell: /root/loop.sh
vm_shell_args: 3
#!/usr/bin/bash
for (( i = 0; i <= $1; i++ )) ; do
sleep 1
done
그래서
vmware_vm_shell
로 실행한 커멘드의 처리 완료를 기다리는 모듈 vmware_vm_shell_wait
를 만들어 보았습니다.htps : // 기주 b. 코 m / 스키 - 쵸케 r / 오레 오레 - 안시 b ぇ / b ぉ b / 뭐 r / 모즈 s / c ㄉ . py
2-1. 사용법
2-1-1. 모듈 다운로드
$ curl -L https://raw.githubusercontent.com/sky-joker/ore-ore-ansible/master/modules/cloud/vmware/vmware_vm_shell_wait.py -O
2-1-2. Playbook
vmware_vm_shell
에서 명령을 실행하고 vmware_vm_shell_wait
에서 실행 완료를 기다리는 Playbook 예입니다.---
- name: VMware Module TEST
hosts: localhost
gather_facts: no
tasks:
- vmware_vm_shell:
hostname: vcenter.local
username: [email protected]
password: secret
validate_certs: no
vm_id: devel
vm_username: root
vm_password: secret
vm_shell: /root/loop.sh
vm_shell_args: 3
- vmware_vm_shell_wait:
hostname: vcenter.local
username: [email protected]
password: secret
validate_certs: no
vm_id: devel
vm_username: root
vm_password: secret
vm_shell: /root/loop.sh
vm_shell_args: 3
2-1-3. 실행하기
백그라운드에서 실행된 명령 처리가 완료되었는지 확인하여
vmware_vm_shell_wait
처리가 완료되었는지 확인할 수 있습니다 :-)
Reference
이 문제에 관하여(Ansible의 vmware_vm_shell에서 실행 한 명령 실행 완료를 기다리는 모듈을 만들어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sky_jokerxx/items/33141d437309a876e252텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)