Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos PyEZ를 사용하여 구성 커밋

Junos PyEZ를 사용하면 Junos 디바이스에서 구조화되고 비구조화된 구성을 변경할 수 있습니다. 디바이스에 연결하고 구성을 수정한 후에는 구성을 활성으로 만들기 위해 구성을 커밋해야 합니다. 이 주제는 구성을 커밋하는 방법과 Junos PyEZ 애플리케이션에서 지원되는 커밋 옵션에 대해 설명합니다.

지원자 구성을 커밋하는 방법

Junos PyEZ jnpr.junos.utils.config.Config 유틸리티를 사용하여 디바이스에서 비구조화된 구성을 변경할 때 인스턴스 commit() 방법을 호출하여 후보 구성을 커밋합니다Config. 예를 들어:

컨피규레이션을 커밋하지 않고 구문을 확인하려면 메소드 대신 commit() 메소드를 호출 commit_check() 합니다.

Junos PyEZ 구성 테이블 및 뷰를 사용하여 장비에서 구조화된 구성을 변경할 때, 후보 컨피규레이션을 커밋합니다. 이 메소드 중 하나를 set() 호출하여 자동으로 , commit() load()unlock() 메소드를 호출lock()하거나, 다양한 메소드를 개별적으로 호출합니다. 예를 들어:

마찬가지로 다음과 같은 예에서와 같이 개별 메소드를 호출할 수 있습니다.

참고:

컨텍스트 관리자를 사용하여 또는 테이블 객체를 Config 생성하고 인수를 로 batchexclusivedynamic설정 mode 하거나ephemeral, 디바이스를 구성하기 private위한 호출 및 commit() 방법만을 지정 load() 하는 경우 컨텍스트 관리자는 데이터베이스를 열고 잠그고 닫고 잠금 해제하는 것을 처리하므로 이러한 모드 중 하나에서 , unlock()또는 set() 메소드로 호출lock()하면 LockError 예외가 발생합니다.

커밋 옵션을 지정하는 방법

Junos CLI는 커밋 주석을 추가하거나 여러 라우팅 엔진에 구성을 동기화하는 등 커밋 작업에 대한 옵션을 제공합니다. Junos PyEZ는 이와 동일한 커밋 옵션과 몇 가지 추가 옵션을 지원합니다. 이 옵션은 적절한 인수를 또는 set() 방법 인수 목록에 포함시켜 Junos PyEZ 애플리케이션에서 commit() 사용할 수 있습니다. 표 1은 지원되는 커밋 옵션을 개략적으로 설명하고 해당 CLI 명령을 제공합니다.

표 1: Junos PyEZ 지원 커밋 옵션

커밋 옵션 인수

설명

CLI 명령

comment="comment"

시스템 로그 파일과 디바이스의 커밋 기록에서 해당 커밋 작업에 대한 주석을 기록합니다.

commit comment "comment"

confirm=(True | minutes)

최초 커밋 이후 지정된 시간 내에 커밋 작업을 확인해야 합니다. 그렇지 않으면 이전에 커밋된 구성으로 롤백합니다.

10분의 기본 시간을 사용하도록 인수 True 를 설정합니다.

commit confirmed <minutes>

detail=True

커밋 프로세스에 대한 자세한 정보가 포함된 XML 객체를 반환합니다.

commit | display detail | display xml

force_sync=True

다른 라우팅 엔진에 열린 구성 세션이나 커밋되지 않은 구성 변경이 있는 경우에도 두 라우팅 엔진 모두에서 구성을 동기화하고 커밋합니다.

commit synchronize force

ignore_warning=True

ignore_warning="string"

ignore_warning=["string1", "string2"]

커밋 작업 중에 발생하는 경고는 무시합니다.

모든 경고를 무시하도록 True 인수를 설정하거나 무시할 경고를 지정하는 문자열 또는 문자열 목록에 인수를 설정합니다.

sync=True

두 라우팅 엔진 모두에서 구성을 동기화하고 커밋합니다.

commit synchronize

timeout=seconds

지정된 값을 타임아웃으로 사용하여 작업이 완료될 때까지 기다린다.

커밋 의견

구성을 커밋할 때는 커밋된 변경의 목적을 설명하는 간단한 설명을 포함할 수 있습니다. 변경 사항을 설명하는 주석을 기록하려면 적절히 매개 변수와 메시지 문자열을 commit() 또는 set() 방법 인수 목록에 포함 comment 하십시오. 예를 들어:

인수를 comment 포함하는 것은 CLI에서 구성 모드 명령을 발행하는 것과 commit comment 같습니다. 설명은 시스템 로그 파일에 기록되며 CLI에서 명령을 발행하여 show system commit 볼 수 있는 장비의 커밋 히스토리에 포함됩니다.

커밋 확인

초기 커밋 이후 지정된 시간 내에 커밋 작업을 확인하도록 요구하려면, 인수를 commit() 적절하게 또는 set() 방법 인수 목록에 포함 confirm=minutes

지정된 시간 제한 내에서 커밋이 확인되지 않으면 장비는 이전에 커밋된 구성으로 자동 롤백하고 로그인한 모든 사용자에게 브로드캐스트 메시지를 보냅니다. 허용 범위는 1~65,535분입니다. 또한 10분의 기본 롤백 시간을 사용하도록 지정할 confirm=True 수도 있습니다. 커밋 작업을 확인하려면 해당 또는 commit_check() 메소드 commit() 중 하나를 호출합니다.

확인된 커밋 작업은 구성 변경이 올바르게 작동하고 장치에 대한 관리 액세스를 차단하지 않는지 확인하는 데 유용합니다. 변경으로 인해 액세스가 차단되거나 다른 오류가 발생하는 경우 이전 구성으로 자동 롤백하면 롤백 기한이 경과한 후에 장비에 액세스할 수 있습니다. 장치에 대한 연결이 끊어지면 연결을 복원하기 위해 Junos PyEZ open() 메소드를 발급해야 합니다.

세부 사항 커밋

인수 commit() 또는 set() 방법 인수 목록에 포함 detail=True 함으로써 전체 커밋 작업의 세부 사항을 검토할 수 있습니다. 이 인수를 포함하면 메소드는 커밋 프로세스에 대한 자세한 정보가 포함된 XML 객체를 반환합니다. 반환 값은 CLI에서 명령의 출력에 있는 요소가 동봉 <commit-results> 한 내용과 commit | display detail | display xml 같습니다.

동기화 커밋

디바이스에 듀얼 라우팅 엔진이 있는 경우 인수 또는 set() 방법 인수 목록에 포함 sync=True 함으로써 두 Routing Engines에서 구성을 동기화하고 커밋할 commit() 수 있습니다.

인수를 sync=True 포함하면 디바이스는 로컬 라우팅 엔진에 저장된 후보 구성을 다른 라우팅 엔진으로 복사하고 응시자의 구문적 정확성을 검증한 다음 두 Routing Engines에서 커밋합니다. commit synchronize 다른 Routing Engine에 열린 구성 세션이나 커밋되지 않은 구성 변경이 있더라도 운영이 성공하도록 하려면 이 인수를 사용하여 force_sync=True 구성을 동기화하고 커밋하기 전에 장비가 다른 Routing Engine의 구성 세션을 종료합니다.

커밋 및 커밋 체크 타임아웃

RPC가 타임아웃하는 기본 시간은 30초입니다. 큰 구성 변경이 이 값을 초과하면 구성이 업로드, 확인 및 커밋되기 전에 커밋 또는 커밋 확인 작업이 타임 아웃될 수 있습니다. 기본 타임아웃 간격보다 긴 커밋 확인 또는 커밋 시간이 필요할 수 있는 구성 변경을 수용하려면 , commit() 또는 set() 방법 인수 목록에 인수commit_check()를 포함 timeout=seconds 시키고 타임아웃 간격을 적절한 값으로 설정합니다. 예를 들어:

무시 경고

Junos PyEZ는 RpcError RPC 응답에 경고의 심각도가 높은 요소를 포함하는 경우 예외를 발생시킵 <rpc-error> 니다. 경고에 따라 발생하는 예외를 억제하는 RpcError 것이 필요하거나 바람직한 경우 이 방법의 ignore_warning 매개변수를 포함할 commit() 수 있습니다. 예를 들어:

이 매개 변수를 사용하는 ignore_warning 것에 대한 자세한 내용은 Junos PyEZ 애플리케이션에서 경고를 위해 제기된 RpcError 억제 예외를 참조하십시오.