2017년 6월 12일 월요일

[Ansible] NX-OS 관리하기 실패 사례 (4)

원래는 Ansible을 GUI로 관리하기를 쓰려고 하다가..
리눅스만 관리할꺼면 뭐하러 앤서블을 쓰나~ 싶어서

cisco의 NX-OS도 관리하는걸 하려고 했다.
그리고 다운로드 하는데 10시간 정도 걸려서 겨우겨우 완료했다...
(참고로 Titanium도 공식적으로는 cisco 내부용인데 가끔 웹에서 다운로드가 가능하다.)
http://forum.gns3.net/topic8069.html



하지만, 결론부터 얘기하자면, Titanium (n7k의 emulating mode)는 실패했다.
(테스트하는데도 하루를 잡아 먹었다.)

왜 안 되었을까?


1. nx-api 제공 유무
Titanium 6.2(1)버전의 nx-api가 제공을 하지 않는데, 이 경우 module nxos_xxxx 계열을 사용할 수가 없다.


없다 없다 nx-api가 없다 그런건 없다.




있는 경우 사용할 수 있는 모듈이다.
http://docs.ansible.com/ansible/list_of_network_modules.html#nxos

2. 직접 shell 명령어를?
그렇다면 직접 ssh를 통해서 명령을 날리는건 되지 않겠냐? 라고 열심히 해 봤는데, 기본적으로 앤서블은 환경을 읽어오고 나서 해야 하는데, bash의 환경을 읽어오질 못한다.

그렇다면 admin의 배시 컨피그를 수정하면 될 것이겠지만...cisco의 n9k는 run bash로 사실 수정할 수 있는데 (권장 아님) n7k는 debug-plugin을 써야 한다. 또한 이건 외부에 오픈도 안되어 있다.

3. 마지막 방법은?
정말 마지막 방법은 앤서블 안 쓰고 python의 paramiko로 짜는건데..그럴꺼면 머하러..이 글을 쓰나 싶어서 skip했다.



Cisco Nexus 7000 Series NX-OS Programmability Guidehttp://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus7000/sw/programmability/guide/cisco_nexus7000_programmability_guide_8x/b-cisco-nexus7000-programmability-guide-8x_chapter_010.html

여기 내용을 살펴 보면 Chef, Puppet, Open Agent Container, XML Management interface등을 을 7.3(0)D1(1)부터 지원한다는 걸 봐서 추론적으로 그 인근 어디쯤에는 될 꺼 같다..일단 nx-api가 지원을 안 하는게 제일 크다.


그래서, 이 블로그를 보는 독자가 할 수 없는.....NX-OS중에 n9000기반의 최신 버전으로 하려고 한다. 잘 되야 할텐데 말이다...하하하;;;;




0 개의 댓글:

댓글 쓰기

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