본문 바로가기

python

(33)
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를 실행하게 되면, 어떤 종류의 정보를 수집할 것인지에 대해서 물어보게 됩니다. 여기서 원하는 정보의 종류를 선택하면,..
Programmability for Networker : Part 10 10번째 Python for Networker 포스팅입니다. 이번 포스팅에서 Cisco Nexus의 7000과 5000에서 공통으로 사용이 가능하도록 기존에 만들었던 ipinfo.py 모듈을 변경해봅니다. 장비별로 개개의 코드를 작성해서 수행하는 것보다는 장비에서 공통으로 호환성있게 사용 가능한 코드를 만드는 것이 향후 코드에 대한 유지보수 측면에서 더욱 유리할 것 이기 때문에 유심있게 봐두면 좋을 듯 싶습니다. Git에서 Code 보기 - einfo.py : https://github.com/NetworkZIGI/Python_for_Network/blob/master/eipinfo.py - vCheck.py : https://github.com/NetworkZIGI/Python_for_Network/b..
Python for Networker : Part 6-2 이번 포스팅은 별도의 Part은 아니고~ 추가 포스팅입니다. 지난 Part 6에서 다뤄진 내용에 대해서 Nexus 7K용으로 변경한 코드입니다. 꼭 바꿔야하는 부분을 제외하고.. 약간 추가적으로 내용 업데이트도 함께 했습니다. (그 부분은 5K도 공통사항이긴합니다..) Nexus 7K로 변경해야 할 때, 어디를 바꿔야 하는지 문의하시는 분이 계셔서 수정해서 올려드립니다. 지난 번에 생각했던 것보다 조금 더 수정해야 하는 부분이 있어서. ^^; 포스팅으로 대체했습니다. Python for Networker : Part 6 보기 Github에서 보기 ○ IP Info - Nexus 7000 __author__ = 'Network ZIGI - Ko Jae Sung' #!/bin/env python import..
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 그럼 과연 실행은 어떻게 할까요? 바로..
Programmability for Networker : Part 7 이번 포스팅도 Python으로 만들어 보는 예제입니다. 마찬가지로 Cisco Nexus 5548 기준입니다. 하지만, 현재 만드는 예제가 모두 기본 CLI명령을 입력하는 부분에서만 Cisco 패키지를 사용하기 때문에 간단한(?) 변형을 통해 다른 곳에도 활용이 가능합니다. (물론 출력된 문자열이 Nexus 기준에서 가공하여 만든 예제라 문자열 가공을 각 상황에 맞게 일부 변형이 필요합니다) 이번 예제는 특정 interface의 사용량을 원하는 횟수만큼, 원하는 시간 간격으로 화면에 출력해주는 예제입니다. * Github에서 보기 uInt.py : https://github.com/NetworkZIGI/Python_for_Network/blob/master/uInt.py uIntmod : https://g..
Programmability for Networker : Part 6 이번 포스팅은 Python으로 만들어 보는 예제입니다. 제가 Test 가능한 환경이 Cisco Nexus이기 때문에 Cisco Nexus 5548 기준으로 작성된 예제입니다만, 기본 CLI명령을 입력하는 부분에서만 Cisco 패키지의 명령을 사용하였기 때문에 변형을 한다면, 다른 곳에서 충분히 활용이 가능한(?) 예제가 될 수 있을 듯 싶습니다. (물론 출력된 문자열이 Nexus 기준에서 가공하여 만든 예제라 문자열 가공을 각 상황에 맞게 일부 변형이 필요합니다) IP를 입력하면, 해당 IP의 MAC주소와 VLAN, Interface, Description 정보를 한 번에 확인할 수 있는 내용입니다. 추후에 아래 코드는 조금씩 변형되서 업데이트 버전이 만들 계획이지만, 언제 어떻게 될지는 아직은 알 수 ..