Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos 디바이스에 대한 YANG 메타데이터 주석

요약 Junos 디바이스는 메타데이터 주석을 정의하는 YANG 확장을 지원합니다.

Junos 디바이스는 메타데이터가 포함된 YANG 데이터 노드의 주석 인스턴스에 대한 YANG 확장을 지원합니다. 지원되는 디바이스에서 다음 확장을 사용할 수 있습니다.

  • junos-configuration-metadata—특정 구성 작업을 수행하는 데 사용할 수 있는 주니퍼 주석.

  • openconfig-metadata—OpenConfig 작업 그룹에서 정의한 주석.

YANG 메타데이터 주석과 해당 JSON 및 XML 인코딩은 RFC 7952에서 YANG에서 메타데이터를 정의하고 사용하는 것으로 정의됩니다. 이 모듈은 ietf-yang-metadata YANG 확장을 annotation정의합니다.

참고:

YANG 메타데이터 주석은 예를 들어 구성 모드 명령을 사용하여 annotate 구성에 포함된 주석인 Junos 구성 주석과 혼동해서는 안 됩니다.

junos-configuration-metadata Module 개요

주니퍼 네트웍스 junos-configuration-metadata 모듈은 Junos 구성에서 특정 작업을 수행할 수 있도록 메타데이터 주석을 정의합니다.

주석을 junos-configuration-metadata 지원하는 장비는 NETCONF 기능 교환에서 다음과 같은 기능을 광고합니다.

표 1 은 주석을 junos-configuration-metadata 개략적으로 설명합니다. 주석은 네임스페이 http://yang.juniper.net/junos/jcmd 스 URI와 네임스페이스 접두사( jcmd namespace prefix)를 사용합니다.

표 1: junos-configuration-metdata 주석
주석 설명
active false

지정된 구성 명령문을 비활성화합니다. 명령문은 구성에 유지되지만 디바이스 작동에 영향을 미치지 않습니다.

true

지정된 구성 명령문을 활성화합니다. 이 주석을 사용하여 이전에 비활성화된 문을 활성화합니다.

comment string

지정된 구성 문에 대한 추가 정보가 포함된 주석을 추가하거나 빈 문자열로 값을 설정하여 기존 주석을 제거합니다(").

protect false

지정된 구성 명령문에서 이전에 적용 protect 된 상태를 제거하고 해당 명령문에 대한 변경을 허용합니다.

true

상태가 제거될 때까지 지정된 명령문에 대한 향후 수정을 protect 방지합니다.

구성 데이터 주석 사용 junos-configuration-metadata

YANG 호환 NETCONF 세션의 주석을 사용하여 junos-configuration-metadata 구성에서 특정 메타데이터 작업을 수행할 수 있습니다. 지원되는 작업에는 다음 섹션에서 설명한 대로 구성에 대한 설명 추가, 구성 계층 및 명령문 비활성화 또는 활성화, 구성 계층 및 명령문 보호 등이 포함됩니다.

컨테이너(명령문 계층), 리프 목록, 리프 명령문 또는 목록 항목(식별자가 있는 명령문)에 주석을 적용 junos-configuration-metadata 할 수 있습니다. 리프 목록 문에 주석을 적용할 경우 개별 리프 목록 항목이 아닌 리프-리스트 수준에서만 적용할 수 있습니다.

표 2에 설명된 대로 JSON 또는 XML 구성 데이터에서 YANG 주석을 사용할 수 있습니다. NETCONF <edit-config> 연산을 사용하여 XML 구성 데이터를 로드하고 Junos XML 프로토콜 <load-configuration> 작업을 사용하여 디바이스에서 JSON 또는 XML 구성 데이터를 로드할 수 있습니다.

표 2: 구성 메타데이터 주석 사용
인코딩 구문

JSON(메타데이터 객체)

"module-name:annotation" : "value"

"junos-configuration-metadata:comment" : "comment string"

XML(XML 속성)

xmlns:prefix=namespace-uri

prefix:annotation="value"

<element-name xmlns:jcmd="http://yang.juniper.net/junos/jcmd" jcmd:comment="comment string">

구성에 주석 추가

주석을 comment 사용하여 구성 문에 주석을 추가할 수 있습니다. 다음 섹션에서는 JSON 또는 XML 구성 데이터를 로드할 때 주석을 추가하는 방법을 개략적으로 설명합니다.

Json

JSON 구성 데이터를 로드할 때 주석을 추가하려면 해당 명령문에 대한 메타데이터 개체에 주석을 포함하고 junos-configuration-metadata:comment 주석을 문자열로 지정합니다. 주석을 제거하려면 빈 문자열("")을 포함합니다.

다음 예에서는 하나의 의견과 계층, 식별자가 필요한 목록 항목이 포함된 다른 설명, 기존 리프 명령문이 있는 세 번째 주석과 관련됩니다.

Xml

XML 구성 데이터를 로드할 때 주석을 추가하려면 해당 구성 요소의 오프닝 태그에 XML 속성으로 주석을 포함하고 jcmd:comment 주석을 문자열로 지정합니다. 주석을 제거하려면 빈 문자열("")을 포함합니다.

다음 예에서는 하나의 의견과 계층, 식별자가 필요한 목록 항목이 있는 다른 설명, 리프 명령문이 있는 세 번째 주석과 관련됩니다.

구성 명령문 활성화 또는 비활성화

주석을 active 사용하여 구성 명령문을 비활성화하거나 이전에 비활성화된 구성 문을 활성화할 수 있습니다. 명령문을 비활성화하려면 으로 설정합니다 active false. 명령문을 활성화하려면 으로 true설정합니다active.

다음 섹션에서는 JSON 및 XML 구성 데이터에서 구성 명령문을 비활성화하고 활성화하는 방법을 설명합니다.

Json

JSON에서 구성 객체를 비활성화하거나 활성화하려면 해당 명령문에 대한 메타데이터 객체에 주석을 포함합니다 "junos-configuration-metadata:active" : (false | true) .

예를 들어, 다음 RPC는 계층을 비활성화 [edit protocols isis] 하고, leaf-list 명령문을 활성화 apply-groups 하며, 지정된 이벤트 정책을 수정하여 이벤트 스크립트 작업을 비활성화하고 올리기 트랩 작업을 다시 활성화합니다.

Xml

구성 객체를 비활성화하거나 다시 활성화하려면 해당 구성 요소의 jcmd:active="false" 오프닝 태그에 XML 속성으로 각각 또는 jcmd:active="true" 주석을 포함합니다.

다음 RPC는 계층을 비활성화 [edit protocols isis] 하고, leaf-list 명령문을 활성화 apply-groups 하고, 지정된 이벤트 정책을 수정하여 이벤트 스크립트 작업을 비활성화하고 올리기 트랩 작업을 다시 활성화합니다.

구성 명령문 보호 또는 보호 해제

선택한 Junos 구성 계층 및 명령문을 보호하여 보호 속성이 제거될 때까지 해당 명령문의 변경을 방지할 수 있습니다.

다음 섹션에서는 JSON 및 XML 구성 데이터에서 구성 명령문을 보호하거나 보호하는 방법에 대해 간략하게 설명합니다.

Json

JSON에서 구성 객체를 보호하거나 보호 해제하려면 해당 명령문에 대한 메타데이터 개체에 주석을 포함합니다 "junos-configuration-metadata:protect" : (true | false) .

예를 들어, 다음 RPC는 계층 수준, apply-groups 리프 목록 명령문 및 host-name 리프 명령문을 보호 [edit protocols isis] 하며 지정된 이벤트 정책에 대한 보호 속성을 제거합니다.

Xml

구성 객체를 보호하거나 보호 해제하려면 해당 구성 요소의 jcmd:protect="true" 오프닝 태그에 XML 속성으로 각각 또는 jcmd:protect="false" 주석을 포함합니다.

다음 RPC는 계층 수준, apply-groups 리프 목록 명령문 및 host-name 리프 명령문을 보호 [edit protocols isis] 하며 지정된 이벤트 정책에 대한 보호 속성을 제거합니다.

openconfig-metadata 모듈 개요

YANG 모듈에는 openconfig-metadata OpenConfig 작업 그룹이 정의한 메타데이터 주석이 포함되어 있습니다. 이 모듈은 주석을 protobuf-metadata 정의하여 손쉬운 참조를 위해 구성 내에서 직접 구성에 대한 메타데이터를 저장할 수 있도록 지원합니다.

Junos 장치는 openconfig-metadata:protobuf-metadata 다음과 같은 제약 조건을 가진 주석을 지원합니다.

  • 단일 protobuf-metadata 주석만 구성하고 구성 계층의 루트 수준에서만 구성할 수 있습니다.

  • JSON 구성 데이터의 주석만 구성하고 볼 수 있습니다.

  • 주석은 유형 바이너리이지만 디바이스에 주석을 로드하기 전에 base64 인코딩 체계의 바이너리 값을 인코딩해야 합니다.

Junos 장치는 기본적으로 주석 구성 openconfig-metadata:protobuf-metadata 을 지원합니다. 그러나 장비가 NETCONF 기능 교환에서 기능을 방출하고 구성 데이터에 주석을 내미도록 하려면 다음과 같이 디바이스를 구성해야 합니다.

  1. NETCONF 서버가 기능 교환에서 OpenConfig 모듈과 같은 표준 YANG 모듈을 광고하도록 요구합니다.

  2. YANG 호환 NETCONF 세션을 적용하도록 디바이스를 구성합니다.

  3. (선택사항) CLI에서 주석을 포함한 OpenConfig 명령문을 보려는 경우 OpenConfig 스키마를 해제합니다.

  4. 구성을 커밋합니다.

NETCONF 기능 교환에서 표준 YANG 모듈을 광고하도록 장비를 구성한 후 주석을 지원하는 openconfig-metadata 디바이스는 메시지에 다음 기능을 hello 광고합니다.

gNMI set() 연산을 사용하여 JSON 구성 데이터의 일부로 주석을 로드 openconfig-metadata:protobuf-metadata 합니다.

구성 데이터의 메타데이터 주석 보기에 설명된 대로 JSON 구성 데이터를 요청할 때 출력은 Junos 구성 데이터 이후 주석을 포함한 OpenConfig 구성을 표시합니다. 예를 들어:

구성 데이터에서 메타데이터 주석 보기

Junos 디바이스는 YANG 호환 NETCONF 세션 내에서 Junos 구성에서 YANG 메타데이터 주석을 내보냄 NETCONF 세션을 YANG 호환으로 구성하고 또는 <get-configuration/> RPC를 사용하여 <get-config/> 구성을 검색하면 디바이스는 RFC 7952에 따라 주석을 인코딩하여 YANG로 메타데이터를 정의하고 사용합니다.

RFC 7952에 따라 인코딩된 YANG 주석을 사용하여 구성을 보려면:

  1. YANG 호환 NETCONF 세션을 적용하도록 디바이스를 구성합니다.
  2. 또는 <get-configuration> RPC를 사용하여 구성을 <get-config> 검색합니다.
    • NETCONF <get-config> 작업을 사용하여 XML 구성 데이터를 검색합니다.

    • Junos XML 프로토콜 <get-configuration> 작업을 사용하여 JSON 또는 XML 구성 데이터를 검색합니다.

    참고:

    Junos 장치는 JSON 인코딩 주석만 지원 openconfig-metadata:protobuf-metadata 합니다. 따라서 gNMI get() 작업 또는 Junos XML 프로토콜 <get-configuration format="json"> RPC를 사용하여 JSON 구성 데이터의 주석만 볼 수 있습니다.