2016-07-07 4 views

답변

2

모듈은 일반적으로 원격으로 실행되므로 실제로 모듈을 직접 출력 할 수는 없습니다.

exit_json 호출에서 모듈의 추가 데이터를 반환 할 수 있습니다.

if module._verbosity >= 3: 
    module.exit_json(changed=True, debug="wooha!") 
else: 
    module.exit_json(changed=True) 

module._verbosity은 (-v = 1 -vvv = 3) 상세 레벨에 대응하고, 2.1 Ansible 때문에 가능하다.

출처 : Ansible Devel-listgithub

1

Ansible 모듈이 있기 때문에 디버깅하기 어려운 :

  • 모듈은 파이썬 하위 프로세스에 의해 실행되는

    • 모듈은 일반적으로 원격으로 실행된다 (그래서 우리는 디버깅 pdb을 사용할 수 없습니다)

    이렇게하면 다음과 같은 방법으로 Ansible 모듈을 디버깅 할 수 있습니다.

    1. 모듈을 로컬에서 실행합니다. 이것은 호스트를 localhost로 설정하거나 An local_action Anatile 모듈을 사용하여 구현할 수 있습니다.
    2. 디버깅하려는 변수를 특정 파일에 기록/로깅합니다. 파이썬 q 라이브러리를 사용하여이 작업을 수행 할 수 있습니다.