작성
·
603
0
안녕하세요.
강사님 강의 잘 듣고 있습니다.
그런데 아래와 같이 에러가 발생하여 문의 드립니다.
Ansible Playbook 사용하기 챕터에서
Tomcat 파일 다운로드 받는 부분에서 아래와 같이
Checksum 파일을 찾을수 없다는 에러가 발생하였습니다.
톰캣 홈페이지에서 URL 찾아서 넣었는데도 해당 에러가 발생하네요.
답변 3
0
window 환경에서 도커 띄우고 playbook-sample2-linux.yml 부분이 잘 실행이 안되어서요 ㅠㅠ
그리고 get_url 모듈 사용 할때 ssl 에러가 나서
일단 저는 실습은 아래 코드로 실행 시켜 성공 했습니다.
---
- name: Download Tomcat9 from tomcat.apache.org
hosts: devops
tasks:
- name: Create a Directory /opt/tomcat9
file:
path: /opt/tomcat9
state: directory
mode: 0755
- name: Download Tomcat using get_url
get_url:
url: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
dest: /opt/tomcat9
mode: 0755
validate_certs: no
Windows에서 실행 시 Script 파일을 다음 경로에 있는 파일로 사용해 주시고, ansible-server 에서 ca-certificates 모듈도 업데이트 하신 다음 실행해 보시기 바랍니다.
$ yum install -y ca-certificates
0
안녕하세요, 이도원입니다.
말씀하신 것처럼 리눅스 환경에서 ansible playbook의 get_url.checksum 부분에서 오류가 발생하는 것을 확인했습니다. 제가 테스트한 환경은 AWS EC2의 amazon-linux로 확인했습니다.
문제는, checksum을 처리하는 부분의 해당 python 코드에서의 문제가 아닌가 싶은데, 아래와 같이 checksum을 확인해 보면, 실제 checksum 정보는 존재하는데 파일명을 확인해 보면, apache-tomcat-9.0.65.tar.gz 파일이 아니라, apache-tomcat-9.0.65.tar.gz와 같이 파일명 앞에 '*'가 포함되어 있고, 이 파일 정보를 checksum 에서 찾을 수 없다고 하는 게 원인 인것 같습니다.
따라서, checksum 부분에서 처리하는 과정을 스크립트를 통해 일부 수정해 봤는데, checksum 파일을 다운로드 받은 후, 해당 파일에 파일정보가 포함되어 있는지 확인하도록 스크립트를 수정(12~18라인)했습니다. 아래와 같은 스크립를 기존 playbook 파일 대신 실행해 보시기 바랍니다. 이후에 있는 playbook 파일에서도 checksum 부분은 동일한 방법으로 처리해 보시면 될 것 같습니다.
샘플 코드는 아래 github에서도 다운로드 받으실 수 있습니다.
감사합니다.
0
안녕하세요, 이도원입니다.
https://downloads.apache.org/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz.sha512
위 체크섬 관련 링크를 엑세스 해 보니, 아래와 같은 결과가 확인 되고 있는데, 스크립트 확인 후 다시 실행해 보실 수 있을까요? 지속적인 에러가 발생하시면, 사용 OS환경하고 사용하신 ansible 이미지를 알려주시면, 동일환경에 테스트해 보도록 하겠습니다.
감사합니다.
https://github.com/joneconsulting/jenkins_cicd_script/blob/master/playbook_script/playbook-sample2-linux.yml
위에 공유한 playbook 파일은 OS가 Linux일때의 스크립트입니다. Windows에서 Docker 컨테이너로 실행하실 때는 그냥 https://github.com/joneconsulting/jenkins_cicd_script/blob/master/playbook_script/playbook-sample2.yml 파일로 실행해 보시기 바랍니다.