검색결과 리스트
AWX에 해당되는 글 27건
- 2019.01.02 YAML with AWX : Absolute Path for FILE COPY . is it a BUG?
- 2019.01.02 AWX 실습 #12_Workflow
- 2019.01.02 AWX 실습 #11_팀별 Templates 할당
글
YAML with AWX : Absolute Path for FILE COPY . is it a BUG?
AWX
2019. 1. 2. 11:19
반응형
- Yaml을 이용하여 파일을 Node에 복사하는 작업 도중 발생한 이상 현상에 대한 내용
- 다양한 예제 파일이 존재하나 다음 소스를 가지고 테스트
- 위 소스를 바탕으로 ansible-playbook을 이용하여 command로 실행시 다음과 같은 결과 도출
- #ansible-playbook -i hosts.inv notworking_filecopy.yml
- 성공
- AWX에 적용
- 실패
- -
- 원인 파악
- 먼저 AWX의 로그를 살펴보면
- "Could not find or access '/testdir/doc.tar' on the Ansible Controller." 라고 표현되어 있음
- could not find? - 아래와 같이 파일 존재 함
- could not access? - 아래와 같이 모든 권한이 부여 됨
- ..... Thniking and Thniking .....
- 파일의 권한과 존재는 이미 확인되었으며,
- ansible-playbook 실행 시에도 정확하게 동작 됨
- 접근 방법 1 (실패) - AWX_WEB의 계정 권한 ?
- Docker의 Container에 실행되는 AWX_WEB이 root의 계정이 아니라 다른 계정으로 실행되고 있을수 있다는 생각에서 시작
- 그러나, 위에서 언급한대로 권한은 744로.. 모든 사용자가 접근이 가능하므로 의미 없음으로 판단
- -
- 접근 방법 2 (실패) - AWX_WEB의 디렉토리 접근 문제 ?
- 터미널에서 #ansible-playbook 명령어로는 정상실행 되나, AWX에서 안되면
- Docker 실행 시 AWX_WEB의 도커 내의 폴더를 절대경로로 인식한다고 의심
- 이를테면 테스트 PC내의 Docker내의 AWX_WEB의 경로는
- /var/lib/docker/overlay2/9a61d8e0b1f574bea31bd208edde4fac0edb8458a3fc4ef00decd5d7ef525fc4/merged/var/lib/awx/public/static로 설정되어 있음
- /var/lib/docker/overlay2/9a61d8e0b1f574bea31bd208edde4fac0edb8458a3fc4ef00decd5d7ef525fc4/merged/var/lib/awx/public/static를 절대경로 root(/)로 설정하여 사용한다는 의심
- 그러나 다시 생각해 보면, 배포시 마다 사용자가 매번 저 경로로 파일을 옮겨 작업한다는 것은 사실상 불가능
- 시스템 어드민이 아니고서는 저 경로를 접근하는 것도 어렵고, Docker의 사상(?)과도 맞지 않음
- 결정적으로
- AWX에서 Playbook이 저장된 Yml파일 경로는 처음 설치시 설정한 /var/lib/awx/projects에서 읽어서 처리하게 되어 있음
- 이 또한 의미 없음으로 판단
- -
- 접근 방법 3(성공) - Absolut path(절대경로)를 인식하지 못하는 문제?
- AWX에서 Playbook을 선택하여 실행하는 경우
- 해당 yml파일을 읽어서 메모리에서 처리한다라고 생각하는게 잘못된 생각임
- yml파일을 해당 위치에서 실행하는것으로 판단 - import나 기타 등등을 생각해보면 됨.
- 배포 테스트 파일을 yml이 위치한 폴더로 이동
- yml을 수정
- Absolute path (절대 경로)를 Relative Path(상대 경로)로 변경
- 터미널에서는 당연히 성공
- AWX에서는
- 성공
- 접근 방법 1 (실패) - AWX_WEB의 계정 권한 ?
- 결론
- Yaml파일에서 절대 경로를 인식하지 못함 (모든 명령어에서 확인한 부분은 아님)
- 이는 copy나 shell:cp .. 혹은 Command 등 모든 명령어에서 동일하게 현상이 발생하는 문제
- 절대 경로를 인식하지 못하는 버그 혹은 설치시 뭔가 설정을 잘못 했다는 결론에 이름
- 절대 경로 인식 버그일 확률 90% 이상
- playbook 사용시에는 반드시 상대 경로로 작업할 것을 권장
글
AWX 실습 #12_Workflow
AWX
2019. 1. 2. 11:10
반응형
- 작성되어 있는 Template를 활용하여 Workflow를 만들기
- 로그인 후 화면에서 TEMPLATES 메뉴를 선택
- 를 클릭하면 다음과 같은 두가지 메뉴가 팝업 됨
- Workflow Template를 선택
- NAME : Workflow_example
- ORGANIZATION : AWX_HQ
- 로 선택하고 를 눌러 저장
- 저장되지 않은 경우 상위 메뉴 중 이 비 활성화 상태로 클릭이 안됨
- 를 클릭
- WORKFLOW VISUALIZER는 작성되어 있는 Templates를 작업 순서 별로 연결 시켜 표시 하는 기능을 제공
- 를 클릭하면 신규 연결 Templates를 선택할 수 있음
- 좌측에는 다음 작업에 대한 공간이 표시되고
- 우측에는 추가할 작업에 대한 Templates들이 표시 됨
- 우측 Template에서 기 작성해 두었던, Firewall Stop을 찾아 선택하면 하단에 RUN 항목과 버튼이 활성화 됨
- RUN : Always - 항상 실행 한다는 옵션
- 를 누르면 좌측에 해당 Template가 들어감
- 이후 다음 작업을 추가하기 위해서 를 클릭하면
- 형태로 표시됨
- 는 이후 작업 추가
- 는 현재 작업 삭제
- 를 누르면 다음 작업 공간이 표시되며 우측에는 Template가 표시됨
- RUN에는 세가지 옵션이 나옴
- Always : 선행 작업이 끝나면 항상 실행 ; 독립적으로 실행 가능한 작업의 경우
- On Success : 선행 작업이 성공하면 실행 ; 선행 작업이 반드시 성공한 후 필요한 작업을 진행할 경우
- ON Failure : 선행 작업이 실패하면 실행 ; 선행 작업이 실패아여 원복 작업 등을 할 경우
- 위와 같은 방법으로 마지막에 Firewall Start까지 작업하면 다음과 같이 표현 됨
- 를 눌러 작업된 애역을 저장
- 주의 사항
- 모든 작업은 최종적으로 를 눌러야 변경 됨
- 화면에서 삭제해도 자동저장되지 않음
- 반드시 후 다시 확인하는 습관 필요
- 실행
- TEMPLATES에서 작성한 Workflow_example을 찾아 선택
- 를 눌러 실행
- 실행은 각 Template별로 진행되며 성공시에만 초록색으로 표현 됨
- 노드에 변경된 내용 확인
- 사용자 등록 확인
- 방화벽 서비스 가동 상태 확인
- -
- 목표
- Workflow를 작성하여 순차적인 작업 수행 확인
- 추가 목표 : 의도적인 Fail상황을 만들어 표시 상태 확인 및 Fail 시 처리 작업 추가
글
AWX 실습 #11_팀별 Templates 할당
AWX
2019. 1. 2. 11:09
반응형
- Admin으로 생성한 Template를 각 팀별로 지정된 사용자에게 할당하기
- 첫 화면에서 생성된 op유저로 로그인
- 사용자 생성은 AWX 테스트 #01 - ACCESS를 참조
- op 로그인 후 TEMPLATES 클릭
- 현재 지정된 Template가 없음
- 로그아웃 후 admin으로 재 접속
- TEMPLATES 클릭
- 현재까지 생성된 Template가 표시됨
- Firewall Start( )를 클릭
- 상단 메뉴에 을 클릭하여 권한 변경 화면으로 이동
- 현재 admin만 부여되어 있는 상태 확인
- 를 눌러 신규 할당
- op의 체크박스를 선택하면 하단 화면이 펼쳐짐
- Admin을 선택 ( Admin, Excute, Read : 각 내용은 추후 별도 확인 필요)
- 를 눌러 저장
- 위와 같이 생성됨
- 위 작업과 마찬가지로 Firewall Stop도 op PERMISSIONS 등록
- Admin 로그아웃
- op로 재 로그인
- TEMPALTES를 선택
- 할당된 Templates 확인
- 를 눌러 작업 수행
- 수행 완료
- -
- 목표
- Admin으로 작업 후 각 사용자에게 PERMISSION 할당 및 수행
- 추가 목표 : dev 계정에도 추가 후 테스트