Author's posts

django admin 페이지에서 다른 모델의 필드값을 drop-down 리스트로 사용하기.

Django 관리자 페이지에서 다른 모델 필드값 drop-down list로 사용하기 모델은 아래와 같다. class Category(models.Model): name = models.CharField(max_length=64, unique=True) class NetworkDevice(models.Model): … category = models.CharField(max_length=64, null=True, blank=True, verbose_name=’Category’) 위의 모델에서, NetworkDevice 모델의 category 필드의 입력값을 Category 모델의 값에서 가져오기를 원하는경우, ForeignKey를 사용하면 되지만, 외래키를 사용하는경우 Category 쪽의 데이타를 삭제하는 경우 문제가 발생할 수도 있다. 그런 경우를 …

Continue reading

Nornir 네트워크 자동화 – 4 (nornir-napalm)

Nonir 네트워크 자동화 – 4 (nornir-napalm) 1. NAPALM NAPALM(Network Automation and Programmability Abstraction Layer with Multivendor support) NAPALM은 통합된 API를 사용하여 다양한 네트워크 장비의 OS와 상호작용하는 기능을 구현한 파이썬 라이브러리. 현재 버전(napalm 3)에서 지원하는 NOS는 Arista EOS, Cisco IOS, Cisco IOS-XR, Cisco NX-OS, Juniper JunOS이다. * NAPALM의 단점 지원되는 OS가 적다(하지만 지원되지 않는 장비들에 대한 …

Continue reading

Nornir 네트워크 자동화 – 3 (활용편)

Nornir 네트워크 자동화 – 3 (활용편) 이전 글(Nornir 네트워크 자동화 -2 (활용편))에서 nornir-netmiko 를 통해 시스코스위치에 명령을 내리고 결과를 가져오는 파이썬 스크립트를 작성했다. 이제, 남은것은 가져온 결과에서 원하는 부분을 추출하여 excel 에 저장하는 것이다. 만약, 결과를 눈으로 확인하기만 하면 된다고하면 print_result 사용만으로 충분할 수도 있겠지만, 장비의 시리얼 번호 추출이나 os 버전을 업그레이드 하기 위해 현재 …

Continue reading

Nornir 네트워크 자동화 -2 (활용편)

Nornir 네트워크 자동화 – 2 활용편 목표: Nornir를 이용하여 시스코 스위치 점검하는 파이썬 스크립트를 작성 사람이 장비점검을 한다고 하면 보통 아래 과정을 거쳐야한다. 1. 스위치의 목록 확인(ID, 비밀번호, 접속방법 등등) 2. 장비 접속, 보통 순서대로 접속하지만, 터미널 프로그램에 등록해서 한번에 여러대 접속이 가능하다. 3. 장비별로 명령을 내린다. 이것 역시 순서대로 하거나 여러 장비에 동시 가능. …

Continue reading

Nornir 네트워크 자동화 – 1

Nornir 네트워크 자동화 – 1 (기초편) 1. Nornir란 무엇인가? Nornir는 파이썬으로 작성된 자동화 프레임워크다. Ansible의 경우 파이썬으로 작성되었지만 프로그래밍을 몰라도 사용하는데 문제는 없지만, Nornir를 사용하려면 파이썬 프로그래밍을 알아야한다. Nornir는 파이썬 버전 3.6.2 이상에서 동작한다. 2. Nornir 설치 Nornir는 PyPI에 게시되며, 다른 파이썬 패키지들처럼 pip 명령으로 설치가 가능하다. 또한 개발단계에서는 virtual environment를 사용하는것이 좋다. 아래 명령으로 …

Continue reading

C3550, %SYS-2-MALLOCFAIL

C3550, %SYS-2-MALLOCFAIL 메시지 발생. 시스코 스위치에서 대략 30초 간격으로 아래 메시지 무한 반복. May 10 16:23:07: %SYS-2-MALLOCFAIL: Memory allocation of 1692 bytes failed from 0x153AE4, alignment 0 Pool: I/O Free: 57212 Cause: Memory fragmentation Alternate Pool: None Free: 0 Cause: No Alternate pool -Process= “Pool Manager”, ipl= 0, pid= 5 May 10 16:23:37: %SYS-2-MALLOCFAIL: Memory …

Continue reading

익스트림 스위치 공장 초기화 – 비밀번호 분실

익스트림 스위치 비밀번호 분실시 스위치 공장 초기화 * 사용장비: sumit x450e-24p 1. 콘솔케이블 연결하고, 전원을 넣고 를 누르고 기다린다. 그러면 BootStrap> 프롬프트가 보이는데, 이때 boot 를 입력한다. * Summit X * Version 1.0.5.7 Branch trunk by release-manager on Mon 03/05/12 Copyright 2003-2012, Extreme Networks, Inc. Single Processor System Initializing… Press and hold the <spacebar> to …

Continue reading

Nexus 7010 temperature alarm 발생 처리.

Nexus 7010 temperature alarm 발생 처리 Nexus 7010에서, 아래 로그가 지속적으로 발생. xbar-4에서 한계온도 하한선인 섭시 95도를 초과했다는 메시지인데, 대략 한시간 간격으로 잠깐씩 발생했다. 아래 문서들을 본 결과, 공기 필터에 먼지가 많이 끼었기때문일 가능성이 가장 컸으며, 공기 필터를 청소하면 된다고 한다. … 2021 Apr 14 07:18:35 Backbone_2-Main %PLATFORM-2-MOD_TEMPMINALRM: Xbar-4 reported minor temperature alarm. Sensor=3 Temperature=96 …

Continue reading

Ansible 네트워크 자동화 – 6

Ansible 네트워크 자동화 – 6 앤시블을 이용한 익스트림 스위치 점검하기 익스트림 스위치의 팬, 온도, 파워서플라이 점검을 위해 playbook 작성한다. 임의의 명령을 실행하기 위해서 exos_command 모듈을 사용한다. 만약, extreme 스위치 지원을 위한 모듈이 없으면, ansible-galaxy 명령으로 컬렉션을 설치한다. $ ansible-galaxy collection install extreme.exos 플레이북을 아래처럼 작성했다. — – name: Extreme Switch Check Playbook connection: ansible.netcommon.network_cli gather_facts: …

Continue reading

Ansible 네트워크 자동화 – 5

앤시블 네트워크 자동화 -5 ansible 네트워크 telnet 사용하기 오래된 네트워크 장비는 ssh를 지원하지 않을 수도 있다. 이런 경우에, telnet을 사용해야 하며, ansible.netcommon 컬렉션의 일부분인 플러그인을 사용하면 된다. ansible-galaxy 명령으로 해당 컬렉션을 설치한다. 이미 설치되어 있으면 아래와 같은 메시지가 보인다. $ ansible-galaxy collection install ansible.netcommon Process install dependency map Starting collection install process Skipping ‘ansible.netcommon’ as …

Continue reading