본문 바로가기
반응형

python29

[네트워크 자동화] ZTP 실제 구현 (Arista & Python) 지난 1편 포스팅에서는 ZTP의 개념과 아키텍처, 그리고 DHCP 패킷 구조까지 알아보았다. 이번에는 실제 현장에서는 코드를 어떻게 짜서 적용하는가에 대한 이야기를 해보려한다. 특히, Arista EOS의 표준 eAPI 라이브러리인 jsonrpclib를 활용하여, ZTP 프로세스에 관한 내용을 정리해보려 한다.1. 현장의 오해: "그냥 꽂으면 되나요?"이 질문은 반은 맞고 반은 틀리다. 당연하지만 ZTP라고 해서 아무것도 안 해도 되는 것은 아니다. 현장 테크니션이 장비의 Mgmt 포트와 OOB 관리용 스위치를 패치했을 때 ZTP가 동작하려면 이 관리용 스위치에는 사전 설정이 되어있어야 한다.테크니션: 장비의 Mgmt 포트를 OOB 스위치에 연결한다. 포트 정보는 사전에 엔지니어로부터 수집엔지니어(사전 .. 2026. 1. 3.
Nornir를 활용한 네트워크 자동화 (1) - Nornir 소개와 환경 구성 최근 회사에서 Datacenter Isolation을 진행하는 프로젝트를 진행해보았다. Network 장비를 접속하기 위해서 Netmiko는 많이 사용해봤지만 이번 프로젝트를 통해서 Nornir를 사용해봤다. 추후 Nornir를 이용할 것이라 생각되기에 이번 포스트를 통해서 내가 찾아봤던 내용들을 기록하여 추후에 참고가 되는 자료를 만들어보고자 한다. 첫 포스트에서는 Python 기반의 네트워크 자동화 프레임워크인 Nornir에 대해 소개하고, 기본적인 환경 구성 방법에 대해 알아보자.1. Nornir란?Nornir는 Python으로 작성된 네트워크 자동화 프레임워크이다. 기존의 Ansible과 같은 도구들과는 달리, Python 네이티브 환경에서 동작하며 이로 인해 Python 언어를 알고있다면 큰 l.. 2025. 2. 16.
Python (pass, continue, and break) 어느 프로그래밍 언어를 사용하더라도 반복문의 필요성은 두말하면 잔소리다. 반복문을 사용하다 보면 조건에 따라서 즉시 반복문을 종료할 경우, 단순히 현재 반복문을 skip할 경우, 그리고 설정된 조건을 무시할 경우로 나눠 볼 수 있다. 1. Continue: 특정 조건에 부합하면 현재 실행하는 loop을 빠져나가 다음 loop을 실행한다. 간략하게 순서도를 보면 아래와 같다. a = "12345" for elem in a: if elem == "3": print("Continue!") continue print(elem) for elem in a: if elem == "3": print("Break!") break print(elem) for elem in a: if elem == "3": print("P.. 2021. 7. 20.
Subprocess 모듈이용하기 회사 업무를 진행하면서 업무에 필요한 다양한 스크립트를 작성한다. IPAM system에서도 조회가 가능한 정보이지만 나는 Python 스크립트에서 shell을 실행하여 원하는 정보를 처리하는 방법을 택했다. nslookup IP address (e.g - nslookup 10.0.0.1) 형태의 명령어를 통해서 조회하는 IP와 연계된 DNS 레코드를 추출했다. 검색을 통해서 가장 처음 알게된 방법은 os.system('nslookup ' + '10.0.0.1') 하지만 위와같이 코드를 수행하게 되면 해당 프로세스를 실행하여 출력해줄 뿐 output을 capture 할 수 없다. 이 문제를 해결하려면 subprocess를 이용하면 가능하다. import subprocess import openpyxl f.. 2021. 4. 15.
반응형