Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Pyang

    Pyang là gì? Công cụ không thể thiếu khi làm việc với YANG, NETCONF và OpenConfig


    Trong thế giới Network Automation và Model-Driven Programmability, việc đọc trực tiếp các file YANG thường không hề dễ dàng. Một module YANG có thể chứa hàng trăm hoặc hàng nghìn dòng định nghĩa dữ liệu. Đây là lúc Pyang trở thành công cụ cực kỳ hữu ích.

    Pyang là một trình phân tích và kiểm tra (validator) dành cho các mô hình YANG, hỗ trợ các chuẩn RFC 6020 và RFC 7950. Ngoài việc xác thực cú pháp, Pyang còn có khả năng chuyển đổi YANG sang nhiều định dạng khác nhau thông qua hệ thống plugin mở rộng.

    Trang chủ:
    https://pypi.org/project/pyang/
    Vai trò của Pyang


    Khi tải một file YANG từ Cisco, Juniper, Arista hoặc OpenConfig, chúng ta thường cần:
    • Kiểm tra file YANG có hợp lệ hay không
    • Phân tích cấu trúc dữ liệu bên trong
    • Xem các container, list, leaf và kiểu dữ liệu
    • Sinh tài liệu từ YANG
    • Hiểu được dữ liệu NETCONF hoặc RESTCONF cần gửi

    Pyang giúp thực hiện tất cả các công việc trên.
    Ví dụ trên hình


    Lệnh:
    pyang -f tree openconfig-interfaces.yang

    Tham số:
    -f tree

    yêu cầu Pyang hiển thị mô hình dưới dạng cây (tree view).

    Kết quả cho thấy cấu trúc của module:
    module: openconfig-interfaces

    +--rw interfaces
    +--rw interface* [name]
    +--rw config
    +--ro state

    Trong đó:
    • rw = read-write (có thể cấu hình)
    • ro = read-only (chỉ đọc)
    • interface* [name] = danh sách interface, khóa là trường name

    Phân tích cấu trúc Interface


    Phần cấu hình:
    +--rw config
    +--rw name
    +--rw type
    +--rw mtu
    +--rw enabled

    Cho biết người quản trị có thể cấu hình:
    • Tên interface
    • Loại interface
    • MTU
    • Trạng thái enable/disable
    • Description

    Ví dụ RESTCONF:
    {
    "openconfig-interfaces:config": {
    "name": "GigabitEthernet1",
    "enabled": true,
    "mtu": 1500
    }
    }
    Phần State

    +--ro state
    +--ro ifindex
    +--ro admin-status

    Đây là các thông tin vận hành do thiết bị cung cấp.

    Ví dụ:
    • Interface Index
    • Trạng thái quản trị
    • MTU thực tế
    • Trạng thái hoạt động

    Các trường này chỉ có thể đọc, không thể cấu hình.
    Cài đặt Pyang


    Linux:
    pip install pyang

    Kiểm tra:
    pyang --version
    Một số định dạng xuất hữu ích


    Hiển thị dạng cây:
    pyang -f tree module.yang

    Sinh UML:
    pyang -f uml module.yang

    Sinh tài liệu dạng HTML:
    pyang -f jstree module.yang

    Kiểm tra lỗi cú pháp:
    pyang module.yang
    Tại sao DevNet Engineer cần biết Pyang?


    Khi làm việc với:
    • NETCONF
    • RESTCONF
    • OpenConfig
    • Cisco IOS-XE
    • Cisco NX-OS
    • Cisco NSO
    • Yang Suite

    thì việc đọc hiểu YANG là kỹ năng bắt buộc.

    Pyang giống như lệnh show run dành cho thế giới YANG. Thay vì phải đọc hàng nghìn dòng định nghĩa, bạn có thể nhanh chóng hình dung toàn bộ cấu trúc dữ liệu của thiết bị chỉ bằng một lệnh.

    Đối với các kỹ sư Network Automation, DevNet và Infrastructure Automation, Pyang là một trong những công cụ cơ bản nhất cần có trong bộ công cụ làm việc hằng ngày.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X