2016-06-20 3 views
1

나는 Ansible 2.1을 사용하고 있습니다. 내 호스트가 이미 인벤토리에 그룹화되어 있다고 가정 해 보겠습니다. 그런 다음 나는 이런 플레이 북을 실행합니다 :Anuch playbook에서 더 많은 병렬 처리 기능을 가진 그룹 기반 역할을 어떻게 적용합니까?

- hosts: foo 
    roles: 
    - bar 

- hosts: baz 
    roles: 
    - eek 

...more... 

가능성있는 하나씩, 내가 설정 한 많은 포크를 적용 할 것 같습니다. 쓸데없는 작업 건너 뛰기 메시지로 콘솔을 스팸하지 않고도 더 많은 실행 병렬성을 얻을 수있는 더 좋은 방법이 있나요?

, 그래서 eek 모든 baz 호스트에 적용되는 역할 bar 동시에 foo의 모든 호스트에 적용됩니다. 그룹 멤버십에 조건부 역할을 적용하면 일종의 작업으로 보이지만 건너 뛸 때마다 결과를 읽기가 힘들어집니다.

답변

0

귀찮은 출력에서 ​​생략 된 작업 일 경우 ansible.cfgdisplay_skipped_hosts=False을 설정할 수 있습니다.

False로 설정하면 anabled는 건너 뛴 작업의 상태를 표시하지 않습니다. 기본 동작은 건너 뛴 작업을 표시하는 것입니다.

이 문제는 모두를 제거합니다. 건너 뛰기 작업 출력. 경우에 따라 사용자가 건너 뛴 작업에 의존 할 수 있으며 상황을 이해해야합니다. 이를 프로그램 적으로 해결할 수있는 옵션이있을 수 있습니다. Create a custom callback plugin. Anipal에 의해 생성 된 출력은 실제로 콜백 플러그인입니다. ansible.cfg에서 stdout_callback = your_plugin을 변경하여이 기본 콜백 플러그인을 변경할 수 있습니다. 그런 다음 플러그인에서 출력을 표시 할 조건을 결정할 수 있습니다.

strategy을 변경하거나 맞춤 전략 플러그인을 만드는 것도 흥미로울 것입니다. 비록 내가 이해하는 한, 전략은 게임마다 적용되므로, 두 가지 놀이를 동시에 진행할 방법이 없으며, 첫 번째 놀이의 모든 호스트가 끝날 때만 두 번째 놀이가 시작된다는 것을 확신합니다. (하지만 실제로, 그건 내 이해 뿐이 라, 전략 플러그인으로 아직 연주하지 못했다)