Ansible: ν”Œλ ˆμ΄λΆμ—μ„œ μ—­ν•  μž¬μ‚¬μš© μ‹œ ν•Έλ“€λŸ¬ 문제

에 λ§Œλ“  2016λ…„ 03μ›” 22일  Β·  2μ½”λ©˜νŠΈ  Β·  좜처: ansible/ansible

문제 μœ ν˜•:
  • 버그 μ‹ κ³ 
    μ•€μ„œλΈ” 버전:
ansible 2.0.0.2
  config file = /home/mickael/git/emq-devops/ansible/ansible.cfg
  configured module search path = Default w/o overrides
μ•€μ„œλΈ” ꡬ성:

ν•΄λ‹Ή 사항 μ—†μŒ

ν™˜κ²½:

Ubuntu 14.04μ—μ„œ Ansible μ‹€ν–‰
OS 관리: CentOS 7

μš”μ•½:

ν”Œλ ˆμ΄λΆμ—μ„œ 역할을 μž¬μ‚¬μš©ν•  λ•Œ ν•Έλ“€λŸ¬λŠ” ν•Έλ“€λŸ¬ μž‘μ—… λ‚΄μ—μ„œ μ˜ˆμƒλ˜λŠ” μ—­ν• μ˜ λ³€μˆ˜ 값을 μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

(μ˜ˆμƒλœ λ™μž‘μΈμ§€ μ•„λ‹Œμ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. ν•Έλ“€λŸ¬κ°€ μ •μ˜λ  β€‹β€‹λ•Œ ν•Έλ“€λŸ¬μ— μ‚¬μš©λœ λ³€μˆ˜κ°€ λŒ€μ²΄λ˜λŠ” 것이 μ˜μ‹¬λ©λ‹ˆλ‹€.)

μž¬ν˜„ 단계:

https://github.com/mickael-ange/ansible-reportsλ₯Ό λ³΅μ œν•˜κ³  λ‹€μŒμ„ μ‹€ν–‰ν•©λ‹ˆλ‹€.

ansible-playbook playbooks/test-handlers-01.yml
μ˜ˆμƒ κ²°κ³Ό:

두 번째 ν•Έλ“€λŸ¬ ν˜ΈμΆœμ—λŠ” item=test2 μžˆμŠ΅λ‹ˆλ‹€.

PLAY ***************************************************************************

TASK [setup] *******************************************************************
ok: [localhost]

TASK [test-handlers-01 : always changes to trigger handler] ********************
changed: [localhost]

TASK [test-handlers-01 : include] **********************************************
included: /home/mickael/git/ansible-reports/roles/test-handlers-01/tasks/flush_handlers.yml for localhost

RUNNING HANDLER [test-handlers-01 : test handler] ******************************
changed: [localhost] => (item=test1)

TASK [test-handlers-01 : always changes to trigger handler] ********************
changed: [localhost]

TASK [test-handlers-01 : include] **********************************************
included: /home/mickael/git/ansible-reports/roles/test-handlers-01/tasks/flush_handlers.yml for localhost

RUNNING HANDLER [test-handlers-01 : test handler] ******************************
changed: [localhost] => (item=test2)

PLAY RECAP *********************************************************************
localhost                  : ok=7    changed=4    unreachable=0    failed=0   
μ‹€μ œ κ²°κ³Ό:

μ‹€μ œ κ²°κ³ΌλŠ” test_name λ³€μˆ˜κ°€ ν”Œλ ˆμ΄λΆμ—μ„œ μž¬μ •μ˜λœ κ²½μš°μ—λ„ 두 ν•Έλ“€λŸ¬ 호좜이 λ™μΌν•œ λ³€μˆ˜ κ°’( item=test1 )을 μ‚¬μš©ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

$ ansible-playbook -vvvv playbooks/test-handlers-01.yml
Using /home/mickael/git/ansible-reports/ansible.cfg as config file
Loaded callback default of type stdout, v2.0
1 plays in playbooks/test-handlers-01.yml

PLAY ***************************************************************************

TASK [setup] *******************************************************************
ESTABLISH LOCAL CONNECTION FOR USER: mickael
localhost EXEC ( umask 22 && mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621398.48-100196802537724 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621398.48-100196802537724 )" )
localhost PUT /tmp/tmp67Fgab TO /home/mickael/.ansible/tmp/ansible-tmp-1458621398.48-100196802537724/setup
localhost EXEC LANG=C LC_ALL=C LC_MESSAGES=C /usr/bin/python /home/mickael/.ansible/tmp/ansible-tmp-1458621398.48-100196802537724/setup; rm -rf "/home/mickael/.ansible/tmp/ansible-tmp-1458621398.48-100196802537724/" > /dev/null 2>&1
ok: [localhost]

TASK [test-handlers-01 : always changes to trigger handler] ********************
task path: /home/mickael/git/ansible-reports/roles/test-handlers-01/tasks/main.yml:2
ESTABLISH LOCAL CONNECTION FOR USER: mickael
localhost EXEC ( umask 22 && mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621398.81-97442582835398 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621398.81-97442582835398 )" )
localhost PUT /tmp/tmpGhth2G TO /home/mickael/.ansible/tmp/ansible-tmp-1458621398.81-97442582835398/command
localhost EXEC LANG=C LC_ALL=C LC_MESSAGES=C /usr/bin/python /home/mickael/.ansible/tmp/ansible-tmp-1458621398.81-97442582835398/command; rm -rf "/home/mickael/.ansible/tmp/ansible-tmp-1458621398.81-97442582835398/" > /dev/null 2>&1
NOTIFIED HANDLER test handler
changed: [localhost] => {"changed": true, "cmd": "echo hello", "delta": "0:00:00.000985", "end": "2016-03-22 12:36:38.842304", "invocation": {"module_args": {"_raw_params": "echo hello", "_uses_shell": true, "chdir": null, "creates": null, "executable": null, "removes": null, "warn": true}, "module_name": "command"}, "rc": 0, "start": "2016-03-22 12:36:38.841319", "stderr": "", "stdout": "hello", "stdout_lines": ["hello"], "warnings": []}

TASK [test-handlers-01 : include] **********************************************
task path: /home/mickael/git/ansible-reports/roles/test-handlers-01/tasks/main.yml:7
included: /home/mickael/git/ansible-reports/roles/test-handlers-01/tasks/flush_handlers.yml for localhost

RUNNING HANDLER [test-handlers-01 : test handler] ******************************
ESTABLISH LOCAL CONNECTION FOR USER: mickael
localhost EXEC ( umask 22 && mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621398.89-30437666642483 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621398.89-30437666642483 )" )
localhost PUT /tmp/tmp0ZvLkG TO /home/mickael/.ansible/tmp/ansible-tmp-1458621398.89-30437666642483/command
localhost EXEC /bin/sh -c 'sudo -H -S -n -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-galeggchoargiitnuhweljdxhuzvxyfk; LANG=C LC_ALL=C LC_MESSAGES=C /usr/bin/python /home/mickael/.ansible/tmp/ansible-tmp-1458621398.89-30437666642483/command; rm -rf "/home/mickael/.ansible/tmp/ansible-tmp-1458621398.89-30437666642483/" > /dev/null 2>&1'"'"''
changed: [localhost] => (item=test1) => {"changed": true, "cmd": "echo test1", "delta": "0:00:00.001024", "end": "2016-03-22 12:36:38.923978", "invocation": {"module_args": {"_raw_params": "echo test1", "_uses_shell": true, "chdir": null, "creates": null, "executable": null, "removes": null, "warn": true}, "module_name": "command"}, "item": "test1", "rc": 0, "start": "2016-03-22 12:36:38.922954", "stderr": "", "stdout": "test1", "stdout_lines": ["test1"], "warnings": []}

TASK [test-handlers-01 : always changes to trigger handler] ********************
task path: /home/mickael/git/ansible-reports/roles/test-handlers-01/tasks/main.yml:2
ESTABLISH LOCAL CONNECTION FOR USER: mickael
localhost EXEC ( umask 22 && mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621398.94-276260811692367 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621398.94-276260811692367 )" )
localhost PUT /tmp/tmp86IG7E TO /home/mickael/.ansible/tmp/ansible-tmp-1458621398.94-276260811692367/command
localhost EXEC LANG=C LC_ALL=C LC_MESSAGES=C /usr/bin/python /home/mickael/.ansible/tmp/ansible-tmp-1458621398.94-276260811692367/command; rm -rf "/home/mickael/.ansible/tmp/ansible-tmp-1458621398.94-276260811692367/" > /dev/null 2>&1
NOTIFIED HANDLER test handler
changed: [localhost] => {"changed": true, "cmd": "echo hello", "delta": "0:00:00.001004", "end": "2016-03-22 12:36:38.968493", "invocation": {"module_args": {"_raw_params": "echo hello", "_uses_shell": true, "chdir": null, "creates": null, "executable": null, "removes": null, "warn": true}, "module_name": "command"}, "rc": 0, "start": "2016-03-22 12:36:38.967489", "stderr": "", "stdout": "hello", "stdout_lines": ["hello"], "warnings": []}

TASK [test-handlers-01 : include] **********************************************
task path: /home/mickael/git/ansible-reports/roles/test-handlers-01/tasks/main.yml:7
included: /home/mickael/git/ansible-reports/roles/test-handlers-01/tasks/flush_handlers.yml for localhost

RUNNING HANDLER [test-handlers-01 : test handler] ******************************
ESTABLISH LOCAL CONNECTION FOR USER: mickael
localhost EXEC ( umask 22 && mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621399.02-117648891898111 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1458621399.02-117648891898111 )" )
localhost PUT /tmp/tmpBLQAIM TO /home/mickael/.ansible/tmp/ansible-tmp-1458621399.02-117648891898111/command
localhost EXEC /bin/sh -c 'sudo -H -S -n -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-djwqhqqtijmpdsiqoxgfazrcxttepenq; LANG=C LC_ALL=C LC_MESSAGES=C /usr/bin/python /home/mickael/.ansible/tmp/ansible-tmp-1458621399.02-117648891898111/command; rm -rf "/home/mickael/.ansible/tmp/ansible-tmp-1458621399.02-117648891898111/" > /dev/null 2>&1'"'"''
changed: [localhost] => (item=test1) => {"changed": true, "cmd": "echo test1", "delta": "0:00:00.001034", "end": "2016-03-22 12:36:39.051023", "invocation": {"module_args": {"_raw_params": "echo test1", "_uses_shell": true, "chdir": null, "creates": null, "executable": null, "removes": null, "warn": true}, "module_name": "command"}, "item": "test1", "rc": 0, "start": "2016-03-22 12:36:39.049989", "stderr": "", "stdout": "test1", "stdout_lines": ["test1"], "warnings": []}

PLAY RECAP *********************************************************************
localhost                  : ok=7    changed=4    unreachable=0    failed=0  

λͺ¨λ“  2 λŒ“κΈ€

μ΅œκ·Όμ— μˆ˜μ •ν–ˆμ„ μˆ˜λ„ μžˆμ§€λ§Œ κ°€λŠ₯ν•œ ν•œ 빨리 μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

이것은 Ansible 2.1μ—μ„œλ„ μ—¬μ „νžˆ λ™μΌν•©λ‹ˆλ‹€.
ν•Έλ“€λŸ¬κ°€ λ‹€μŒκ³Ό κ°™μœΌλ©΄ μ‹€μ œλ‘œ λ™μΌν•œ 역할을 두 번 이상 μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

- name: delete varnish container
  docker:
    image: "{{ docker_varnish_image_tag }}"
    name: "{{ docker_varnish_container_name }}"
    state: absent
    docker_api_version: "{{ docker_api_version }}"

docker_varnish_container_name λ³€μˆ˜λŠ” ν”Œλ ˆμ΄λΆμ—μ„œ 이 역할을 ν˜ΈμΆœν•  λ•Œλ§ˆλ‹€ λ‹€λ¦…λ‹ˆλ‹€.

- { role: docker_varnish, docker_varnish_container_name: varnish-apps }
- { role: docker_varnish, docker_varnish_container_name: varnish-cache }

ν•˜μ§€λ§Œ ν”Œλ ˆμ΄λΆμ—μ„œ κ°€μž₯ λ¨Όμ € μ •μ˜λœ μ΄λ¦„μ˜ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ€‘μ§€ν•©λ‹ˆλ‹€.

ν•Έλ“€λŸ¬ 이름에 λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν–ˆμ§€λ§Œ 이 경우 μ „ν˜€ νŠΈλ¦¬κ±°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ΅œμ‹  정보:
이 역할이 μžˆλŠ” κ²½μš°μ—λ§Œ μž‘λ™ν•©λ‹ˆλ‹€.

- name: Set container name variable
  set_fact: docker_varnish_container_name={{container_name}}
  when: container_name is defined

그리고 이것은 ν”Œλ ˆμ΄ λΆμ—μ„œ

- { role: docker_varnish, container_name: varnish-apps }
- { role: docker_varnish, container_name: varnish-cache }

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰