YAMLでNW図が作成できるdrawthe.netの自動化ツールを作ってみた

YAMLで定義してNW図を作成できる drawthe.net が便利なので使ってみようと思ったのですがWebAPIが無いため毎回ブラウザ上からYAMLを入力して作図する必要がありました。
そこで、自動化できたら便利かなと思いdrawthe.netと連携するツールを作ってみました。

wrapdraw

今回作ったツールはこれです。

drawthe.netは、Javascriptで動作するので基本ブラウザからの操作が必要です。
そのため、本ツールではSelenium + chromedriver + Chromeでブラウザ操作を自動化するようにしています。
また、Flaskを使ってWebサービス化したのでAnsibleなどを使って自動的にファイルの描画及びダウンロードが出来ます。
コンテナも用意しているので、簡単に試すこともできます 🙂

使い方

今回はDockerとAnsible(2.10以上が必要)を例にします。
Dockerが起動している状態で次のコマンドでコンテナを起動します。

コンテナが起動したか確認します。

次に以下のPlaybookを作成します。
wrapdraw_ip は環境に合わせて変更してください。

NW図用のYAMLは、drawthe.netのサンプルを使用してみます。
次のYAMLを作成します。

Playbookを実行します。

sample_image.png が作成されていることを確認します。

drawtheはローカルでも動作するので、ローカルに構築したdrawtheとも連携可能です。
その場合は次の環境変数にローカルに構築したdrawtheサーバのURLを指定してください。

drawthe.netと連携してNW図の作成が自動化できました 🙂
これで、Ansibleでネットワーク器機の情報を取得して自動でNW図が作れないか夢見てます。

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください