STP は、各種のマシン上で動作する多数のコンポーネントから構成されます。これらのコンポーネントは 3 つの概念上のユニットにグループ分けできます。すなわち、ウェブサーバ、データベースサーバ、およびバックエンドの 3 つです。さらに、任意の数のテストマシンがあり、システムはそのマシン上でテストを行います。
STP のインストールは、RedHat Linux 7.1 においてテスト済みであり、その他の Linux ベースのディストリビューションでも動作します。
MySQL がデータベースサーバ上に、Apache がウェブサーバ上にインストールされている必要があります。RedHat 7.1 に同梱されているバージョンはテスト済みです。
ウェブインターフェースとバックエンドには、次の Perl モジュールが必要です。
SOAP::Lite
DBI
DBD::mysql
IO::File
POSIX
Digest::MD5
File::Copy
File::Spec
File::stat
CGI # バックエンドサーバについてはオプション
ウェブインターフェースをカスタマイズするには、次のものも必要です。
EtText (オプション)
Template Toolkit (オプション)
Pod::Html (オプション)
man2html (オプション)
tgen (オプション)
STP スクリプト、ライブラリ、および man ページを標準の領域にインストールするには、次の一連のコマンドを実行します。
perl Makefile.PL
make
make test
make install # このステップは superuser として実行する必要がある
プライベート領域にインストールする場合は、次のコマンドを実行します。
perl Makefile.PL PREFIX=/home/joeuser \
INSTALLMAN1DIR=/home/joeuser/man/man1 \
INSTALLMAN3DIR=/home/joeuser/man/man3
make
make test
make install # このステップは joeuser として実行可能
ここでは「make test」は特別な意味を持ちません。
STP をはじめてインストールするときには、データベースも作成する必要があります。データベーステーブル作成のためのスクリプトは /sql/ サブディレクトリにあります。
これらの SQL スクリプトを使用して「EIDETIC」と呼ばれる新規データベースを作成します。データベース作成を自動化するシェルスクリプト create_tables.sh が /sql/ ディレクトリにあります。
さらに、このデータベースに対する読み取りと書き込みのアクセス権をユーザに与える必要もあります。ウェブインターフェースではユーザ「mysql」を、バックエンドでは「robot」を使用します。
バックエンドは config.xml ファイルを使用して構成します。このファイルは /usr/share/stp/etc/config.xml にインストールされます。
src/stp_setup.pl プログラムを使用して構成ファイルを生成できます。また、etc/ ディレクトリにあるサンプルファイル config.xml を使用することもできます。
ベースインストールパス (デフォルト []) - STP 共用ファイルのインストール先を指定します。
STP 電子メールアドレス (デフォルト []) - STP の管理者が STP の動作についての電子メールを受け取ります。
データベース DSN (デフォルト []) - 現在のデータベース接続は Perl:DBI を使用します。
- 標準の DSN 構文を使用してデータベースを指定します。
(例: DBI:mysql:stp2:myhost.com)
データベースユーザ名 / パスワード - (デフォルト [])
ホストの電源オフに使用するプログラム - (デフォルト []) - STP は、クライアントの再イメージングを開始するためにテスト中のシステム (クライアントシステム) の電源を切り替えます。この特定の機能は、セットアップによって異なります。OSDL では、「power」と呼ばれるスクリプトによって駆動される、リモートパワーコントローラを使用しています。このスクリプトは、さまざまなパワーコントローラと対話して、システムの電源を切り替えます。多くの最新システムは、パワーコントローラ(IBM の ASMA カードなど)を内蔵しています。パワーコントロールスクリプトがない場合は空白のままにすると、STP の管理者に再イメージングのプロセスの開始を求める電子メールが送信されます。
再イメージング方式 - ホストの再イメージングに使用するプログラム (デフォルト []) これは、OSDL セットアップが備えている便利な機能の一つです。STP テストを実行する前に、クライアントマシンは OS の完全インストールを実行し、すべてのテストが既知の良好な OS イメージで開始できるようにします。OSDL ラボでは、PXE ブートソフトウェアと RedHat のキックスタートルーチンを使用して、このインストールを行います。このためのドライバスクリプトは、reimage-ks です (STP キットには同梱されていません)。小規模な STP のセットアップでは、この再イメージングを手動で行うことができます。このフィールドと「パワーコントロール」フィールドは空白のままで STP 管理者に電子メールが送信されます。
Ping ユーティリティ (デフォルト [/bin/ping]) - クライアントシステムが稼動しているかどうか、またビルドあるいはテストのエラーを検出するために、Ping メソッドを使用します。デフォルトは Unix 標準の「ping」です。
SOAP URI (デフォルト) - データベース接続方式のユニバーサルリソースインジケータ(URI)。これは stp_server.pl スクリプトの中で定義されます。
SOAP プロキシ (デフォルト []) -
ウェブスクリプトインターフェースとデータベースのリンクを完成する場所。
ウェブパス (テストダウンロード用)(デフォルト [http://stp/tests/]) - クライアントがテストをダウンロードする場所。wget がテストダウンロードに使用されているため、URL 形式であることが必要です。
結果パス (結果アップロード用) - 実行されたテストを、テスト ID 順に保存する場所。cgi-bin スクリプトを実行するユーザが書き込み可能なディレクトリであることが必要です。このディレクトリに、実行されたテストのすべての結果が格納されます。
stp_setup.pl スクリプトを実行した後、/usr/share/stp/etc/config.xml ファイルで結果を確認します。このファイルは、必要に応じて手動で変更できます。
マシンのオン / オフを制御するパワーコントロールスクリプトを指定する必要があります。「power」という名前のスクリプトに、引数「on」、「off」に続けてマシン名を指定します。
パワーコントロールスクリプトがない場合は空白のままにすると、STP の管理者に再イメージングのプロセスの開始を求める電子メールが送信されます。
O/S やテストコードなどのインストールは自動化されていますが、カスタマイズが必要な場合があります。
テストマシンの再イメージング機能は、OSDL セットアップが備えている便利な機能の一つです。STP テストを実行する前に、クライアントマシンは OS の完全インストールを実行し、すべてのテストが既知の良好な OS イメージで開始できるようにします。OSDL ラボでは、PXE ブートソフトウェアと RedHat のキックスタートルーチンを使用して、このインストールを行います。このためのドライバスクリプトは、reimage-ks です (STP キットには同梱されていません)。小規模な STP セットアップでは、この再イメージングは手動で行うことができます。「再イメージング方式」のパラメータを未定義のままにすると STP 管理者に電子メールが送信されます。
ウェブインターフェースを操作するための cgi ファイルは、html_root/cgi-bin/ ディレクトリにあります。このファイルをウェブサイトの cgi-bin/ ディレクトリにコピーします。
stp.cgi を編集し、ファイルの先頭で config パラメータを適切に設定します。
html_root/cgi-bin/auth/ サブディレクトリは Apache 認証領域になければなりません。OSDL では Apache::AuthTicket を使用していますが、通常の「authuser」認証を行う auth システムならどれでも使用できます。
cgi に加えて、ツールの説明や、これまでに寄せられた質問などにアクセスできる複数の静的 HTML ページがあります。
これらのファイルは html_root/html/ ディレクトリにあり、/var/www/html/stp や /home/www/site_html/stp/ などの公開 STP ウェブ領域にコピーできます。
STP2 に組み込まれているテンプレートでは、OSDL ウェブサイトのルックアンドフィールを使用しています。ほとんどのユーザサイトではこのテンプレートをそのまま使用することはできませんが、完全なカスタマイズが可能なデザインになっています。
カスタマイズするには、html_root/src および html_root/lib ディレクトリ内のファイルを修正して、html を再生成します。
ウェブサイトを再構築するためには、次のツールをインストールする必要があります。
全般
tgen の contrib/ ディレクトリ内の次のファイルを /usr/bin にコピーしてから、chmod a+x コマンドを実行します。
次のコマンドを実行して STP ウェブサイトを再構築します。ここでは STP distro が home ディレクトリにあることを前提としています。
cd $HOME/stp2_0/html_root/
rm -rf build/* html/*
tgen -ext_target html -s $HOME/stp2_0/html_root/src -d \
$HOME/stp2_0/html_root/build
rename .tmpl .html -- build/*.tmpl
ttree -r --ignore inc --copy '\.css$' -s build/ -d html/ -l lib/ \
--define Basepath=$HOME/stp2_0/html_root/html
次に、html_root/html ディレクトリをセクション「HTML のインストール」の説明に従って公開 STP ウェブ領域にコピーします。
|