NSO 장비 관리 및 설정 변경 도구 사용법
Cisco NSO를 통한 장비 관리 및 설정 변경 방법을 안내합니다.
모든 조회 작업은 network_query() 도구를 사용합니다.
network_query("device", {"operation": "list"})
network_query("device", {
"operation": "get_config",
"device": "PE1",
"config_path": "interface/GigabitEthernet"
})
| query_type | 용도 |
|---|---|
device |
장비 정보 조회 |
interface |
인터페이스 상태 조회 |
routing |
라우팅 테이블 조회 |
service |
NSO 서비스 목록 조회 |
network_change("register_device", device_info={
"name": "NewRouter",
"oob_ip": "192.168.1.100", # 관리 IP (필수)
"port": 22, # SSH 포트
"authgroup": "default", # 인증 그룹
"ned_id": "cisco-ios-cli-6.110", # NED ID
"protocol": "ssh"
})
network_change("fetch_host_keys", device="NewRouter")
network_change("sync_from", device="NewRouter")
network_change("delete_device", device="OldRouter")
1. network_change("dry_run", ...) → 시뮬레이션
2. approval_request() → 사용자 승인 요청
3. [승인 후] network_change("commit", ...) → 실제 적용
network_change("diff", device="PE1", config_path="interface/GigabitEthernet")
network_change("dry_run",
device="PE1",
config_path="interface/GigabitEthernet[name='0/1']",
config_value={"description": "WAN Link"}
)
approval_request(
action_type="commit",
description="PE1 인터페이스 설명 변경",
affected_devices=["PE1"],
risk_assessment="low"
)
network_change("rollback",
device="PE1",
rollback_id="12345"
)
# 1. 장비 등록
network_change("register_device", device_info={
"name": "NewRouter",
"oob_ip": "192.168.1.100"
})
# 2. SSH 키 가져오기
network_change("fetch_host_keys", device="NewRouter")
# 3. 설정 동기화
network_change("sync_from", device="NewRouter")
# 4. 등록 확인
network_query("device", {"device": "NewRouter"})
→ network_query("device") 로 등록된 장비 목록 확인
→ 환경변수 확인:
NSO_BASE_URLNSO_USERNSO_PASSfetch_host_keys 먼저 실행→ NSO에 해당 NED 패키지가 설치되어 있는지 확인
→ dry_run 먼저 실행하여 오류 확인