Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

gNOI 운영 체제(OS) 서비스

요약 gNOI 운영 체제(OS) 서비스를 사용하여 대상 네트워크 장치의 소프트웨어를 업그레이드합니다.

gNOI OS 서비스를 사용하여 대상 장치에서 소프트웨어를 업그레이드할 수 있습니다. proto 정의 파일은 https://github.com/openconfig/gnoi/blob/master/os/os.proto 에 있습니다.

소프트웨어 설치에는 서비스 RPC에 해당하는 세 가지 OS 주요 단계가 있습니다.

  • 설치
  • 활성화
  • 확인

RPC는 Install() 지정된 이미지를 대상 디바이스의 디렉터리로 /var/tmp/ 전송합니다. 대상 파일 이름은 메시지 version 필드에 정의된 TransferRequest 값입니다. RPC는 Activate() 이미지를 설치하고 디바이스를 재부팅하여 새로 설치된 이미지를 활성화합니다. RPC는 Verify() 디바이스에서 OS 버전을 검증합니다.

참고:

gNOI system 서비스 SetPackage() RPC를 사용하여 디바이스에 소프트웨어를 설치할 수도 있습니다. 자세한 내용은 gNOI 시스템 서비스를 참조하세요.

지원되는 RPC

표 1: 지원되는 os.proto RPC
릴리스에 도입된 RPC 설명
Activate()

다음 재부팅 시 사용되는 OS 버전을 설정합니다.

Activate() 플래그가 생략되거나 로 설정된 경우 no_reboot 대상을 재부팅합니다 False. 재부팅이 요청된 OS 버전을 부팅하지 못하면 대상이 이전 OS 패키지로 롤백됩니다.

참고:

Junos 디바이스는 메시지의 필드를 ActivateRequest 지원하지 standby_supervisor 않습니다.

진화한 Junos OS 22.2R1

Install()

소프트웨어 이미지를 대상으로 전송합니다.

참고:

Junos 디바이스는 메시지의 필드를 TransferRequest 지원하지 standby_supervisor 않습니다.

진화한 Junos OS 22.2R1

Verify()

실행 중인 OS 버전을 확인합니다. 이 RPC는 성공할 때까지 대상이 부팅되는 동안 여러 번 호출될 수 있습니다.

참고:

Junos 디바이스는 VerifyResponse를 지원하지 verify_standby 않습니다.

진화한 Junos OS 22.2R1

네트워크 디바이스 구성

시작하기 전에:

서비스 RPC를 OS 사용하기 위해 추가 구성이 필요하지 않습니다.

예: 설치 및 활성화

이 예제에서 클라이언트는 다음 작업을 수행하는 Python 응용 프로그램을 실행합니다 gnoi_os_install_activate.py .

  • 소프트웨어 패키지를 로컬 네트워크 관리 시스템에서 네트워크 디바이스로 복사합니다.
  • 네트워크 장치에 패키지를 설치합니다.
  • 네트워크 디바이스를 재부팅하여 새 소프트웨어 이미지를 활성화합니다.

애플리케이션은 메시지와 함께 InstallRequest() RPC를 호출하여 Install() 파일을 전송합니다. 응용 프로그램은 각 10% 전송 완료 간격에서 진행률 메시지를 내보내 파일 전송의 진행률을 추적합니다. 파일 전송에 성공하면 애플리케이션은 RPC를 Activate() 호출하여 이미지를 설치하고 대상을 다시 부팅합니다.

응용 프로그램은 채널을 설정하기 위해 모듈을 가져옵니다 grpc_channel . 이 grpc_channel 모듈은 gNOI 서비스 구성에 설명되어 있습니다. 응용 프로그램의 인수는 파일에 저장됩니다 args_os_install_activate.txt . 응용 프로그램 및 인수 파일은 다음과 같습니다.

gnoi_os_install_activate.py

args_os_install_activate.txt

참고:

Junos OS Evolved 릴리스 23.4R1 version 부터 , Install(), 및 Verify() RPC의 Activate()필드는 패키지 이름 대신 소프트웨어 버전 문자열(에 /system/state/software-version표시됨)을 사용합니다.

응용 프로그램 실행

클라이언트가 응용 프로그램을 실행하면 응용 프로그램은 로컬 장치에서 네트워크 장치의 디렉터리로 /var/tmp 패키지를 복사하고 패키지를 설치한 다음 장치를 재부팅하여 설치를 완료합니다.

변경 내역 테이블

기능 지원은 사용 중인 플랫폼 및 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.

릴리스
설명
23.4R1-에보
Junos OS Evolved 릴리스 23.4R1 version 부터 , Install(), 및 Verify() RPC의 Activate()필드는 패키지 이름 대신 소프트웨어 버전 문자열(에 /system/state/software-version표시됨)을 사용합니다.