2017년 8월 17일 목요일

[Python/Ansible] 윈도우와 네트워크 모듈에 대해서...



앤서블로 이것저것 관리하다보면..

황당한 일을 종종 겪게 된다.
어제 겪었던...앤서블로는 실행이 되는데, 플레이북으로는 안된다던가...

모듈마다 문자열 처리하는 방식이 틀리다던가 하는 일들 말이다.

이게 웃긴게...센트OS 우분투는 왠만하면 다 잘 된다..
즉 범용 리눅스는 다 큰 문제 없이 모든 걸 다 잘 처리해 놨다.


그런데 문제는 마이너들....
윈도우나 네트워크 모듈 같은 것들 말이다..

그러나..이건 반대로 생각하면 기회가 아닐까 -_-?

내가 PR(pull request)할수 있는 기회 말이다..

이 글은 코리아 파이썬 유저 그룹에 포스팅 할 예정이긴 한데..
그 이유는 다른 것 개발하고 그러는 것도 좋은데, 이런 것에도 관심을 가지면..
재미있을 것 같다는 것이다..

버그성 기능을 나열해 보면..
1. win_command

이게 ansible(ans는 약자로 등록했다)로 바로 실행하면  플레이북에서도 똑같이 동작해야 하는데...

플레이북에서
"net use z: \\\192.168.1.10/home/vagrant/nfs_shared"
로 등록하고 실행하면 에러가 난다.

net use "z:" "\\192.168.1.10/home/vagrant/nfs_shared"로 해야만 에러가 나지 않는다.

## 수정수정 ##
이건 powershell스크립트로 쓰네요 python의 탈을 쓴 ps1...인듯;;;
Using module file /usr/lib/python2.7/site-packages/ansible/modules/windows/win_command.ps1

2. nxos_config 


/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_config.py
이 모듈을 사용하여 nxos를 config하게 되는데...

문자열 처리가 좀 서투르다..
무슨 얘기냐면...

이건 에러가 안 나는데..
lines: 'ntp server 192.168.1.10 use-vrf management'

이건 에러가 난다.
lines: ntp server 192.168.1.10 use-vrf management

당연한거 아닌가요 문자열을 묶어 줘야 하잖나요 라고 할수 있겠지만...
대부분의 리눅스에서 제공하는 모듈은 안 묶어줘도 된다.

또 위와 같이 문자열을 다르게 보는 모듈도 있고...제 각각이다..
특히  lineinfile과 blockinfile 모듈은 정말 아름답게 혼자서 잘 동작한다.
옵션도 엄청 많고....

개발할 소지가 충분히 있다는 뜻이다..
그래서 다른 파이썬 분야도 많지만 누군가는 관심을 가져주기를 하는 마음에서...하하하;;

PS : 네트워크 모듈 주소
https://github.com/ansible/ansible/tree/devel/lib/ansible/modules/network

0 개의 댓글:

댓글 쓰기

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