genvid.toolbox.NomadTool

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

ベースクラス: genvid.toolbox.consul.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: str = None, **kwargs) → str

Nomad クライアント URL の Query Consul

パラメータ:timeout – サービスが値を返すまでのタイムアウト。
戻り値:nomad-client のURL。
get_nomad_ip() → str

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

nomad

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

run_nomad(action: str, *args, nomad_url: 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 の実装