Project

General

Profile

整備 #4569

Linux環境でのネームサービス開始・終了がRTSEのボタン操作でも動くように整える

Added by n.kawauchi over 3 years ago. Updated about 3 years ago.

Status:
解決
Priority:
通常
Assignee:
Start date:
07/17/2018
Due date:
% Done:

100%

Estimated time:

Description

  • #4546 にてネームサービス終了用スクリプトを定義した
  • これらのスクリプト(rtm-naming, kill-rtm-namnig)をコマンドラインで手動実行した場合と、RTSEのボタン操作で実行された場合で
    どちらでも、手動とボタン操作の組合せでも、動くように整備する

History

#1 Updated by n.kawauchi over 3 years ago

  • Status changed from 新規 to 解決
  • % Done changed from 0 to 100
  • r3391 にて対応完了
  • RTSEのボタン操作でネームサービスを開始する際、omniNamesのlog,dat,bakファイル削除に失敗するので、sudoで実行するようにした
  • スクリプトのオプションで指定されたパスワードが、処理に渡っていない箇所があったので修正した
  • RTSEのボタン操作でネームサービスを終了する際、2809のポート使用状況を調べるnetstatのオプションでaを指定していたため、
    2809へ接続しているJavaの情報が含まれてしまい、間違った判定をしていた。aではなくl(--listening)オプションへ変更することでJavaが含まれなくなった。
  • netstatにて2809ポートを使用しているomniNamesを確認するため、sudoでnetstatを実行するようにした
  • 上記修正で、Ubuntu18.04環境でもomniNamesが自動起動するようになった
    • Ubuntu18.04の場合、/var/lib/omniorb/下にomninames-ubuntu1804-64.dat .log ファイルが存在していると自動起動できなかった
    • 上記ファイルを手動で削除後にOSをrebootすると自動起動できていた
    • rtm-namingスクリプトで、sudoで上記ファイルを削除するようになったので、自動起動できるようになった
  • Ubuntu18.04での動作確認結果(OS起動直後からの操作)
    • openrtpはrtmtoolsのr893でdebパッケージを生成・インストール
      0)OpenRTP起動時、NS追加ボタン押下
      ・NS Viewにlocalhostが表示される。omniNamesプロセス確認。
      
      1)NS終了ボタン押下
      ・NS Viewのlocalhost表示は消え、omniNamesプロセスも終了。
      
      2)NS開始ボタン押下
      ・NS Viewにlocalhost表示される。omniNamesプロセス確認。
      
      3)NS終了ボタン押下
      ・NS Viewのlocalhost表示は消え、omniNamesプロセスも終了
      
      4)手動でrtm-naming実行
      $ rtm-naming
      ・NS Viewでネームサーバ追加ボタンでlocalhostが表示され、omniNamesプロセス確認
      
      5)NS終了ボタン押下
      ・NS Viewのlocalhost表示は消え、omniNamesプロセスも終了
      
      6)NS開始ボタン押下
      ・NS Viewにlocalhost表示される。omniNamesプロセス確認。
      
      7)手動でkill-rtm-naming実行
      $ kill-rtm-naming
      ・NS Viewのlocalhost表示は消え、omniNamesプロセスも終了
      

#2 Updated by n.kawauchi about 3 years ago

  • 機能修正 r3392-3393 にて対応完了(Ubuntuで動作確認)
    • ネームサービス終了は、rtm-naming -k で実行するように修正
    • ネームサービス終了後に改めて開始する場合は、「rtm-naming」「sudo systemctl start omniorb4-nameserver.service」のどちらを実行してもOK
    • この対応のため、終了時は次の処理を行っている
      • /etc/init.d/omniorb4-nameserver stop を実行
      • /var/run/omniNames.pid 削除
      • omninamesのbak,log,datファイルを削除(スクリプト実行ディレクトリと/var/lib/omniorb下)
    • rtm-namingでネームサービスを開始する場合、2段階の開始処理を行っている。 ネームサービスの「開始」→「終了」→「開始」
    • 開始は、/etc/init.d/omniorb4-nameserver start を実行
    • Ubuntu16.04の場合は最初の「開始」でomniNamesプロセスが起動するので処理を抜ける
    • Ubuntu18.04で、omniorb4-nameserver.serviceは起動するがomniNamesプロセスは起動しない場合は、「終了」処理へ進みpidやdatファイル等を削除する。
      この後に「開始」処理を行い、omniNamesプロセスが起動する。
    • RTSEのボタン操作でもこれらの動作を確認

Also available in: Atom PDF