반응형
  1. tar 파일을 Node단에 전달한 후 압축을 해제
  2. 로직
    • tar파일은 미리 준비되어야 함 ; 서버단에서 tar를 만드는 로직 (가능 여부 확인 후 추가 필요)
    • 파일 전송 : copy 명령어 
    • 디렉토리 생성 : file 명령어
    • 압축 해제 : shell 명령어 
  3. 전체 소스
    • 설명
      •  5 : - enable_debug: false    # return 값을 확인하기 위해 사용하며, true로 변경시 하단 (debug)로 시작되는 task가 실행 됨
      •  8~15 : file copy  # result1에 실행 결과 리턴 됨
      •  17~19 : debug section 1 
      •  21~23 : tar 압축 해제를 위한 디렉토리 생성 # result2에 실행 결과 리턴 됨
      •  25~27 : debug section 2
      •  29~35 : tar 압축 해제  # result1이 성공이고 변동이 있으며 result2에서 정상적으로 폴더가 생성이 되었으면 실행  # 주의 : result2는 폴더가 존재하는 경우 false로 리턴 됨
      •  37~39 : debug section 3
    • ---
      - name: file transfer to remote and extract tar
      hosts: all
      vars:
      - enable_debug: false
      target_dir: /testdir/doc2
      tasks:
      - name: (step 1) copy to node
      copy:
      src: "./doc.tar"
      dest: /testdir/doc2.tar
      owner: root
      group: root
      mode: 644
      register: result1

      - name: (debug) after step 1
      debug: var=result1
      when: enable_debug == true

      - name: (step 2) make directory
      file: path={{target_dir}} state=directory
      register: result2

      - name: (debug) after step2
      debug: var=result2
      when: enable_debug == true

      - name: (step 3) extract tar
      shell: tar -xvf /testdir/doc2.tar -C /testdir/doc2
      args:
      chdir: /testdir/
      warn: False
      when: result1.failed == false and result1.changed == true and result2.changed == true
      register: result3

      - name: (debug) after step3
      debug: var=result3

      들여쓰기 및 띄여쓰기 주의

    • -
  4. AWX 적용

    • AWX의 Template에 다음과 같이 작성
    • NAME : Deploy Tar
    • INVENTORY : AWX_TEST
    • PROJECT : awx_test
    • PLAYBOOK : deploytar.yml
    • 를 눌러 저장
    • -
  5. 실행 결과 
    • Node단 확인
    • AWX의 Template에서 를 눌러 실행
    • Node 단 확인
  6. 추가 목표
    • 로컬에서 tar파일 생성
    • 배포한 파일 내용 수정


반응형
  1. Yaml을 이용하여 Node에 tar 파일을 전송하고 tar를 해제하는 작업
  2. AWX 적용
  3. 실행 결과


AWX 실습 #12_Workflow

AWX 2019. 1. 2. 11:10
반응형
  1. 작성되어 있는 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까지 작업하면 다음과 같이 표현 됨
    • 를 눌러 작업된 애역을 저장
  2. 주의 사항
    • 모든 작업은 최종적으로 를 눌러야 변경 됨
    • 화면에서 삭제해도 자동저장되지 않음
    • 반드시 후 다시 확인하는 습관 필요
  3. 실행
    • TEMPLATES에서 작성한 Workflow_example을 찾아 선택
    • 를 눌러 실행
    • 실행은 각 Template별로 진행되며 성공시에만 초록색으로 표현 됨
    • 노드에 변경된 내용 확인
    • 사용자 등록 확인
    • 방화벽 서비스 가동 상태 확인
    • -
  4. 목표
    • Workflow를 작성하여 순차적인 작업 수행 확인
    • 추가 목표 : 의도적인 Fail상황을 만들어 표시 상태 확인 및 Fail 시 처리 작업 추가