2017-12-01 13 views
0

나는 다음과 같은 ansible 플레이 북이 있습니다python2.7을 필요로하지 않는 작업의 예는 무엇입니까?

- hosts: myhosts 
    gather_facts: no 

    tasks: 
    - debug: 
     msg: just a test message 

내가 명령 줄에서 내가 얻을 실행

PLAY RECAP **************************************************************************************************************** 
localhost     : ok=1 changed=0 unreachable=0 failed=0 

그래서 잘 작동하는. 하지만 추가하는 경우 : 내가 Ansible는 그 기능의 대부분을 python2.7를 필요로 봤 바로는

TASK [Another task] ******************************************************************************************************* 
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared connection to localhost closed.\r\n", "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", "msg": "MODULE FAILURE", "rc": 0} 
    to retry, use: --limit @/home/user/sandbox/ansible-vps/foo.retry 

PLAY RECAP **************************************************************************************************************** 
localhost     : ok=1 changed=0 unreachable=0 failed=1 

- 나는 현재 설치되어 있지 않은 : 그것은 실패

- hosts: myhosts 
    gather_facts: no 


    tasks: 
    - debug: 
     msg: just a test message 
    - name: Another task 
     command: echo "Do whatever you want to" 

. 위의 오류는 Python2.7 또는 다른 것의 누락으로 인한 것입니까?

답변

2

그래서

예 Python2.7

누락으로 인한 위의 오류입니다. Anonymous는 raw, script을 제외한 거의 모든 모듈에 파이썬이 필요합니다.

먼저 raw 모듈로 파이썬을 설치 한 다음 다른 작업을 진행할 수 있습니다. this answer을 참조하십시오. 파이썬을 필요로하지 않는 작업의

예 :

- hosts: myhosts 
    gather_facts: no 
    tasks: 
    - debug: 
     msg: just a test message 
    - name: Another task 
     raw: /bin/bash -c 'some-command with-parameter' 
     register: cmd_res 
    - debug: 
     msg: "{{ cmd_res.stdout }}" 
+0

좋아, 난 당신이 예를 업데이트 실행할 때 - 대신에 명령의 원료 사용 - 텍스트 콘솔에 인쇄되지 않습니다 "당신이 원하는대로 수행을" 그것은 단지 바뀌 었다고 말합니다 : [localhost]. 그렇다면 raw를 사용하여 원격지에서 bash 명령을 실행하는 방법은 무엇입니까? – u123

+0

예제를 디버그 출력으로 업데이트하여 결과를 확인했습니다. 또는 좀 더 자세하게 ('-vv') 플레이 북을 실행하면 모듈 출력을 볼 수 있습니다. –