Cisco Python 자동화 도구인 pyATS

자동화는 네트워크 장치 관리의 핵심 요소입니다.
이번 포스팅에서는 시스코에서 제공하는 pyATS 툴셋을 설정해보았습니다. 전체 Python 코드에서 사용할 수 있고 CLI 도구 애드온이 있는 라이브러리입니다. 공급업체에 구애받지 않으며 테스트 또는 운영 작업을 실행할 수 있습니다.

설치



pyATS는 Linux 기반 시스템에 설치해야 합니다. Windows 설정을 사용하고 있으므로 WSL에 설치했습니다.
Python 패키지 관리자인 pip와 함께 pyATS를 설치했습니다.

pip install "pyats[full]"


일단 설치되면 CLI 도구와 함께 Python 코드에서 라이브러리를 가져올 수 있습니다.

파이썬 코드 작성



장치를 테스트베드 인스턴스에 로드해야 합니다.
해당 장치는 YAML 파일에 정의됩니다.
대상 장치가 선택되면 명령 결과를 추출하고 구문 분석할 수 있습니다.
pyATS 에코시스템에는 인벤토리 표시와 같은 명령을 위한 내장 파서가 있지만 특정 사용 사례에 대해 고유한 파서를 작성할 수 있습니다.

from genie.testbed import load

testbed = load('my_testbed.yaml')
dev = testbed.devices['nx-osv-1']
dev.connect()
p1 = dev.parse('show inventory')

print('Slot 1 serial number:' + p1['name']['Slot 1']['serial_number'])


내 장치를 TestBed로



장치 정보는 위의 예에서 my_testbed.yaml인 yaml 파일에 저장되어야 합니다. 여기에는 IP 주소, OS, 호스트 이름, 로그인, 비밀번호 등과 같은 장치 정보가 포함됩니다.

devices:
  R1:
    connections:
      cli:
        ip: 10.10.10.11
        protocol: ssh
    credentials:
      default:
        password: password
        username: admin
      enable:
        password: password
    os: iosxe
    platform: asr1k
    type: iosxe


오타를 방지하기 위해 csv(또는 xls) 파일을 사용하여 장치 데이터를 저장할 수 있습니다.



모든 값이 완료되면 pyats cli를 사용하여 csv 파일을 YAML 형식으로 변환할 수 있습니다.

(pyATS) ➜  pyats create testbed file --path ./my_devices.csv --output ./my_testbed.yaml

좋은 웹페이지 즐겨찾기