YANG Explorer에서 YANG 모델에 익숙해지기
htps : // 기주 b. 코 m / shi s 쓰레기 v t / 얀 g 에 xp ㄉ r
주요 기능
설치
Readme 그대로이므로 간단. 내 경우에는 실험실에 남아있는 오래된 우분투에 넣으면 원활하게 들어갔다.
pip install --upgrade pip
sudo apt-get install python-virtualenv
sudo apt-get install graphviz
sudo apt-get install libxml2-dev libxslt1-dev python-dev zlib1g-dev
git clone https://github.com/CiscoDevNet/yang-explorer.git
cd yang-explorer
bash setup.sh
YangExplorer.html에 주소와 포트 번호를 추가하는 것을 잊지 않도록 (설치를 localhost 이외의 경우).
cd <install-root>/yang-explorer/server/static
vi YangExplorer.html
+ flashvars.host = '<ip-address>';
+ flashvars.port = '8088';
(참고) 내 환경.
kikuta@ubuntu1:~$ cat /etc/os-release | grep VERSION
VERSION="14.04.5 LTS, Trusty Tahr"
VERSION_ID="14.04"
start.sh를 실행하고 터미널을 올려두면 OK.
kikuta@ubuntu1:/home/kikuta/yang-explorer# ls
default-models env.sh README.md server start.sh YangExplorer
docs LICENSE requirements.txt setup.sh v
kikuta@ubuntu1:/home/kikuta/yang-explorer# ./start.sh
Activating virtualenv ..
Starting YangExplorer server ..
Use http://10.71.154.119:8088/static/YangExplorer.html
Performing system checks...
System check identified no issues (0 silenced).
March 27, 2017 - 02:21:55
Django version 1.8.3, using settings 'server.settings'
Starting development server at http://10.71.154.119:8088/
Quit the server with CONTROL-C.
브라우저에서 http://host:8088/에 액세스하면 다음이 표시됩니다.
Create device profile, 또는 Admin으로부터 접속 대상의 디바이스 정보를 등록해 두면 프로파일로부터 선택할 수 있게 된다.
YANG 모델 다운로드
설치시에는,ietf-interface 밖에 들어 있지 않기 때문에, 등록한 CSR1000V로부터 취득(파일을 로컬로부터 업로드해도 좋다). 가운데 탭에서 "Manage Models"를 선택하고 장치 탭에서 구성된 프로파일을 선택하면 다음과 같이 장치의 YANG 모듈을 확인할 수 있습니다.
단번에 하려고 하면 Fail했기 때문에, 필요분을 조금씩.
선택한 모듈에 의존하는 관련 모듈도 자동으로 보완된다. 그리고는 필요에 따라서 체크해, Subscribe 버튼을 포치. 왼쪽 창에서 YANG 모듈을 클릭 클릭 할 수 있습니다. 오른쪽 끝 창에서 각각의 의미를 확인.
참고: pyang
여기 에서 떨어진 YANG 모듈을 Pyang으로 트리 표시한 곳. 이것은 이것으로 충분히 이해하기 쉽다.
sudo pip install pyang
~ $pyang -f tree ietf-interfaces\@2014-05-08.yang
module: ietf-interfaces
+--rw interfaces
| +--rw interface* [name]
| +--rw name string
| +--rw description? string
| +--rw type identityref
| +--rw enabled? boolean
| +--rw link-up-down-trap-enable? enumeration {if-mib}?
+--ro interfaces-state
+--ro interface* [name]
+--ro name string
+--ro type identityref
+--ro admin-status enumeration {if-mib}?
+--ro oper-status enumeration
+--ro last-change? yang:date-and-time
+--ro if-index int32 {if-mib}?
+--ro phys-address? yang:phys-address
+--ro higher-layer-if* interface-state-ref
+--ro lower-layer-if* interface-state-ref
+--ro speed? yang:gauge64
+--ro statistics
+--ro discontinuity-time yang:date-and-time
+--ro in-octets? yang:counter64
+--ro in-unicast-pkts? yang:counter64
+--ro in-broadcast-pkts? yang:counter64
+--ro in-multicast-pkts? yang:counter64
+--ro in-discards? yang:counter32
+--ro in-errors? yang:counter32
+--ro in-unknown-protos? yang:counter32
+--ro out-octets? yang:counter64
+--ro out-unicast-pkts? yang:counter64
+--ro out-broadcast-pkts? yang:counter64
+--ro out-multicast-pkts? yang:counter64
+--ro out-discards? yang:counter32
+--ro out-errors? yang:counter32
로드(Read)
우선 결정의 capability 취득.
라우팅 인스턴스를 얻는 RPC 생성 ...
Run에서 가져옵니다. 중간 하단의 윈도우에 리턴이 갱신.
RPC가 아니라 Python 스크립트도 생성해주는 것 같다 (Python2.7이지만).
설정(Write)
빈 인터페이스를 설정하고 시작시켜 보자.
CSR1000VCSR-2#sh run int gi 2
Building configuration...
Current configuration : 107 bytes
!
interface GigabitEthernet2
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
end
왼쪽 창의 매개 변수를 입력하여 하단의 Config를 확인하십시오. 중간 창의 RPC 버튼을 클릭하면 다음과 같이 RPC를 생성. 그리고 Run.
RPC 리플라이는 OK가 리턴.
CSR1000V에도 설정이 이루어지고 있는지 확인.
CSR1000VCSR-2#sh run int gi 2
Building configuration...
Current configuration : 150 bytes
!
interface GigabitEthernet2
description Set-by-YangExplr
ip address 192.168.2.1 255.255.255.0
negotiation auto
no mop enabled
no mop sysid
end
YANG 모델 종속 그래프
Manage Device에서 적당히 Sync한 YANG 모듈이지만, 가운데 하단의 우단의 Graph 버튼을 클릭하면, YANG 모듈의 의존관계를 나타내는 그래프가 표시된다.
세세하게 YANG 모듈을 읽기 전에, 쭉 전체를 이해하는데 편리하다고 합니다.
Reference
이 문제에 관하여(YANG Explorer에서 YANG 모델에 익숙해지기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikuta2055/items/fc205d85bbe742e7b10b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip install --upgrade pip
sudo apt-get install python-virtualenv
sudo apt-get install graphviz
sudo apt-get install libxml2-dev libxslt1-dev python-dev zlib1g-dev
git clone https://github.com/CiscoDevNet/yang-explorer.git
cd yang-explorer
bash setup.sh
cd <install-root>/yang-explorer/server/static
vi YangExplorer.html
+ flashvars.host = '<ip-address>';
+ flashvars.port = '8088';
kikuta@ubuntu1:~$ cat /etc/os-release | grep VERSION
VERSION="14.04.5 LTS, Trusty Tahr"
VERSION_ID="14.04"
kikuta@ubuntu1:/home/kikuta/yang-explorer# ls
default-models env.sh README.md server start.sh YangExplorer
docs LICENSE requirements.txt setup.sh v
kikuta@ubuntu1:/home/kikuta/yang-explorer# ./start.sh
Activating virtualenv ..
Starting YangExplorer server ..
Use http://10.71.154.119:8088/static/YangExplorer.html
Performing system checks...
System check identified no issues (0 silenced).
March 27, 2017 - 02:21:55
Django version 1.8.3, using settings 'server.settings'
Starting development server at http://10.71.154.119:8088/
Quit the server with CONTROL-C.
설치시에는,ietf-interface 밖에 들어 있지 않기 때문에, 등록한 CSR1000V로부터 취득(파일을 로컬로부터 업로드해도 좋다). 가운데 탭에서 "Manage Models"를 선택하고 장치 탭에서 구성된 프로파일을 선택하면 다음과 같이 장치의 YANG 모듈을 확인할 수 있습니다.
단번에 하려고 하면 Fail했기 때문에, 필요분을 조금씩.
선택한 모듈에 의존하는 관련 모듈도 자동으로 보완된다. 그리고는 필요에 따라서 체크해, Subscribe 버튼을 포치. 왼쪽 창에서 YANG 모듈을 클릭 클릭 할 수 있습니다. 오른쪽 끝 창에서 각각의 의미를 확인.
참고: pyang
여기 에서 떨어진 YANG 모듈을 Pyang으로 트리 표시한 곳. 이것은 이것으로 충분히 이해하기 쉽다.
sudo pip install pyang
~ $pyang -f tree ietf-interfaces\@2014-05-08.yang
module: ietf-interfaces
+--rw interfaces
| +--rw interface* [name]
| +--rw name string
| +--rw description? string
| +--rw type identityref
| +--rw enabled? boolean
| +--rw link-up-down-trap-enable? enumeration {if-mib}?
+--ro interfaces-state
+--ro interface* [name]
+--ro name string
+--ro type identityref
+--ro admin-status enumeration {if-mib}?
+--ro oper-status enumeration
+--ro last-change? yang:date-and-time
+--ro if-index int32 {if-mib}?
+--ro phys-address? yang:phys-address
+--ro higher-layer-if* interface-state-ref
+--ro lower-layer-if* interface-state-ref
+--ro speed? yang:gauge64
+--ro statistics
+--ro discontinuity-time yang:date-and-time
+--ro in-octets? yang:counter64
+--ro in-unicast-pkts? yang:counter64
+--ro in-broadcast-pkts? yang:counter64
+--ro in-multicast-pkts? yang:counter64
+--ro in-discards? yang:counter32
+--ro in-errors? yang:counter32
+--ro in-unknown-protos? yang:counter32
+--ro out-octets? yang:counter64
+--ro out-unicast-pkts? yang:counter64
+--ro out-broadcast-pkts? yang:counter64
+--ro out-multicast-pkts? yang:counter64
+--ro out-discards? yang:counter32
+--ro out-errors? yang:counter32
로드(Read)
우선 결정의 capability 취득.
라우팅 인스턴스를 얻는 RPC 생성 ...
Run에서 가져옵니다. 중간 하단의 윈도우에 리턴이 갱신.
RPC가 아니라 Python 스크립트도 생성해주는 것 같다 (Python2.7이지만).
설정(Write)
빈 인터페이스를 설정하고 시작시켜 보자.
CSR1000VCSR-2#sh run int gi 2
Building configuration...
Current configuration : 107 bytes
!
interface GigabitEthernet2
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
end
왼쪽 창의 매개 변수를 입력하여 하단의 Config를 확인하십시오. 중간 창의 RPC 버튼을 클릭하면 다음과 같이 RPC를 생성. 그리고 Run.
RPC 리플라이는 OK가 리턴.
CSR1000V에도 설정이 이루어지고 있는지 확인.
CSR1000VCSR-2#sh run int gi 2
Building configuration...
Current configuration : 150 bytes
!
interface GigabitEthernet2
description Set-by-YangExplr
ip address 192.168.2.1 255.255.255.0
negotiation auto
no mop enabled
no mop sysid
end
YANG 모델 종속 그래프
Manage Device에서 적당히 Sync한 YANG 모듈이지만, 가운데 하단의 우단의 Graph 버튼을 클릭하면, YANG 모듈의 의존관계를 나타내는 그래프가 표시된다.
세세하게 YANG 모듈을 읽기 전에, 쭉 전체를 이해하는데 편리하다고 합니다.
Reference
이 문제에 관하여(YANG Explorer에서 YANG 모델에 익숙해지기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikuta2055/items/fc205d85bbe742e7b10b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sudo pip install pyang
~ $pyang -f tree ietf-interfaces\@2014-05-08.yang
module: ietf-interfaces
+--rw interfaces
| +--rw interface* [name]
| +--rw name string
| +--rw description? string
| +--rw type identityref
| +--rw enabled? boolean
| +--rw link-up-down-trap-enable? enumeration {if-mib}?
+--ro interfaces-state
+--ro interface* [name]
+--ro name string
+--ro type identityref
+--ro admin-status enumeration {if-mib}?
+--ro oper-status enumeration
+--ro last-change? yang:date-and-time
+--ro if-index int32 {if-mib}?
+--ro phys-address? yang:phys-address
+--ro higher-layer-if* interface-state-ref
+--ro lower-layer-if* interface-state-ref
+--ro speed? yang:gauge64
+--ro statistics
+--ro discontinuity-time yang:date-and-time
+--ro in-octets? yang:counter64
+--ro in-unicast-pkts? yang:counter64
+--ro in-broadcast-pkts? yang:counter64
+--ro in-multicast-pkts? yang:counter64
+--ro in-discards? yang:counter32
+--ro in-errors? yang:counter32
+--ro in-unknown-protos? yang:counter32
+--ro out-octets? yang:counter64
+--ro out-unicast-pkts? yang:counter64
+--ro out-broadcast-pkts? yang:counter64
+--ro out-multicast-pkts? yang:counter64
+--ro out-discards? yang:counter32
+--ro out-errors? yang:counter32
우선 결정의 capability 취득.
라우팅 인스턴스를 얻는 RPC 생성 ...
Run에서 가져옵니다. 중간 하단의 윈도우에 리턴이 갱신.
RPC가 아니라 Python 스크립트도 생성해주는 것 같다 (Python2.7이지만).
설정(Write)
빈 인터페이스를 설정하고 시작시켜 보자.
CSR1000VCSR-2#sh run int gi 2
Building configuration...
Current configuration : 107 bytes
!
interface GigabitEthernet2
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
end
왼쪽 창의 매개 변수를 입력하여 하단의 Config를 확인하십시오. 중간 창의 RPC 버튼을 클릭하면 다음과 같이 RPC를 생성. 그리고 Run.
RPC 리플라이는 OK가 리턴.
CSR1000V에도 설정이 이루어지고 있는지 확인.
CSR1000VCSR-2#sh run int gi 2
Building configuration...
Current configuration : 150 bytes
!
interface GigabitEthernet2
description Set-by-YangExplr
ip address 192.168.2.1 255.255.255.0
negotiation auto
no mop enabled
no mop sysid
end
YANG 모델 종속 그래프
Manage Device에서 적당히 Sync한 YANG 모듈이지만, 가운데 하단의 우단의 Graph 버튼을 클릭하면, YANG 모듈의 의존관계를 나타내는 그래프가 표시된다.
세세하게 YANG 모듈을 읽기 전에, 쭉 전체를 이해하는데 편리하다고 합니다.
Reference
이 문제에 관하여(YANG Explorer에서 YANG 모델에 익숙해지기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikuta2055/items/fc205d85bbe742e7b10b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
CSR-2#sh run int gi 2
Building configuration...
Current configuration : 107 bytes
!
interface GigabitEthernet2
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
end
CSR-2#sh run int gi 2
Building configuration...
Current configuration : 150 bytes
!
interface GigabitEthernet2
description Set-by-YangExplr
ip address 192.168.2.1 255.255.255.0
negotiation auto
no mop enabled
no mop sysid
end
Manage Device에서 적당히 Sync한 YANG 모듈이지만, 가운데 하단의 우단의 Graph 버튼을 클릭하면, YANG 모듈의 의존관계를 나타내는 그래프가 표시된다.
세세하게 YANG 모듈을 읽기 전에, 쭉 전체를 이해하는데 편리하다고 합니다.
Reference
이 문제에 관하여(YANG Explorer에서 YANG 모델에 익숙해지기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kikuta2055/items/fc205d85bbe742e7b10b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)