genvid.toolbox.RuntimeTool¶
-
class
genvid.toolbox.
RuntimeTool
(services_dir='services', **kwargs)¶ ベースクラス:
genvid.toolbox.nomad.NomadTool
,genvid.toolbox.config.EventsTool
,genvid.toolbox.consul_template.ConsulTemplateTool
さまざまな環境を管理するための共通ツール。
-
VaultInitializationErrors
= (<class 'requests.exceptions.ConnectionError'>, <class 'hvac.exceptions.VaultDown'>, <class 'hvac.exceptions.Forbidden'>, <class 'hvac.exceptions.InternalServerError'>, <class 'hvac.exceptions.InvalidPath'>, <class 'genvid.toolbox.consul.ServiceIsNotRunningError'>)¶ 再試行が許可された Vault 初期化エラー。
バージョン 1.15.0 で追加.
-
NomadInitializationErrors
= (<class 'nomad.api.exceptions.BaseNomadException'>, <class 'nomad.api.exceptions.URLNotFoundNomadException'>, <class 'genvid.toolbox.consul.ServiceIsNotRunningError'>, <class 'requests.exceptions.ConnectionError'>)¶ 再試行が許可された Nomad 初期化エラー。
バージョン 1.15.0 で追加.
-
MUST_HAVE_CONFIGURATION
= ('genvid/encode/stream/service', 'genvid/encode/stream/addr', 'genvid/encode/stream/key', 'genvid/encode/stream/channel')¶ 必須設定キーのリスト
-
STARTUP_TIMEOUT
= 60¶ GENVID_STARTUP_TIMEOUT
のデフォルト値。
-
STOP_TIMEOUT
= 15¶ Nomad ジョブ終了の試行を中止するまでの最大待機時間。
-
JOBS_ACTIONS
= {'plan': 'Plan nomad jobs.', 'run': 'Start nomad jobs.', 'stop': 'Stop nomad jobs.', 'status': 'Stop nomad jobs.'}¶ ジョブコマンドと説明のリスト。
-
template_dir
= None¶ ジョブの Nomad テンプレートの場所。
-
jobs_dir
= None¶ ジョブテンプレートが出力されるフォルダ。
-
GENVID_STARTUP_TIMEOUT
= None¶ 起動上のデフォルトタイムアウトを含む、
GENVID_STARTUP_TIMEOUT
のミラー
-
JOBS
= None¶ 利用可能なジョブのリスト
-
services
= None¶ 監視サービスのインストーラ。
-
add_job
(name, dependencies=None)¶ 実行する新しい Nomad ジョブを追加。
consul-template を使用して環境用のジョブ説明を作成し、 Nomad でジョブを実行します。ローカル環境では、すべてのジョブは、rawexec ドライバを使用して実行します。詳細は、Nomad および consul-template の Web サイトを参照してください。
Args:
name: ジョブ名。
dependencies: ジョブが依存するサービス名のリスト。
-
nomad_template
(name, template)¶ consul-template で Nomad ジョブファイルを設定する。
-
バージョン 1.21.0 で変更:
新しい
ConsulTemplateTool
を使用するように調整。
-
get_template_job
(job)¶ job のテンプレートのパスを返す。
-
get_nomad_file
(job)¶
-
install
(node_class: str = 'game', vault_enabled: bool = False, reconfigure: bool = False, **kwargs)¶ ローカルに監視サービスをインストールする。
このメソッドは、始めにサービスがインストールされているか、実行されているかをチェックし、欠落している要素があれば修正します。サービスがインストールされている場合、構成は変更されません。古いバージョンを削除するには
uninstall()
を使用します。バージョン 1.15.0 で変更: 再構成が True の場合、サービスは常に再開されます。
-
uninstall
(clean: bool = False)¶ ローカルに監視サービスをアンインストールする。
実行中の監視サービスをすべて停止し、構成ファイル、データファイルをアンインストールする。
-
run_nomad_job
(action, job, **kwargs)¶ Nomad ジョブを実行したり、テンプレートから直接計画する。
-
run_nomad_jobs
(action, *jobs, **kwargs) → bool¶ ジョブのリストで、利用可能な Nomad コマンドを実行する。
戻り値: Nomad サービスが実行されていない場合は False
。実行されている場合はTrue
。-
バージョン 1.20.0 で変更:
nomad サービスのチェック結果を戻します。
-
バージョン 1.20.1 で変更:
action=stop
のときに、Nomad ジョブが終了するのを適切に待機します。
-
plan_jobs
(*jobs, **kwargs) → bool¶ ジョブのリストに
plan
を実行し、Nomad ファイルを最初に生成する。パラメータ: jobs – ジョブのリスト。指定されていない場合、すべての既知のジョブを使用する。 戻り値: Nomad サービスが実行されていない場合は False。実行されている場合は True。 バージョン 1.20.0 で変更: nomad サービスのチェック結果を戻します。
-
run_jobs
(*jobs, **kwargs) → bool¶ ジョブのリストに
run
を実行し、Nomad ファイルを最初に生成する。パラメータ: jobs – ジョブのリスト。指定されていない場合、すべての既知のジョブを使用する。 戻り値: Nomad サービスが実行されていない場合は False。実行されている場合は True。 バージョン 1.20.0 で変更: nomad サービスのチェック結果を戻します。
-
stop_jobs
(*jobs, **kwargs) → bool¶ リストのジョブを停止する。指定されていない場合、すべての既知のジョブを使用する。
戻り値: Nomad サービスが実行されていない場合は False。実行されている場合は True。 バージョン 1.20.0 で変更: nomad サービスのチェック結果を戻します。
-
status_jobs
(*jobs, **kwargs) → bool¶ リストのジョブのステータスを返す。指定されていない場合、すべての既知のジョブを使用する。
戻り値: Nomad サービスが実行されていない場合は False。実行されている場合は True。 バージョン 1.20.0 で変更: nomad サービスのチェック結果を戻します。
-
status
(*jobs)¶ すべてのサービスとジョブのステータスを出力する。
バージョン 1.20.0 で変更: bastion および cluster インスタンスのバージョンを表示する。
-
check_config
()¶ すべての構成が正しく設定されているかを検証する。
戻り値: すべて OK であれば、True。そうでない場合は False。
-
refresh
()¶ 必要に応じて、設定を更新する。
-
check_services
(timeout: float = None) → bool¶ 監視サービスが応答するかをチェックする。
-
init_service_vault
(timeout: float)¶
-
get_nomad_token
()¶
-
init_service_nomad
(timeout: float)¶
-
add_services_commands
()¶ サービスのコマンドをパーサーに追加する。
add_commands()
から実行し、サービスコマンドをパーサーに追加する。
-
run_services_command
(command: str, options) → typing.Tuple[bool, typing.Any]¶ コマンドがサービスコマンドかどうかを検出し、実行する。
run_command()
から呼び出し、サービスコマンドを処理する。add_services_commands()
により、ジョブコマンドが追加される。戻り値: コマンドを処理した場合は結果を返す。
-
add_jobs_commands
()¶ ジョブコマンドをパーサーに追加する。
add_commands()
から実行し、ジョブコマンドをパーサーに追加する。
-
run_jobs_command
(command: str, options) → typing.Tuple[bool, typing.Any]¶ コマンドがジョブコマンドかどうかを検出し、実行する。
run_command()
から呼び出し、ジョブコマンドを処理する。add_jobs_commands()
により、ジョブコマンドが追加される。戻り値: コマンドを処理した場合は結果を返す。
-
add_runtime_commands
()¶ RuntimeTool
とその親から利用可能なすべてのコマンドを追加する。add_commands()
から実行し、利用可能なすべてのコマンドをパーサーに追加する。詳細は以下のメソッドを参照してください。
-
run_runtime_command
(command: str, options) → typing.Tuple[bool, typing.Any]¶ コマンドがランタイムコマンドかどうかを検出し、実行する。
run_command()
から呼び出し、ランタイムコマンドを処理する。add_runtime_commands()
により、ランタイムコマンドが追加される。戻り値: コマンドを処理した場合は結果を返す。
-
-
class
runtime.
RuntimeTool
¶