SR
- 2014Q1 SR
2014年第一四半期におけるステータスレポートが公開されました。中からとくに興味深いものをピックアップして紹介します。
- FreeBSD Test Suite
第1四半期の今回の報告では
「FreeBSD Test Suite」 という取り組みについても説明がありました。 「FreeBSD Test Suite」 はFreeBSDで動作するユーザランドのコマンドやライブラリが適切に動作するかどうかを包括的にテストするための仕組みであり、 そのテストコードの集まりということになります。主にFreeBSDの開発者向けの機能で、 開発中に取り込んだ変更でほかのソフトウェアへ影響が出ていないかどうかを自動的にチェックする仕組みとなります。FreeBSD Test SuiteのコードはHEADまたは最新のSTABLEに取り込まれています。リリースに含まれるのは10. 1-RELEASEや11. 0-RELEASE以降ということになります。 しかし、
この機能はFreeBSDをエンタープライズユースで使う場合にも利用できる機能です。調達したハードウェアで適切にFreeBSDが動作するかどうか、 負荷試験のみならずこのテストキットを実行することで動作状況を確認できます。運用前にこうしたチェックを実施しておくと、 運用後に発生したトラブルがハードウェアによるものなのかソフトウェアによるものなのかの切り分けに役立つようになります。 FreeBSD Test Suiteを有効にするには/etc/
src. confファイルに 「WITH_ TESTS=YES」 という設定を追加してmake buildworld buildkernel && make installkernel installworldを実行する必要があります。テスト関連のコードは/usr/ testにインストールされます。 図 /usr/ tests以下にインストールされた統合試験環境 # tree /usr/
tests | head -30 /usr/ tests |-- Kyuafile |-- bin | |-- Kyuafile | |-- date | | |-- Kyuafile | | `-- legacy_ test | |-- mv | | |-- Kyuafile | | `-- legacy_ test | |-- pax | | |-- Kyuafile | | `-- legacy_ test | |-- pkill | | |-- Kyuafile | | |-- pgrep-F_ test | | |-- pgrep-LF_ test | | |-- pgrep-P_ test | | |-- pgrep-U_ test | | |-- pgrep-_g_ test | | |-- pgrep-_s_ test | | |-- pgrep-g_ test | | |-- pgrep-i_ test | | |-- pgrep-j_ test | | |-- pgrep-l_ test | | |-- pgrep-n_ test | | |-- pgrep-o_ test | | |-- pgrep-q_ test | | |-- pgrep-s_ test | | |-- pgrep-t_ test # FreeBSD Test SuiteはKyuaおよびATFで開発されていますので、
利用するには次のようにKyuaをインストールします。試験によってはPerlも使われるので、 必要な場合はPerlもインストールしておいてください。 図 Kyuaをインストール # pkg install -y kyua Updating repository catalogue The following 1 packages will be installed: Installing kyua: 20140215,1 The installation will require 372 B more space 0 B to be downloaded Checking integrity... done [1/
1] Installing kyua-20140215,1... done # /usr/
tests/に移動して 「kyua test」 と実行すると試験が実行されます。執筆現在のFreeBSD Test Suiteに登録されているテストの数は500強ほどで、 数分から数十分ほどで試験は完了します。試験にはこれまで/usr/ src/ tools/ regression/に登録されていたものも取り込まれています。今後はFreeBSD Test Suiteで包括的に試験を実施することになりそうです。 図 試験の実行 # cd /usr/
test/ # kyua test bin/ date/ legacy_ test:main -> passed [0. 242s] bin/ mv/ legacy_ test:main -> passed [0. 521s] bin/ pax/ legacy_ test:main -> skipped: Required program '/usr/ local/ bin/ perl' not found [0. 000s] bin/ pkill/ pgrep-F_ test:main -> passed [0. 395s] bin/ pkill/ pgrep-LF_ test:main -> passed [0. 703s] bin/ pkill/ pgrep-P_ test:main -> passed [0. 457s] bin/ pkill/ pgrep-U_ test:main -> passed [0. 844s] bin/ pkill/ pgrep-_g_ test:main -> passed [0. 732s] bin/ pkill/ pgrep-_s_ test:main -> passed [0. 147s] bin/ pkill/ pgrep-g_ test:main -> passed [1. 032s] …略… usr. sbin/ etcupdate/ fbsdid_ test:main -> passed [1. 085s] usr. sbin/ etcupdate/ ignore_ test:main -> passed [0. 555s] usr. sbin/ etcupdate/ preworld_ test:main -> passed [0. 508s] usr. sbin/ etcupdate/ tests_ test:main -> passed [5. 390s] usr. sbin/ etcupdate/ tzsetup_ test:main -> passed [1. 085s] usr. sbin/ newsyslog/ legacy_ test:main -> passed [42. 592s] usr. sbin/ sa/ legacy_ test:main -> passed [0. 489s] 504/ 509 passed (5 failed) Committed action 1 # 試験結果は次のようにreportサブコマンドで出力させます。
図 試験結果の報告 # kyua report ===> Skipped tests bin/
pax/ legacy_ test:main -> skipped: Required program '/usr/ local/ bin/ perl' not found [0. 000s] lib/ atf/ libatf-c++/pkg_ config_ test:build -> skipped: Required program 'pkg-config' not found in PATH [0. 000s] lib/ atf/ libatf-c++/pkg_ config_ test:version -> skipped: Required program 'pkg-config' not found in PATH [0. 000s] lib/ atf/ libatf-c/ pkg_ config_ test:build -> skipped: Required program 'pkg-config' not found in PATH [0. 000s] lib/ atf/ libatf-c/ pkg_ config_ test:version -> skipped: Required program 'pkg-config' not found in PATH [0. 000s] sbin/ growfs/ legacy_ test:main -> skipped: Required program '/usr/ local/ bin/ perl' not found [0. 000s] sbin/ ifconfig/ fibs_ test:process_ fib -> skipped: Required configuration property 'fibs' not defined [0. 000s] sbin/ mdconfig/ legacy_ test:main -> skipped: Required program '/usr/ local/ bin/ perl' not found [0. 000s] sys/ kern/ kern_ descrip_ test:kern_ maxfiles__ increase -> skipped: Required configuration property 'allow_ sysctl_ side_ effects' not defined [0. 000s] sys/ netinet/ fibs_ test:arpresolve_ checks_ interface_ fib -> skipped: Required configuration property 'fibs' not defined [0. 000s] sys/ netinet/ fibs_ test:default_ route_ with_ multiple_ fibs_ on_ same_ subnet -> skipped: Required configuration property 'fibs' not defined [0. 000s] sys/ netinet/ fibs_ test:loopback_ and_ network_ routes_ on_ nondefault_ fib -> skipped: Required configuration property 'fibs' not defined [0. 000s] sys/ netinet/ fibs_ test:src_ addr_ selection_ by_ subnet -> skipped: Required configuration property 'fibs' not defined [0. 000s] sys/ netinet/ fibs_ test:subnet_ route_ with_ multiple_ fibs_ on_ same_ subnet -> skipped: Required configuration property 'fibs' not defined [0. 000s] ===> Failed tests bin/ pkill/ pgrep-j_ test:main -> failed: 3 tests of 3 failed [6. 632s] bin/ pkill/ pkill-j_ test:main -> failed: 1 tests of 3 failed [7. 437s] lib/ atf/ libatf-c/ macros_ test:use -> failed: Build of macros_ h_test. c failed; some macros in atf-c/ macros. h are broken [1. 016s] usr. bin/ sed/ multi_ test:main -> failed: 1 tests of 129 failed [1. 392s] usr. bin/ yacc/ legacy_ test:main -> failed: 15 tests of 15 failed [1. 368s] ===> Summary Action: 1 Test cases: 509 total, 14 skipped, 0 expected failures, 0 broken, 5 failed Total time: 202. 259s # pkg-config pkg-config: not found # report-htmlサブコマンドを使うとHTMLとして試験結果を出力させることもできます。
図 試験結果の報告 (HTML) # kyua report-html --output out Generating out/
context. html Generating out/ bin_ pax_ legacy_ test_ main. html Generating out/ bin_ pkill_ pgrep-j_ test_ main. html Generating out/ bin_ pkill_ pkill-j_ test_ main. html Generating out/ lib_ atf_ libatf-c++_pkg_ config_ test_ build. html Generating out/ lib_ atf_ libatf-c++_pkg_ config_ test_ version. html Generating out/ lib_ atf_ libatf-c_ macros_ test_ use. html Generating out/ lib_ atf_ libatf-c_ pkg_ config_ test_ build. html Generating out/ lib_ atf_ libatf-c_ pkg_ config_ test_ version. html Generating out/ sbin_ growfs_ legacy_ test_ main. html Generating out/ sbin_ ifconfig_ fibs_ test_ process_ fib. html Generating out/ sbin_ mdconfig_ legacy_ test_ main. html Generating out/ sys_ kern_ kern_ descrip_ test_ kern_ maxfiles__ increase. html Generating out/ sys_ netinet_ fibs_ test_ arpresolve_ checks_ interface_ fib. html Generating out/ sys_ netinet_ fibs_ test_ default_ route_ with_ multiple_ fibs_ on_ same_ subnet. html Generating out/ sys_ netinet_ fibs_ test_ loopback_ and_ network_ routes_ on_ nondefault_ fib. html Generating out/ sys_ netinet_ fibs_ test_ src_ addr_ selection_ by_ subnet. html Generating out/ sys_ netinet_ fibs_ test_ subnet_ route_ with_ multiple_ fibs_ on_ same_ subnet. html Generating out/ usr. bin_ sed_ multi_ test_ main. html Generating out/ usr. bin_ yacc_ legacy_ test_ main. html Generating out/ report. css Generating out/ index. html # 図 試験結果報告 HTMLの例その1 図 試験結果報告 HTMLの例その2 Jenkinsによる継続的自動ビルドシステムの構築、
FreeBSD Test Suiteによる継続的自動試験システムの構築、 libvirt対応によるクラウド管理ソフトウェアとの連携、 オペレーティングシステム管理ソフトウェアとの連動など、 ここ最近のFreeBSDプロジェクトの取り組みはよりエンタープライズレベルでの用途向けの開発が活発です。この傾向は今後も継続するものとみられます。
告知
- 技評×オングス FreeBSD 10新機能紹介と変更点説明
2014年5月22日に技術評論社本社ビル5F会議室において
「技評×オングス FreeBSD 10新機能紹介と変更点説明 ~新世代のFreeBSDについて知ろう~」 を開催します。参加申し込みはこちらからどうぞ。 先日、
次世代メジャーアップグレードバージョン 「FreeBSD 10. 0-RELEASE」 が登場しました。10. 0-RELEASEではいくつ大きな変更があるほか、 これまで望まれてきたさまざまな機能が追加されています。10で導入される新機能や大きな変更点などを取り上げ、 新しい機能をどのように扱ったらよいのか、 変更に関してどのように対処すればよいのかを詳しく解説します。Linuxを扱っている方にもぜひご参加いただきたい発表会です。 - 次世代パッケージ管理システムpkg(8)
- 次世代ハイパーバイザ/仮想環境基盤 BHyVe
- BINDをベースシステムから廃止/
UnboundとLDNSの導入と活用方法 - GCCをベースシステムから廃止/
LLVM Clangの導入 - Amazon EC2デフォルト対応/
Microsoft Hyper-Vデフォルト対応 - ZFS機能強化
(LZ4とその効果、 L2ARC圧縮による性能向上、 NOP Write最適化、 SSD対応、 今後の開発方針など) - オンラインでファイルシステムを拡張できるUFS growfs(8)
- 新しいカーネルレベルiSCSIターゲット/イニシエータ
- ファイアウォールpf(4)マルチコア対応
- ファイアウォールipfw(8)機能強化マルチコア/メニーコアで性能向上 Unmapped VMIOバッファ
- 高速ネットワーク通信機能NetMap
開催日時 2014年5月22日 (木) 19:00~21:30 (18:30開場) 場所 技術評論社 本社5F会議室 (東京都新宿区市谷左内町21-13) 参加申込 http:// atnd. org/ events/ 49883 - 第29回 FreeBSD勉強会
2014年6月2日(月)に東京、
KDDIウェブコミュニケーションズさまの会議室において 「第29回 FreeBSD勉強会 シェルとコマンド~実践的企業システム開発手法」 を開催します。参加申し込みはこちらからどうぞ。 近年、
企業の基幹システム (売上管理システム、 商品マスタ管理システム、 販売管理システム、 在庫管理システム、 勘定系システム、 MDシステム、 勤怠管理システム、 給与系システム、 データ分析システム、 ログ分析システムなど) の開発手法として超高速開発手法と呼ばれる開発手法が注目されつつあります。 現在の企業活動に求められるシステムの開発時間はますます短くなっており、
従来のウォーターフォール型の開発では経営の要求に応えることが難しくなりつつあります。高性能なシステムを短期間に開発できる開発手法の需要が高まってます。 本勉強会ではFreeBSDを企業システムのベースに採用し、
シェルとコマンドを組み合わせて企業システムを開発する手法を紹介します。この手法は企業システムの開発速度がきわめて高速で、 開発される成果物も高性能という特徴があります。こうした開発手法の草分け的存在がユニバーサル - シェル
- プログラミング研究所が開発しているユニケージ開発手法です。オングスではトリプル
- ティー開発手法と呼ばれるシェルとコマンドをベースとした開発手法を活用して企業システムを開発しています。
本勉強会ではこうした企業システム開発の実践経験などをベースに、
どのような発想で企業システムを開発するのか、 シェルとコマンドをベースとしたシステム開発とはいったいどのようなものなのか、 コマンドとしてはどういったものが活用できるのか、 などを紹介します。 開催日時 2014年6月2日 (月) 19:00~21:30 (18:30開場) 場所 KDDIウェブコミュニケーションズ会議室 / 東京都千代田区麹町三丁目6番地 住友不動産麹町ビル3号館 参加申込 http:// atnd. org/ events/ 49885 発表のあとはその場で簡単な懇親会を開きます。軽いつまみとアルコール類は用意しますが、
お好きなお酒の持ち込みも大歓迎です。