CIPではどのようにして長期サポートを実現するのか:いまさら聞けないCIP入門(中編)(4/4 ページ)
CIP(Civil Infrastructure Platform)は、Linux FoundationのOSSプロジェクトであり、その目的の1つは産業グレード機器に対して長期的なサポートを達成することです。「いまさら聞けないCIP入門」の中編では、CIPが目指す長期サポートをどのように実現しようとしているかについて説明します。
4.テスト自動化
CIPテストチームは上記のような開発や保守を支えるため、LAVA(Linaro Automated Validation Architecture)やKernelCIを使ってテストの自動化を進めています(図8)。特に、10年にわたる長期のサポート期間の間、非常に多くのマイナーリリースが予定されていますので、テスト自動化による工数削減効果は絶大になります。
図8 CIPテストチーム(クリックで拡大) 出典:Open Source Summit Europe 2018での小林良岳氏、Urs Gleim氏講演「Two Years Experience of Industrial-grade Open Source Base Layer Development and its Future」に基づき作成
CIPでは現状以下をレファレンスプラットフォームとしてオープンソースベースレイヤーの開発・保守を進めています。
- AM335x Beaglebone Black(Armv7)
- QEMU x86_64
- RZ/G1M iWave Qseven Development Kit(Armv7)
- RZ/G2M HopeRun HiHope(Armv8)
- SIMATIC IPC227E(x86-64)
- OpenBlocks IoT VX2(x86-64)
これらのボードや機器はCIPメンバー企業が自社ラボや共用ラボに用意し、インターネットで接続します。テスト環境に組み込まれたボードや機器に対して、LAVAからテストのトリガーをかけ、その結果をWeb表示します(図9)。テストは、LTP(Linux Test Project)、kselftest、Linaroテストなどを使っています。このように、物理的には分散したボードや機器は、論理的には単一のテスト環境として扱われ、テストの実行や結果を一元管理することで効率化を図っています。
チームは、Gitlab用のコンテナベースのCI(Continuous Integration:継続的インテグレーション)インフラストラクチャの作成にも取り組んでいます。その目的は、量的および動的なスケーリングを実現することです。CIインフラストラクチャにより、任意の数のCIジョブを並行して実行し、現在のワークロード状況に基づいてスケールアップあるいはスケールダウンできます。
CIインフラストラクチャは、「3.CIPコアパッケージ開発・保守」で説明したISARとDebyの両方をサポートすることで、これらのディストリビューションに対するCI環境を効率的に提供しています。ISARはCIPコアを構築するために特権コンテナで実行する必要がありますが、デフォルトのGitlab Runnerはこの機能を提供しておらず、ISARの実行ができませんでした。このため、このCIインフラストラクチャによって、CIパイプラインの特権コンテナの実行を可能とし、ISARを実行できるようにしています。
現在、AWSはインフラストラクチャプロバイダーとして使用されており、KubernetesはCI Runnerによってスケーリング要求に対応します。 Kubernetesの自動スケーリング機能により、数千の同時CIビルドを実行することも可能です。
以上、述べて参りましたように、長期サポートと一口に言っても、さまざまなプロジェクトと連携しながら、多面的な活動を行っていることがお分かりいただけたのではないでしょうか。
次回の後編(最終回)では、課題「セキュリティ」への取り組みについて、IEC 62443への対応や、ソフトウェア更新を中心とする取り組みと併せてご紹介したいと思います。
参考
Deby:https://elinux.org/images/9/96/ELCE2016_Hayashi_Deby.pdf
ISAR:http://events17.linuxfoundation.org/sites/events/files/slides/ELC-2017-isar.pdf
LAVA:https://www.lavasoftware.org/
KernelCI:https://kernelci.org/
Gitlab custom cloud CI:https://gitlab.com/cip-project/cip-testing/gitlab-cloud-ci/blob/master/README.md
筆者プロフィール
工藤 雅司(くどう まさし)
国内電機メーカーで20年以上にわたりUNIXサーバOSや組み込みOSの開発、ネットワーク製品開発を主導するとともに、OSS活動にも携わる。現在は、サイバートラストに勤務し、Linuxを中心とした組み込みソフトウェア技術活動に従事。CIPへはサイバートラスト代表として参画し活動中。
https://www.cybertrust.co.jp/
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「いまさら聞けないCIP入門」バックナンバー
- 持続可能な産業グレードのOSS基盤を実現する「CIP」とは何か
CIP(Civil Infrastructure Platform)は、Linux FoundationのOSSプロジェクトであり、その目的の1つは産業グレード機器に対して長期的なサポートを達成することです。「いまさら聞けないCIP入門」の前編では、CIPがどのような背景で発足したのか、現在どのような活動を行っているかについて説明します。 - 組み込みLinux開発入門
組み込みソフトウェアの開発は、PC用とは異なる要素や手順が必要となる。組み込み開発の全体像をおさらいし、実際にターゲットボードを用いた組み込みLinux開発の流れを詳しく解説する。 - 組み込みLinuxのメリットと弱点は何か?
携帯電話や情報家電市場の活況で、組み込み分野が面白くなっている。その中でLinuxはどのような存在なのだろうか? - 組み込みLinuxの弱点は克服されたのか?
2004年11月に、組み込みLinuxが抱える弱点を指摘した。あれから約2年。果たして弱点は克服されたのか? - 組み込みLinuxとRTOS「ThreadX」を1個のSoC上で共存「IoT化のニーズ取り込む」
サイバートラストは、「第22回 組込みシステム開発技術展(ESEC2019)」のグレープシステムブースにおいて、組み込みLinuxとリアルタイムOS(RTOS)を1個のプロセッサ上で連携動作させるデモを披露した。