티스토리 뷰

여러 role을 가진 playbook을 작성할때 1번 role에서 register한 variable을 2번 role에서 사용해야할 경우
다음과 같은 방식을 사용할 수 있다.

먼저 1번 Role에서 변수를 register하게 된다.
당시 수행된 host를 기억해두자.

- name: make a global variable
  shell: pwd
  register: cmd_result

- name: print public CA
  debug:
    var: cmd_result
  when: cmd_result is defined

앞서 1번 Role에서 수행시 shell module이 실행되었던 host(혹은 group)를 사용하여 아래와 같이
앞서 등록한 cmd_result 라는 결과를 출력할 수 있다.

- name: print public CA
  debug:
    var: hostvars[groups['server'][0]]['cmd_result']
  when: hostvars[groups['server'][0]]['cmd_result'] is defined
  # hostvars

다들 아시다시피 groups 및 host는 inventory에 지정되어 있는 host 및 group을 지정해야 한다.

참고사이트

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함