티스토리 뷰

728x90
반응형

EX294V84K , Red Hat Ansible Engine 2.9

 

시작

 

 

 

나는 kiosk 로 영우글로벌러닝 가서 시험 을 봤고 노트북 한대 주는 책상에서 시험을 봤다.

 

Red Hat ID ,pw 입력 하고 로그인 하면 시험 설문지 몇 페이지 를 진행 하게 되고

 

화면이 전환 됬던거 같고 오른쪽 하단에 채팅 창에 감독관이 영어로 이것저것 물어본다.

 

전화 번호 를 물어길래 답해주었고 korean plz 라고 쳤다.

 

그러니 번역기 돌려 이거저거 시험에 주의 사항을 알려 주고 

 

앉은 자리에 카메라 와 노트북 카메라 를 이리저리 움직이게해서 책상에 올린 팔부터

 

노트북 위에 손이 올라가고 얼굴이 다보일때까지 캠을 이동시키게 한다.

 

이거 정말 짜증났던게... 하나 30분 이직 하니가 긴장도 한없이 풀려버리면서

 

암기해 갔던 것들 다 까먹게 생겼었따...

 

 

 

시험 시작 하라고 하면서 리눅스 화면이 열리는데

 

왼쪽 엣지바에 시험 문제와 vm 들을 열수 있도록 아이콘이 되어있다.

 

여기서도 기억이 대충 대충 날뿐 난 그날 시험에 붙어서 나갈줄 알았기에

 

다른건 신경도 쓰지 않았었따.

 

 

 

덤프에서 보고갔던 vm 들의 host 와 node 들이 대한 설명과 url , up 들을 알려준다.

 

그리고 ssh 로 설정이 되어 있으니 node 들에 대한 설정을 변겨 하지 말라과 경고도 준다.

 

 

 

주어진 문제를 열어 진행나아가면 되는데.

 

root 의 pw 를 제공 하고 vm 에대한 접속 권한을 주며

 

시험을 풀게 될때 해당 host 서버에 전원과 초기화 재시작 부팅 등에 메뉴가 있는데

 

패널을 우측에 볼수 있었다.

 

 

 

말이 많았고 난 떨어 졋따. 210점 Passing score 에서 189 점인가 185 점인가고..

 

원인 1번 문제에 

 

' Install and configure Ansible :0%"

 

에 결과 을 통보 받았다..... 

 

이걸 제외 하고 나머지는 거의 70 이상이었다..

 

결과를 받고 울화가 치밀어 보름을 아노미 상태로 살았다...

 

 

 

정리 해보면

 

1번 문제에 지정 경로에 inventory 와 ansible.cfg 파일을 지정해서 물제들을 풀어나아가라고 하는데

 

다음 과 비슷한 에러로 1시간 반을 허비 했다...

 

( 멘탈 나가서 씩은 땀만 줄줄 흘리다 한참 후 에야 정신 잡고 편법으로 문제 를 풀어 나갔다.)

 

 

 

에러는 대충 

 

[WARNING]: Unable to parse /etc/ansible/hosts as an inventory source

[WARNING]: No inventory was parsed, only implicit localhost is available

[WARNING]: provided hosts list is empty, only localhost is available. Note that

the implicit localhost does not match 'all'

 

 

[WARNING]: * Failed to parse /etc/ansible/hosts with yaml plugin: YAML

inventory has invalid structure, it should be a dictionary, got: <class

'ansible.parsing.yaml.objects.AnsibleUnicode'>

[WARNING]: * Failed to parse /etc/ansible/hosts with ini plugin:

/etc/ansible/hosts:3: Expected key=value host variable assignment, got: ;

[WARNING]: Unable to parse /etc/ansible/hosts as an inventory source

[WARNING]: No inventory was parsed, only implicit localhost is available

 

 

 

 

이렇게 두개 였던거 같다...

 

inventory , ansible.cfg 파일 구성을 끝내고 상태를 확인 하기위해서

 

# ansible all -m ping 

 

로 node 에 ping 테스트 하는 명령어를 치니 위와 같은 메세지가 나왔다.

 

해결 방법은 구글링 해서 찾았다.

 

https://bobcares.com/blog/ansible-unable-to-parse-as-an-inventory-source/?unapproved=141238&moderation-hash=9d659a0e766784c3d9ac2b72fab79b92#comment-141238 

 

Ansible Unable To Parse As An Inventory Source | Troubleshooting Tips

Let's explore some of the troubleshooting methods for the "ansible unable to parse as an inventory source" issue in this article. More...

bobcares.com

 

Method 4

Sometimes host files with no read permissions cause the following error message.

[WARNING]: Unable to parse /etc/ansible/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'

Here, we need to change permissions.

sudo chmod 744 /etc/ansible/hosts 

때때로 읽기 권한이 없는 호스트 파일로 인해 다음 오류 메시지가 표시됩니다.

[경고]: /etc/ansible/hosts를 인벤토리 소스로 구문 분석할 수 없음 

[경고]: 인벤토리를 구문 분석하지 않고 암시적 localhost만 사용할 수 있습니다 

[경고]. 호스트 목록이 비어 있고 localhost만 사용할 수 있습니다. 암시적 로컬 호스트가 'all'과(와) 일치하지 않습니다.

---------

이 문제 를 해결 하려면 우선 확인 해야 할것이

ansible.cfg 파일에 inventory 경로를 정확히 지정 했는지 우선 확인 해야한다.

시험에서 위과 비슷한 내용의 설정을 요구한다. 

내가 이런 메세지를 받게 된건 아마 inventory = /home/admin/ansible/inventory 문에 오타가 있었을 경우 인거 같다.

그래서 오타를 내봤다!!! 쓰벌

2번 라인에 inventoxry = /home/admin/ansible/inventorxy 라 고 x 를 넣어 경로를 틀리게 하고 인벤토리 지정 값도 틀리게 했다.

결과를 보자

테스트는 ansible all -m ping 로 한다.

결과는 두줄에 WARNING 만 나왔다.

나는 위 예제 처런 4줄에 동일한 WARNING 을 뽑을거려는거다.

디렉토리도 .. 으로 한단계 옮겼고 유저도 admin 에서 root 로 바꾸고 다른 경로에서 실행 봐도 동일하다.

테스트 한다고 이거저거 깔아따 지웠다 해서 그럴지 모르니 초기화 하고 다시 해보겠다.( 이짓 한다고 snap 을 엄청 해두었다)

( 참고로 /etc/ansible/ 을 지워둔 상태 )

 

근본 부터 해결 해야 겠다는 생각에
ansible engine 2.9 가 core 2.9 버전인지 확인이 필요 했다.
왜냐면 나는 redhat 서브스크립션이 없고
rocky repo 를 가지고 ansible 을 설치 했기에
core 12.13.13 이 설치 되어서 동일한 에러를 낼수 없을지도 모른다는 생각이 들었다.
그래서 redhat 에 문의 넣어 놓았다.
그리고 답장을 확인 하고  글을 이어 나갈려 한다.
2022.12.28 15:52

Method 5

Incorrect formatting of the host’s file may also result in the error below:

[WARNING]:  * Failed to parse /etc/ansible/hosts with yaml plugin: YAML
inventory has invalid structure, it should be a dictionary, got: <class
'ansible.parsing.yaml.objects.AnsibleUnicode'>
[WARNING]:  * Failed to parse /etc/ansible/hosts with ini plugin:
/etc/ansible/hosts:3: Expected key=value host variable assignment, got: ;
[WARNING]: Unable to parse /etc/ansible/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available

Here, we need to correct the format.

Method 6

Verify if hosts are available with ansible all --list-hosts

 

이라고 하지만 나는 결국 /etc/ansible/hosts 파일에 내용에 인벤토리를 넣고 문제를 풀수 밖에 없었다.

한달 넘는 문제 풀이 연습에서 inventory 에러를 한번도 본적이 없었기에 맨탈이 나가고 문제도 풀어보지 못하고

55만원이 날라 가는구나 했다...

결국은 날라 갔지만  1시간 반 허비하고 2시간반 만에 문제를 다풀지 못하고 마지막 4문제 와 중간중간 에러를 해결 하지 못하고 떨어졌다.

 

오타와에 싸움이다....

 

728x90
반응형
댓글