yang user interface yangui in opendaylight
play

YANG User Interface (YANGUI) in OpenDaylight Chris Metz, - PowerPoint PPT Presentation

YANG User Interface (YANGUI) in OpenDaylight Chris Metz, chmetz@cisco.com Daniel Malachovsky, dmalacho@cisco.com Juraj Sebin, jsebin@cisco.com ODL Summit, July 29, 2015 Contents Setup & Problem Statement YANGUI


  1. YANG User Interface (YANGUI) in OpenDaylight Chris Metz, chmetz@cisco.com Daniel Malachovsky, dmalacho@cisco.com Juraj Sebin, jsebin@cisco.com ODL Summit, July 29, 2015

  2. Contents • Setup ¡& ¡Problem ¡Statement ¡ • YANGUI ¡Architecture ¡and ¡Func;ons ¡ • Observa;ons ¡ • YANGUI ¡Live ¡Demo ¡ • Summary ¡& ¡References ¡

  3. Setup (1) – Models and YANG • YANG ¡-­‑ ¡data ¡model ¡language ¡for ¡configura;on, ¡state ¡data, ¡opera;ons ¡and ¡ no;fica;ons ¡for ¡network ¡elements ¡and ¡services ¡ • Value ¡in ¡model-­‑driven ¡soKware ¡engineering ¡(i.e. ¡code ¡derived ¡from ¡ models) ¡ • Orchestra;on/Controller ¡vehicles ¡becoming ¡model-­‑driven ¡ • Evolving ¡SDN/NFV ¡apps ¡employing ¡service ¡and ¡device ¡models ¡ • Vendor ¡implementa;ons ¡ ¡ ¡ MDSE ¡= ¡Model-­‑Driven ¡So0ware ¡Engineering ¡ 3 ¡

  4. Setup (2) – YANG has become a defacto Industry Standard Source: ¡hTp://www.claise.be/2015/06/ieZ-­‑yang-­‑modules-­‑sta;s;ques/ ¡ ¡

  5. Setup (3) – Some YANG Tools for App Developers Yang ¡Plug-­‑in ¡for ¡Sublime ¡Text ¡Editor ¡ • hTps://github.com/apackeer/sublime-­‑yang-­‑syntax ¡ • • YANG ¡Model ¡documenta;on ¡and ¡valida;on ¡tools ¡wriTen ¡in ¡Python ¡ • hTps://github.com/mbj4668/pyang ¡ • Yang ¡Plug-­‑in ¡for ¡Eclipse ¡IDE ¡ • hTps://github.com/xored/yang-­‑ide/wiki/Setup-­‑and-­‑build ¡ ¡ More ¡at: ¡hTp://www.yang-­‑central.org/twiki/bin/view/Main/YangTools ¡

  6. SetUp (4) – App Developers in ODL YANG ¡Model ¡Skills ¡ HTML5/CSS/Javascript/Python/Java/etc ¡ New ¡Service ¡or ¡ App(s) ¡ Network ¡Func;on ¡ REST ¡API ¡ YANG ¡ YANG ¡ YANG ¡ ODL ¡ YANGTools ¡ Editor ¡ Model(s) ¡ Model(s) ¡ YANG ¡ ¡ network ¡ Valida;on ¡

  7. Problem Statement • Exis;ng ¡yang ¡tools ¡are ¡mostly ¡confined ¡to ¡model ¡edi;ng ¡and ¡valida;on. ¡ ODL ¡app ¡developers ¡to ¡a ¡large ¡extent ¡need ¡to ¡work ¡with ¡both ¡YANG ¡ models ¡and ¡REST ¡APIs ¡(amongst ¡other ¡programming ¡skills) ¡ • What ¡is ¡needed ¡is ¡an ¡MDSE ¡approach ¡for ¡app ¡development ¡in ¡the ¡ODL ¡ environment. ¡Requirements: ¡ • Simplify ¡model ¡valida;on ¡and ¡REST ¡API ¡exposure ¡ • Efficient ¡REST ¡API ¡organiza;on ¡and ¡access ¡ • Dynamically ¡generated ¡WEB-­‑based ¡User ¡Interface ¡ • Need ¡to ¡demys;fy ¡the ¡“connec;on” ¡between ¡YANG ¡models ¡and ¡ODL ¡ Applica;ons ¡ ¡ ¡ ¡ ¡ ¡ ¡

  8. Solution: YANGUI Application for OpenDaylight # Network#ApplicaJons# DLUX # OrchestraJons,#Services# &#Development# OpenStack# DDoS#ProtecJon # SDNI#Wrapper # VTN#Coordinator # Neutron # AAA"#AuthN#Filter # NB#APIs# OpenDaylight#APIs#(REST) # Topology# Inventory# FRM# Neutron# GBP# SDNI# # L2# VTN# ApplicaJons# NIC # ReservaJon # VPN#Service # SFC # ALTO # DIDM # Aggregator # Manager # Service # Service # Switch # MAPLE # Topology# DOCSIS# BGP # LISP# TCP" Plugin#Services# Discovery # Plugin20C # OVSDB # IoTDM # USC#Manager # LACP # Processing # AbstracJon # PCEP # MD5 # Service # Controller#plaVorm# MD"SAL#/#Yangtools # Persistence # TSDR # SB#interfaces#&# OpenFlow# PCMM/ BGP # LISP # NETCONF # SNBI # Plugin20C # SNMP # OVSDB # IoT # USC # CAPWAP # SXP # OPFLEX # protocols#plugins# # COPS # PCEP # OpenFlow#Enabled# AddiJonal#Virtual#&# Open#vSwitches # Devices # Physical#Devices #

  9. What is YANGUI? • ODL ¡DLUX-­‑based ¡Applica;on ¡designed ¡to ¡simplify ¡and ¡facilitate ¡applica;on ¡ development ¡and ¡tes;ng ¡ • Generates ¡and ¡renders ¡a ¡simple ¡UI ¡based ¡on ¡YANG ¡models ¡loaded ¡into ¡ ODL ¡ ¡ • Features ¡ • Developed ¡and ¡supported ¡in ¡DLUX ¡UI ¡framework ¡ • Karaf ¡install ¡ • Model ¡valida;on ¡ • Lists/executes ¡RESTCONF ¡APIs ¡ • Supports ¡API ¡request ¡history, ¡collec;ons, ¡paramateriza;on ¡and ¡JSON ¡display ¡

  10. RESTCONF ¡ YANGUI ODL Components MD-­‑SAL ¡'s ¡RESTful ¡interfaces ¡ • Generates ¡REST ¡URL ¡from ¡YANG ¡modules ¡ • Validates ¡data ¡against ¡schema ¡ • Translates ¡data ¡to ¡MD-­‑SAL ¡internal ¡format ¡ • (DOM) ¡ MD-­‑SAL ¡ core ¡of ¡controller ¡ • provides ¡request ¡rou;ng ¡and ¡infrastructure ¡ • to ¡support ¡service ¡adapta;on ¡ RESTCONF ¡ YANGTools ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡MD-­‑SAL ¡ YANGTools ¡ reads ¡and ¡processes ¡YANG ¡modules. ¡ • Set ¡of ¡libraries ¡MD-­‑SAL ¡uses ¡to ¡process ¡ • YANG ¡modules ¡and ¡YANG ¡modeled ¡data ¡ translates ¡YANG ¡modules ¡to ¡YIN ¡forma ¡ YANG ¡ • Model(s) ¡

  11. YANGUI App Architecture YANGUI ¡ YANGUI ¡ YANGUI ¡ Views ¡ Main ¡Module ¡ Controllers ¡ JSON-­‑UI ¡ YANGUTILS ¡ ¡ JSON-­‑API ¡ Linkage ¡ Main ¡Module ¡ Path ¡Handler ¡ YIN-­‑JSON ¡ YANG ¡RESTAngular ¡ Conversion ¡ ODL ¡

  12. How does the YANGUI App Retrieve the Models from ODL? (1) ① hTp://localhost:8181/restconf/modules ¡ ¡ ② ¡ ¡ ¡ { ¡ ¡ ¡ ¡ ¡"modules": ¡{ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡"module": ¡[ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡............. ¡ ¡ ¡ 1 2 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡{ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡"name": ¡"network-­‑topology", ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡"revision": ¡"2013-­‑10-­‑21", ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡"namespace": ¡"urn:TBD:params:xml:ns:yang:network-­‑topology" ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡}, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡.......... ¡ ODL ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡] ¡ ¡ ¡ ¡ ¡} ¡ } ¡

  13. How does the YANGUI App Retrieve the Models from ODL? (2) ③ hTp://localhost:8181/restconf/modules/module/network-­‑topology/2013-­‑10-­‑21/schema ¡ ¡ ④ <module ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡xmlns="urn:ieZ:params:xml:ns:yang:yin:1" ¡ ¡ ¡ ¡ ¡ ¡xmlns:nt="urn:TBD:params:xml:ns:yang:network-­‑topology" ¡ ¡ ¡ ¡ ¡ ¡xmlns:inet="urn:ieZ:params:xml:ns:yang:ieZ-­‑inet-­‑types" ¡name="network-­‑topology"> ¡ ¡ ¡ ¡ ¡<yang-­‑version ¡value="1"></yang-­‑version> ¡ ¡ ¡ ¡ ¡<namespace ¡uri="urn:TBD:params:xml:ns:yang:network-­‑topology"></namespace> ¡ ¡ ¡ ¡ ¡... ¡ ¡ ¡ ¡ ¡<descrip;on> ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡<text>This ¡module ¡defines ¡a ¡model ¡for ¡the ¡topology ¡of ¡a ¡network. ¡ 3 4 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Key ¡design ¡decisions ¡are ¡as ¡follows: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡A ¡topology ¡consists ¡of ¡a ¡set ¡of ¡nodes ¡and ¡links. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Links ¡are ¡point-­‑to-­‑point ¡and ¡unidirec;onal. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Bidirec;onal ¡connec;ons ¡need ¡to ¡be ¡represented ¡through ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡two ¡separate ¡links. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Mul;point ¡connec;ons, ¡broadcast ¡domains ¡etc ¡can ¡be ¡represented ¡ ODL ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡through ¡a ¡hierarchy ¡of ¡nodes, ¡then ¡connec;ng ¡nodes ¡at ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡upper ¡layers ¡of ¡the ¡hierarchy.</text> ¡ ¡ ¡ ¡ ¡</descrip;on> ¡ ¡ ¡ ¡ ¡<revision ¡date="2013-­‑10-­‑21"></revision> ¡ ¡ ¡ ¡ ¡<typedef ¡name="link-­‑id"></typedef> ¡ ¡ ¡ ¡ ¡<typedef ¡name="link-­‑ref"></typedef> ¡ ¡ ¡ ¡ ¡<typedef ¡name="node-­‑id"></typedef> ¡ ¡ ¡ ¡ ¡... ¡ </module> ¡

  14. YANGUI Flow Diagrams (1) – Prep/ Conversion

  15. YANGUI Flow Diagram (2) – Complete Processing

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend