genvid.toolbox.NomadTool

class genvid.toolbox.NomadTool(use_wan=False, **kwargs)

ベースクラス: ConsulTool

Nomad のジョブを処理するための class。

バージョン 1.19.0 で変更: use_wan パラメータで、サービスアドレスを TaggedAddress "wan" に置き換えます。デフォルトでは、内部登録アドレスを使用します。

get_nomad_client_addr(*, timeout=0.0) tuple

Consul から nomad-client サービスアドレスとポートを取得する。

発見した最初のサービスを返す。

パラメータ

timeout -- サービスのタイムアウト。

get_nomad_client_url(*, timeout=0.0, nomad_url: Optional[str] = None, **kwargs) str

Nomad クライアント URL の Query Consul

パラメータ

timeout -- サービスが値を返すまでのタイムアウト。

戻り値

nomad-client のURL。

get_nomad_ip() str

Nomad IP アドレスを取得する。

property nomad: Nomad

python-nomad パッケージからの Nomad クライアント。

run_nomad(action: str, *args, nomad_url: Optional[str] = None, **kwargs)

指定のアクションと、その他の引数で、Nomad を実行する。

このメソッドは、 get_nomad_client_url() からの正しいアドレスを Nomad に確実に渡す。

パラメータ

action -- 実行するアクション ('run'、'plan'、'stop' など)。

static check_alloc(alloc, allocid=None, task=None, group=None, job=None, index=None, state=None)

割り当てが指定した条件に一致するかどうかチェックする。

以下のものがマッチします。

allocid: 割り当て ID がこのプレフィックスで始まる。

task: タスクは、割り当ての一部。

group: グループは、割り当ての一部。

job: ジョブは、割り当てジョブ ID。

index: 割り当てのインデックス。

state: タスクが指定されている場合、タスクがこのステータスになっているかをチェックする。

タスクが指定されていない場合、このステータスのタスクが存在するかをチェックする。

get_last_alloc(**kwargs)

すべての条件を満たす直前の割り当てを取得する。

show_alloc_log(follow=False, tail=False, lines=10, logfilename=None, stdout=False, **kwargs)

すべての条件を満たす最新のアロケーションを所得し、ログを表示する。

条件は check_alloc() と同じ。その他のパラメータは次の通りです。

follow: ファイルの最後に到達しても停止せず、

追加コンテンツを待機する。

tail: テキストの最後の lines を表示する。

lines: tail で、表示するライン数を調整する (デフォルトは

10)。

logfilename: 表示するファイル名。デフォルトは

stderr を表示する。

stdout: logfile を指定しない場合、以下の代わりに、stdout を表示:

stderr を表示する。

run_nomad_fs(*args, **kwargs) int

引数で nomad fs を実行し、戻りコードを返す。

add_logs_commands()

ログコマンドをパーサーに追加する。

ログ add_commands() から実行し、ログコマンドをパーサーに追加する。

run_logs_command(command, options)

コマンドがログコマンドかどうかを検出し、実行する。

run_command() から呼び出し、ログコマンドを処理する。 add_logs_commands() により、ジョブコマンドが追加される。

戻り値:

handled, result: コマンドを処理したかどうかを示す、ブール値のトプル。

処理した場合は結果を返す。

class nomad.NomadTool

genvid.toolbox.NomadTool の実装