본문 바로가기

카테고리 없음

Programmability for Networker : Part 19 (Arista pyeapi:1)

pyeapi, eapi, python, arista : Today Key 

 

Last Update : 2015.05.19 Windows에서 설치하기

이번 포스팅에서는 Arista EOS를 관리할 수 있는 방법 중에 하나로, 기존의 eAPI를 좀 더 쉽게 사용 할 수 있도록 제공해주는

 

Python 라이브러리인 pyeapi에 대해서 다뤄봅니다.

pyeapi를 이용한 EOS 장비 관리를 위한 환경 구축부터 몇 가지 예제를 앞으로 몇 번의 포스팅을 통해서 알아보게 됩니다.

또한, pyeapi를 사용하여 Ansible을 사용하는 예제는 Automation for Networker 시리즈의 포스팅으로도 알아볼 예정입니다.


 


Arsita Python Client for eAPI (pyeapi)


Arista EOS Command API(eAPI)

  • EOS Version 4.12부터 사용 가능

  • Management plane application을 구축하여, 장비의 상태 정보나 설정을 손쉬게 관리할 수 있도록 함.

 

Python Client for eAPI

  • eAPI 작업을 보다 쉽게 구축하기 위해 만들어진 Python Client.

  • 원격지의 EOS Node(장비)에 대해서 eAPI의 HTTP/S 를 통한 제어가 되도록 설계 됨.

 

 


○ 설치하기

  •pip를 사용하여 설치하거나, Github를 통해서 설치가 가능하다.

  •본 포스팅에서는 Github를 통해서 pyeapi를 설치한다.

  •아래와 같이 Github를 통해서 pyeapi를 다운 받은 후에, install 한다.

 

 

 

 Windows 에서 설치하기

 

 

 

 

 

 

 

 

 

○ pyeapi 초기 설정하기

  •pyepai를 사용하기 위해서는 관리하기 위한 Node에 대한 설정을 Configuration 파일에 해야 한다.

  •Configuration File은 INI Style로 구성하며, 다수의 Node를 포함 할 수 있다.

  •Configuration File은 ~/.eapi.conf 에 설정하며, 설정 파일 구성은 다음과 같다.

 

 [connection:zigi1]
 host: 10.1.1.11
 username: zigi
 password: zigi
 transport: https

 

 

 

 

○ pyeapi로 장비 Version 확인하기

  •pyeapi 라이브러리를 먼저 Import 한 후에 관리하고자 하는 장비를 연결하는 데,

     이 때에 Configuration 파일에서 지정한 Naming을 사용한다.

  •장비를 연결한 후에는 Node에 대한 인스턴스를 리턴한다.

  •위의 실행 예제에 대한 결과 값은 다음과 같다.

 

 

 •위의 결과 값은 사용자가 알아보기는 쉽지 않기 때문에 적절하게 다음과 같이 결과 값을 가공하면 좀 더 쉽게 알아볼 수 있다.

   

 

 

다음 포스팅에서는 pyeapi를 사용한 보다 다양한 예제를 다뤄보겠습니다.