2018년 1월 31일 수요일

[Ansible] ansible-galaxy로 설치하는 role의 위치가 변경됨?


ansible에 대한 이미지 검색결과

기존에 앤서블 갤럭시 글에서 보면...

설치 경로가 /etc/ansible/roles 였다고 했었죠!
그래서 당연하게 그 경로에 맞추어 강의를 준비하고 있었는데 말이죠..

이게 버전별로..다이나믹 하게 변경이 되더라고요..?

아마도...여러 사람들이 해당 사항에 대해서 저처럼 불편함을 호소하고...그도 그럴 것이 /etc/ansible은 sudo가 아니면 접근도 안되고 불편하니까요..단산히 roles만 다운하고 싶은건데 말이죠 -_-

그래서..해당 내용을 살펴 보았는데요..

아래와 같이 코드가 변경되었습니다.
그리고 재밌는 거는 해당 경로를 지정해 주는 내부 경로도 함께 변경이 되었다는거죠..

아무래도 앤서블의 기조가 설정은 yml로 하자 라고 생각하는거 같아요~
그리고, 2.4.2 버전에서는 기존에 한개의 경로만을 인지하는 것이 아니라 default 에서 여러 곳에 시도하도록 설계가 되었네요.

DEFAULT_ROLES_PATH

V2.3
/usr/lib/python2.7/site-packages/ansible/constants.py

200 DEFAULT_ROLES_PATH = get_config(p, DEFAULTS, 'roles_path', 'ANSIBLE_ROLES_PATH', '/etc/ansible/roles', value_type='pathlist', expa nd_relative_paths=True)

v2.4.2
/usr/lib/python2.7/site-packages/ansible/config/base.yml:

 938 DEFAULT_ROLES_PATH:
 939   name: Roles path
 940   default: ~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
 941   description: Colon separated paths in which Ansible will search for Roles.
 942   env: [{name: ANSIBLE_ROLES_PATH}]
 943   expand_relative_paths: True
 944   ini:
 945   - {key: roles_path, section: defaults}


코드를 볼줄 아신다면 site-packages/ansible을 보시면 재미있는 일이 많으실껍니다 :)

그럼 이만 빠잉~!

0 개의 댓글:

댓글 쓰기

 
Copyright © . 시스템/네트워크 자동화 전문가 블로그 - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger