답변:
대상의 무언가에 의존하는 것은 무언가를 에코하는 쉘 명령 일지라도 실행시 상태가 "변경된"상태가됩니다.
"변경된"상태를 억제하기 위해 작업에 다음 줄을 추가 할 수 있습니다.
changed_when: false
이것과 다른 관련 것들이이 유용한 문서 페이지에 나와 있습니다.
Ansible 작업을해야 나무 등 . 예 : 작업이 아무것도 수정하지 않으면 ok
대신을 반환해야합니다 changed
. 모듈 및 작업 내장 대부분은 이미 있지만, 같은 작업 command
과 shell
는 조금 ansible 도움말을해야합니다.
순전히 검사하고 아무것도 수정하지 않는 작업의 경우 다음을 추가해야합니다.
changed_when: False
always_run: yes
후자는 검사 모드 에서도 작업을 실행할 수 있습니다 .
완전성을 위해 이러한 작업은 일반적으로 실제 수정을 수행하는 다른 작업과 결합됩니다.
- command: check command that returns true when no change needed
register: result
changed_when: False
always_run: yes
- command: modify command
when: result.rc != 0