Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Commit Check Offline

Commit Check Offline

JANOG36 発表資料です。

実機にログインすることなく、commit checkできるJUNOS向けツールの紹介です。netconf用のxsdに文法が細かに定義されているので、そこからPEGパーサーを自動生成してみました。好きなところでcommit checkできるため、手順書の文法ミスを減らすことができます。

また、show configuration display set形式の自動変換にも対応予定です。手順書レビューはshow configuration形式で、設定投入はdisplay set形式で行えます。GitHubなどのフックを利用すれば、commit checkと変換を自動で行うことができます。

A31d1c25ddaa3692377a488f0b64ef2b?s=128

Shintaro Kojima

July 16, 2015
Tweet

More Decks by Shintaro Kojima

Other Decks in Technology

Transcript

  1. commit check offline +"/0( 4IJOUBSP,PKJNB!DPEFPVU

  2. খౡ৻ଠ࿠ ίʔμϯε ! " codeout http://about.me/codeout

  3. Έͳ͞Μɺ खॱॻ ͖͢Ͱ͔͢ʁ

  4. ϜΧ͍ͭͯ΋ ΍Βͳ͍ͱ͍͚ͳ͍ͷͰɺ ͭΒ͍

  5. ͜Μͳ͜ͱ ͳ͍Ͱ͔͢

  6. CB[Λ଍͍ͨ͠ protocols { bgp { group ebgp-peers { type external;

    import [ foo bar ]; peer-as 65000; neighbor 192.0.2.2 } } }
  7. खॱॻ͖·͢ set protocols bgp group ebgp-peers improt baz

  8. ͋ͬ set protocols bgp group ebgp-peers improt baz

  9. # あっ、すみません   タイポです ⼿手順書なおします なおしました   確認おねがいします 確認しました ありがとうございます

    # # # #
  10. ΊΜͲ͍͘͞

  11. DPNNJU DIFDL ͢Ε͹͍͍ͷͰ͸

  12. ΄͔ͷਓʹDPNNJU
 ͞ΕͨΒࠔΔ͠ʜ πʔϧ͕ಈ͍ͯͯɺ DPOpHVSFFYDMVTJWF Ͱ͖ͳ͍͠ʜ

  13. ࣮ػʹೖΒͣɺ DPNNJUDIFDL Ͱ͖Δͱ ͍͍ͷͰ͸

  14. ͦ͜ͰKVOPTFSͰ͢Α https://github.com/ codeout/junoser +6/04༻1&(ύʔαʔ

  15. 1&(ύʔαʔ http://kschiess.github.io/parslet/get-started.html puts(1 + 2 + 3, 45)

  16. 1&(ύʔαʔ +6/04ͷ"45 ந৅ߏจ໦ Λ࡞Ε͹ɺ࣮ػ͡Όͳͯ͘΋ จ๏νΣοΫͰ͖Δʂʂ

  17. จ๏͸ Ͳ͔͜Β

  18. OFUDPOGͷYTE OFUDPOGͰ͔ͭ͏ 9.-ͷจ๏Λ ఆٛͨ͠σʔλ

  19. ΍ͬͯΈͨΒͰ͖ͨ $ echo "set protocols bgp group ebgp-peers improt baz"

    | junoser -c Invalid syntax: set protocols bgp group ebgp-peers improt baz
  20. DPEFPVUKVOPTFS w +6/04༻1&(ύʔαʔ w ࣮ػφγͰDPNNJUDIFDLͰ͖Δ w ߏ଄ԽίϯϑΟά TIPX DPOpHVSBUJPO ͱҰߦίϯϑΟά

    c EJTQMBZTFU ͷ૬ޓม׵ https://github.com/codeout/junoser
  21. ར༻ྫ

  22. $*Λճ͢

  23. *TTVFʹ௥ه͢Δ

  24. จ๏·͕͍ͪʹΑΔ ख໭ΓΛͳͤ͘Δ จ๏͸ࣗಈνΣοΫ ˠηϚϯςΟΫε ͚ͩϨϏϡʔ͢Ε͹Α͍

  25. DPEFPVUKVOPTFS https://github.com/codeout/junoser w ࢖ͬͯΈ͍ͯͩ͘͞ʂ w ϑΟʔυόοΫ͋Δͱ͏Ε͍͠Ͱ͢ w ෆ۩߹Ϩϙʔτ͸*TTVFʹ͓ئ͍
 ͠·͢