JANOG48ミーティング 企画編成委員の秋山です。

みなさまお待たせしました!プログラム紹介第1弾は、Day2(2021年7月15日木曜日)の15:00からソピアホールにて行われる「IoT-Gatewayプロビジョニングシステムの裏側」の発表者である渡部 友也さん、栂崎 彩花さんにお話を伺いました。

渡部 友也さん
渡部 友也さん
栂崎 彩花さん

●プログラムに応募したきっかけを教えてください

渡部:これまでのJANOGでは、話を聞く側ばかりでした。JANOGの中でもいろいろな自動化の話があったのですが、自動化システム作ってきたのでそろそろ発表してみてもいいと思い応募しました。

栂崎:私もJANOGに参加したときに自動化の話を聞いていました。今回、開発した自動化のシステムについて話してみたらと誘われ、思い切って参加しました。話すことは苦手ですが、発表を頑張りたいと思います。また、他の人といろいろ議論できればいいなと思っています。

●今回はIoT-GWの自動化とのことですが、簡単にどういうものか教えてください

渡部:IoT-GWということで、ネットワークにはSIMを搭載したルータを使っています。
こちらから設定済みの機器を顧客に送付し、顧客が電源を投入すればセンサーからのデータをクラウドにアップロードできるようにする自動化システムを開発しました。

渡部:このルータはコンテナが動作するので、ルータのOSインストール=>アドレスの設定=>コンテナのデプロイまでを自動化しました。

栂崎:私がメインの開発をやっていて、渡部さん達に設計等のアドバイスしてもらいました。ただ、Robot Freamworkを使っているのですが、その部分については別の人がやっています。

渡部:OSのインストールやデプロイは出荷検査場で行っています。
渡部:以前はTeraTermマクロでやっていて、ボタンを押さないと先に進まない・作業結果は手で転記するなど検査員の人がやらないと先に進みませんでした。ミスもあるし、インストールの結果確認も検査員の目視が必要でした。今回の仕組みはRobot Frameworkの標準の機能になるのですが、成功失敗のAssertionを自動で行うことと、実行Reportをhtmlレポートとして生成するようにしています。目視判定がなくなったことと、実行結果の可読性がTeratermマクロのよりかは格段上がっているかと思います。

●今回の自動化システムで苦労したことはありますか?

渡部:ルータのOSをインストールするのにUSBメモリを使っているのですが、使用するUSBメモリによっては失敗することがありました。原因は不明なのですが、USBメモリを別のものにするとうまくいったり・・・。

渡部:設定のデプロイはシリアル接続で行うので、自動化するのに何百回も試験をしてパラメータのチューニングを行いました。

栂崎:シリアルコンソールにインターフェイスのUP/DOWNログが出力されるとデプロイに失敗したり、複数台にデプロイすると失敗したり・・・。デプロイタイミングをずらしたり、応答時間を調整することによって解決しました。

レガシー寄りの自動化ですねー(笑)。


●発表で特に聞いてほしいこと・議論したいこと

渡部:今回のシステムは装置側の制限によって、いろいろと作りこみが必要でした。NETCONFとか使える装置を使っていたら、また違っていたと思います。

渡部:作っていて一番苦労したのはデプロイの部分なのですが、オーケストレータのDeployの部分はk8s化したものの色々と苦労がありました。CIは回しているのですが、自動デプロイについては稼働できていません。継続的な自動デプロイって、みなさんどうやってやっていますか?


●最後に一言お願いします。

渡部:まさかJANOGに出る側になるとは思っていませんでした。楽しみます!

栂崎:緊張しますが、頑張って発表させていただきます!

インタビューにご協力いただきありがとうございました。

ネットワークを使ったネットワーク機器のプロビジョニングシステムは過去のJANOGでも紹介がありましたが、今回はネットワーク経由のRESTやPnPに加えてUSB経由のシリアルポートを使ってのプロビジョニングとマルチレイヤーに渡ったプロビジョニングということで、これまでにあまり聞いたことのない興味深い内容になっています。ぜひ多くの方に聞いていただき、議論を進めていただければと思います。