본문 바로가기

python

(31)
Programmability for Networker : Part 20 (Arista pyeapi:2) pyeapi, eapi, python, arista, example : Today Key 이번 포스팅에서는 지난 번에 알아보았던 pyepai에서 제공하는 몇 가지 예제에 대해서 간략하게 알아보려고 합니다. 예제를 통해서 이러한 기능들도 사용할 수 있구나? 정도 ^^ 무엇이든, 왜? 사용해야 하는지 아는게 중요할테니, 이번 포스팅에서는 몇 가지 예제를 통해서 왜? 써야 하는지를 생각해 볼 수 있었으면 합니다. Arsita Python Client for eAPI (pyeapi) 예제 pyepai 예제 List • pyeapi를 설치하고 나면, 아래와 같이 몇 가지 예제를 코드를 제공합니다. 여기에서는 simple과 유사한 기능을 하는 sysmac을 제외한 나머지 코드를 살펴보려고 합니다. get-confi..
Programmability for Networker : Part 18 (Junos PyEZ:2) PyEZ라는 Junos OS 장비를 다룰 수 있도록 해주는 Python용 micro-framwork라고 하는 Library를 다뤄봅니다. 이번 포스팅에서는 PyEZ가 무엇인지 아주 간단히, 그리고 아주 간단한 예제를 통해서 가볍게 접근해봅니다. Juniper PyEZ Library ○ PyEZ를 통한 Configuration 관리 • PyEZ를 통한 설정 관리 : Unstructured / Structured • Unstructured - 지원되는 특정 포맷 형식에 Junos Config를 전달하여 관리 - 다수의 변수를 가진 Template을 사용하면 보다 쉽고 빠르게 사용 가능 • Structured - 설정 / 속성에 접근하는 프로그래밍 방법을 잘 정의한 추상화 자원을 사용 - 추상화 자원은 Pup..
Programmability for Networker : Part 17(Cisco NX-API) NX-API 기존의 Python for Networker라는 주제로 포스팅하던 것을, 주제를 넓혀보고자.. Programmability for Networker로 이름을 변경하고 지속해서 시작합니다. ^^; 이번 포스팅은 Cisco의 Programmability를 지원하는 NX-API에 대한 포스팅입니다. NX-API - Cisco Programmability ◈ NX-API - HTTP/HTTPS의 RPC 기반의 API 기능 수행 - 'show', 'configuration', 'Linux Bash' 지원 - JSON-RPC를 지원 - Cisco Nexus 9000 platform 적용 ◈ NX-API 동작 - HTTP/HTTPS로 전송되며, 해당 CLI는 HTTP/HTTPS의 POST body로 en..
Programmability for Networker : Part 16 (Junos PyEZ:1) PyEZ라는 Junos OS 장비를 다룰 수 있도록 해주는 Python용 micro-framwork라고 하는 Library를 다뤄봅니다. 이번 포스팅에서는 PyEZ가 무엇인지 아주 간단히, 그리고 아주 간단한 예제를 통해서 가볍게 접근해봅니다. Juniper PyEZ Library ○ PyEZ 란? - Junos OS 장비를 원격에서 관리 및 자동화하는 Python으로 만든 'micro-framework' - Junos OS 혹은 , Junos OS XML API에 대한 이해가 복잡하게 필요하지 않음 - 비개발자에게는 원격지의 Junos OS 장비의 자동화 업무 등의 할 수 있도록 하는 간단한 Power Shell 역할을 함. - 개발자에게는 보다 큰 네트워크 인프라의 자동화 관점에서 사용할 수 있는 확..
Programmability for Networker : Part 15 (Cisco OnePK:4) OnePK 예제 지난 포스팅에 이어서 Python을 사용한 OnePK 예제를 다뤄봅니다. 간략한 예제를 통해서, OnePK를 어떻게 사용할 수 있는지 알아보겠습니다. ○ OnePK 두 번째 예제 - Network Element의 Interface 정보를 가져와서 출력해보는 예제입니다 - Ethernet Type의 Interface 정보를 가져오고, 해당 Interface의 Description을 출력합니다 ◆ 실행결과 ◆ 소스코드 - 기본 코드는 지난 포스팅인 Python for Networker Part 14(OnePK3)을 참고해주시면 됩니다. - Interface를 정보를 가져오기 위해서 OnePK에서 제공하는 Package중에, Interface라는 Package를 사용합니다. - 여기서는 Net..
Programmability for Networker : Part 14 (Cisco OnePK:3) 이번 포스팅부터는 OnePK 예제를 다뤄봅니다. 본 포스팅의 예제는 원래 제목이기도 하지만, OnePK에서 지원하는 언어 중에 Python을 사용하여 진행하게 됩니다. 이번 포스팅에서는 예제를 하기 위한 다른 내용도 함께 들어가느라, 1개의 예제만 다루게 됩니다. ○ OnePK 첫 번째 예제 - Network Element와 연결하여, 해당 Element의 정보를 가져오는 예제 - 아래의 동영상과 같이 장비의 다양한 Element 정보를 가져올 수 있다. - Source Code - Source Code를 보면, 매우 단순(?)합니다. - OnePK가 지원되는 Device와의 연결을 위해서 'IP address', 'username', 'password'가 필요로 하며, 해당 정보를 가지고, 해당 Dev..
Programmability for Networker : Part 12 (Cisco OnePK:1) 이번에는 Cisco OnePK에 대한 아주 간단한 소개와 앞으로 포스팅 하게 될 OnePK에 대한 예제 내용들입니다. 이번 포스팅에서는 OnePK로 할 수 있는 예제 결과에 대해서만 간략하게 보여드리고, 이후 포스팅부터는 OnePK에 대한 좀 더 기술적인 내용과 함께 이번 포스팅에 보여드린 예제에 대해서 코드와 함께 좀 더 자세히 살펴보도록 하겠습니다. Cisco OnePK (Platform Kit) ○ OnePK 란? - Cisco Open Network Environment SDN 전략 요소 - 개발/자동화/빠른 서비스 생성 등의 작업을 손쉽게 하게 도와주는 툴킷 - 다양한 언어(C, Java, Python)를 사용할 수 있도록 API를 제공 - API를 사용하여 비즈니스 요구에 따른 확장, 변경 등..
Python for Networker : Part 11 Last Updated 2014.08.26 Python for Networker의 이번 포스팅은 Cisco dCloud 의 Nexus 9000 : NX-OS Programmability v1에 있는 Python Script 예제 중의 하나를 다뤄봅니다. 이 Python Script는 Nexus에서 현재 원하는 정보를 Text 형태의 첨부파일로 만들어서, 메일로 전송을 하는 예제 Script 입니다. 다음과 같이 bootflash://script 디렉토리에서 예제 Script를 실행합니다. dcloud-n9k# python ./n9k_serviceability.py 수신메일주소 Script를 실행하게 되면, 어떤 종류의 정보를 수집할 것인지에 대해서 물어보게 됩니다. 여기서 원하는 정보의 종류를 선택하면,..