본문 바로가기

Programmability

(23)
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..
Automation for Networker[6] - Ansible : Part 4 Automation for Networker로 다시 또, 오랜만에 포스팅을 하게 됩니다. 이번 포스팅은 Automation Tool인 Ansible을 활용하여 Cisco 장비를 제어하는 예제입니다. 기본 Ansible을 활용하여 Cisco 장비를 제어하는 것은 NX-API를 사용하는 데, NX-API는 제한적으로만 장비에서 지원되기 때문에 아직까지는 사용하는 데 있어서 제한이 있습니다. 이를 위해 SNMP를 사용하여 장비를 제어할 수 있도록 해주는 라이브러리를 사용하여 Ansbile로 시스코 장비를 다뤄봅니다. 원래 지난 Automation for Networker 5에 이어서 Arista 장비에 대한 예제를 다루려고 했으나, 네트워크 타임즈에 2월호부터 기고 중인 Programmability for N..
Automation for Networker[5] - Ansible : Part 3 Ansible Arista 제어 거의 한 달여만의 포스팅이자, Automation for Networker 시리즈로는 거의 3~4달여만 남기는 것 같습니다. 이래 저래.. 일도 있고, 2월부터 4월까지 예정중인 네트워크 타임즈 기고 건 때문에 조금 더디게 정리하고 있기도 합니다. ^^; 이번 포스팅은 4월 네트워크 타임즈 기고에서도 다뤄지게 될 내용인, Ansible을 통한 Arista Switch를 제어하기의 첫 번째 시간인 환경 구축입니다. 다음 포스팅은 이 환경 구축을 통한 실제 Ansible로 Arista swtich 제어하는 에제를 다루게 될 예정입니다. 길이는 무척이나 짧지만, 인고의 삽질 끝에 얻어낸 축약된 내용입니다. ^^; Ansible로 Arista Switch 제어하기 1. Arist..
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 13 (Cisco OnePK:2) Python for Networker 13번째는 본래 의도와는 다르게 다시 조금 쉬어가는 포스팅입니다. OnePK의 예제 코드를 다뤄보기 전의 Cisco OnePK에 대해서 조금 더 간단히 알아보는 내용입니다. 다음 포스팅부터 이제 실제 예제코드는 함께 다뤄질 예정입니다! ^^ 또한 본 포스팅은 OnePK에 대한 소개이기 때문에 이론적인 부분에 있어서는 지속적으로 업데이트 할 예정입니다. ○ OnePK Introduce - 다양한 Cisco Device를 OnePK라는 Application Toolkit을 통해 기존 네트워크를 programmability하게 사용 가능하도록 함. - 기존 IOS ,OSd/XE, XR, NX-OS 모두 각각 onePK API를 지원하는 환경에서 다양한 언어(C, Java,..
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를 사용하여 비즈니스 요구에 따른 확장, 변경 등..
Programmability for Networker : Part 9 벌써 9번째 포스팅에 접어들었네요. ^^; 이번 포스팅은 직접 장비가 없어도 해보실 수 있는 VM을 이용하여 실습을 할 수 있도록 하는 환경을 꾸미는 내용입니다. 바로 ARISTA의 vEOS를 VMWARE 환경에서 사용할 수 있도록 만들어 보겠습니다. 이번 포스팅에서 1대의 가상 머신을 설치해보지만, 여러대의 VM을 띄워서 네트워크 구성도 물론 가능합니다! NetworkZIGI Python Git : https://github.com/NetworkZIGI/Python_for_Network 먼저 Arista의 vEOS를 사용하기 위해서, vEOS 이미지를 구하셔야 합니다. vEOS 이미지는 Arista 홈페이지를 가면, 아래와 같이 vEOS를 다운 받으실 수 있습니다. 물론 다운을 받기 위해서 가입을 하셔..
Programmability for Networker : Part 8 Last Updated : 2014.07.30 이번 포스팅은 Nexus 7000 시리즈에서 Python Script를 실행하기 위한 방법입니다. Nexus 버전별로 지원되는 부분이 조금씩 다른 듯 싶은데.. (물론 제가 모든 장비를 해 볼 수 있는 환경이 아니어서요... ) Nexus 5000의 경우에는 바로 Python 명령을 사용하여 기존의 만들어진 Python 모듈을 실행할 수 있지만, Nexus 7000에서는 Python 명령을 치고 '?'를 치면... 아래와 같이 Python Shell로 들어가는 것 밖에 되지 않습니다. Nexus 7000 Nexus 5000 N7K# python ? N5K# python ? bootflash: The file to run 그럼 과연 실행은 어떻게 할까요? 바로..