[openrtm-staff:1296] 11/30の作業報告(河内)

河内のぶ n.kawauchi @ aist.go.jp
2017年 11月 30日 (木) 19:10:36 JST


安藤様

河内です

本日の作業内容をお知らせします。
------------
■Jenkinsスレーブのテンポラリの参照を変更する
・28日作業で「fedora26-64の空きディスク容量が少なくなったため
 ノードが強制的にオフラインにされる」件に関して

・ワークスペースの空きディスク容量が500MGを切るとノードがオフラインに
 なる。Linuxの場合、翌日になればワークスペースは自動で削除されるので
 ジョブ実行が集中しなければこの状況は発生しない。
 当日に集中してジョブを実行しても空きディスク容量の心配無用とするため
 の設定を調べる。

・ワークスペースディレクトリはノードの設定で指定した
 「リモートFSルート」の下に作成される。
 /tmp指定することで、/tmp/workspaceを利用している。

・28日は、「リモートFSルート」を/jenkins-slaveの指定にしてみた。
 存在しないディレクトリを指定しても勝手に作ってくれるらしので。
・しかし、状況は変わらなかった。空き容量不足でオフラインになる。

以上が28日の確認。改めて調べると、マスターがディスク容量を監視する
場所の定義が他にあり、そこを変更する必要があるとのことで、この動作を
試す。

▼fedora26-64での動作確認
・本日、ジョブ実行前の状態ではワークスペースが削除されているので、
空き容量はある。/tmp/workspaceは存在せず。
-----
[openrtm @ fedora26-64 tmp]$ df -h
Filesystem                            Size  Used Avail Use% Mounted on
/dev/mapper/fedora_fedora26--64-root   14G  5.9G  6.7G  47% /
tmpfs                                 2.0G  872K  2.0G   1% /tmp

・ルート(/)直下は余裕があるので、ここを利用するように変更する
・ノード -> fedora26-64 -> 設定で、「リモートFSルート」を
 「/jenkins-slave」とする
・マスター側がディスク容量を監視する場所は、
 ノード -> fedora26-64 -> システム情報の「java.io.tmpdir」なので
 この指定をスレーブ起動用のスクリプトに追加する。
  「-Djava.io.tmpdir=/jenkins-slave」

・/etc/jenkins.shは、VM環境のセットアップ時に定義しており、ベースの
 j2.shというスクリプトが別にあるのだが、とりあえずfedora26-64限定で
 試してみる

----- /etc/jenkins.sh
wget -O $workdir/slave.jar $master/jnlpJars/slave.jar && java -jar slave.jar -jnlpUrl $master/computer/$slave_name/slave-agent.jnlp -jnlpCredentials n-ando:05539a4c199ae66011a0681dc198c8d2
   ↓
wget -O $workdir/slave.jar $master/jnlpJars/slave.jar && java -Djava.io.tmpdir=/jenkins-slave -jar slave.jar -jnlpUrl $master/computer/$slave_name/slave-agent.jnlp -jnlpCredentials n-ando:05539a4c199ae66011a0681dc198c8d2
-----

修正後、/etc/jenkins.shを実行し、OSを再起動。
再起動後、システム情報の「java.io.tmpdir」が更新されていることを確認。

これでジョブを実行するも失敗。やはりルート下のディレクトリは作れない。
実行権限も必要だった。
$ sudo mkdir /jenkins-slave
$ sudo chmod 777 /jenkins-slave/

これでジョブ実行OK!!
$ du -sh jenkins-slave/workspace/*
100M    jenkins-slave/workspace/20_openrtm-java-build-linux-package

ただし、マルチ構成でカスタムワークスペースでwokspaceを共有するジョブは
/tmpを指定する定義になっている。
21_openrtm-java-linux-publishのジョブは
「/tmp/workspace/20_openrtm-java-build-linux-package/」を利用定義。

この設定でもジョブが動くように、シンボリックリンクを貼ればOK!
$ ln -s /jenkins-slave/workspace /tmp/workspace

fedoraの場合は、この設定が良さそうです。

※これにてstaging環境へのJavaパッケージアップロード完了。
JenkinsジョブによるインストールテストOK!
22_openrtm-java-linux-install-test

●OpenRTM-aist 1.2.0 インストーラGUI画面の変更
・Visual Studioバージョン番号選択画面
http://redmine.openrtm.org/issues/4374

・ローカル環境で作成。インストール動作OK。
・キャプチャした画面を添付します
・明日、Jenkinsジョブにてmsiを生成する予定

以上です。

---------------------------------------------------
河内 のぶ  n.kawauchi @ aist.go.jp
産業技術総合研究所 ロボットイノベーション研究センター
ロボットソフトウエアプラットフォーム研究チーム
テクニカルスタッフ
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: OpenRTM-aist-120-GUI-VC-select.pdf
型:         application/octet-stream
サイズ:     216725 バイト
説明:       無し
URL:        <http://www.openrtm.org/pipermail/openrtm-staff/attachments/20171130/cf2a9a93/attachment-0001.obj>


More information about the openrtm-staff mailing list