3. VCP LIB

3.1. VC Contoller REST APIアクセス用下位レベルライブラリのうち、VcNode操作系

class VcNode(unit, node_json)[ソース]

VCP Lib のVcNodeリソース

add_publickey(add_publickey_path, private_key_path=None, ssh_user_name=None)[ソース]

VcNode のBaseContainer上で$HOME/.ssh/authorized_keys に公開鍵を追加

パラメータ:
  • add_publickey_path -- 新規追加する公開鍵のpath

  • private_key_path -- VcNode起動時に指定した秘密鍵以外を利用する場合に指定

  • ssh_user_name -- ssh 実行時のユーザ名。defaultは、root

backup()[ソース]

Node のcontainer image をVC Controller上にバックアップする

config()[ソース]

NODE情報取得

VC Controllerから最新のVC情報を取得して保存

delete()[ソース]

Node削除

docker_cp(src, dest, options=[], cwd=None, ssh_user_name='root', private_key_path=None)[ソース]

BaseコンテナとAppコンテナ間のファイルのコピー

パラメータ:
  • src -- コピー元のファイルパス

  • dest -- コピー先のファイルパス

  • options -- コマンドラインオプション

  • cwd -- 作業ディレクトリ

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

標準出力の文字列

docker_exec(container, options=[], cmd=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • container -- 対象とするコンテナ

  • options -- コマンドラインオプション

  • cmd -- コンテナ内で実行するコマンドライン

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

標準出力と標準エラー出力のタプル

docker_image_inspect(image, options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • image -- 対象とするイメージ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

出力をPython Dictionary形式に変換したもの

docker_image_ls(options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

出力をDataFrameにしたもの

docker_image_rm(image, options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • image -- 対象とするイメージ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

docker_image_tag(src_image, dest_image, ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • src_image -- 元のイメージ名

  • dest_image -- タグ付けした後のイメージ名

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

docker_info(options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

標準出力の文字列

docker_inspect(container, options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • container -- 対象とするコンテナ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

出力をPython Dictionary形式に変換したもの

docker_logs(container, options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

ログの文字列

docker_network_inspect(network, options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • network -- 対象とするネットワーク

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

出力をPython Dictionary形式に変換したもの

docker_network_ls(options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

出力をDataFrameにしたもの

docker_ps(options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

出力をDataFrameにしたもの

docker_pull(image, options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • image -- 対象とするイメージ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

標準出力の文字列

docker_push(image, options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • image -- 対象とするイメージ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

標準出力の文字列

docker_restart(container, options=[], ssh_user_name='root', private_key_path=None)[ソース]

Appコンテナのrestart

パラメータ:
  • container -- 対象とするコンテナ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

docker_rm(container, options=[], ssh_user_name='root', private_key_path=None)[ソース]

Appコンテナの削除

パラメータ:
  • container -- 対象とするコンテナ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

docker_run(image, options=[], cmd=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • container -- 実行するイメージ

  • options -- コマンドラインオプション

  • cmd -- コンテナ内で実行するコマンドライン

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

標準出力と標準エラー出力のタプル

docker_start(container, options=[], ssh_user_name='root', private_key_path=None)[ソース]

Appコンテナのstart

パラメータ:
  • container -- 対象とするコンテナ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

docker_stop(container, options=[], ssh_user_name='root', private_key_path=None)[ソース]

Appコンテナのstop

パラメータ:
  • container -- 対象とするコンテナ

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

docker_volume_inspect(volume, options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • volume -- 対象とするボリューム

  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

出力をPython Dictionary形式に変換したもの

docker_volume_ls(options=[], ssh_user_name='root', private_key_path=None)[ソース]
パラメータ:
  • options -- コマンドラインオプション

  • ssh_user_name -- SSH接続時のユーザ名(デフォルト"root")

  • private_key_path -- SSHの秘密鍵のパス

戻り値:

出力をDataFrameにしたもの

power_off()[ソース]

VcNode の instance をpower off

power_on()[ソース]

VcNode の instance をpower on

resume()[ソース]

Node Resume(docker start)

scp(src, dst, private_key_path=None, ssh_user_name=None)[ソース]

local fileをVcNode の BaseContainer上にコピー(scp)する

パラメータ:
  • src -- local fileのpath

  • dst -- BaseContainer上のpath

  • private_key_path -- VcNode起動時に指定した秘密鍵以外を利用する場合に指定

  • ssh_user_name -- ssh 実行時のユーザ名。defaultは、root

ssh_exec(cmd, cwd=None, private_key_path=None, stdin_fd=None, output_decode=True, ssh_user_name=None)[ソース]

VcNode のBaseContainer上でssh を実行

パラメータ:
  • cmd -- BaseContainer上で起動するコマンド文字列

  • cwd -- BaseContainer上の実行カレントディレクトリ

  • private_key_path -- VcNode起動時に指定した秘密鍵以外を利用する場合に指定

  • stdin_fd -- ssh の起動時にstdinとして渡したいファイルディスクリプタ

  • output_decode -- ssh の結果データを True:decodeする(default) / False:decodeしない

  • ssh_user_name -- ssh 実行時のユーザ名。defaultは、root

戻り値:

実行結果の stdout, stderr ファイルディスクリプタ

サンプルコード

(out, err) = node.ssh_exec("ls -la")
print(out)

fd = open("sample.txt")
(out, err) = node.ssh_exec("sed 's/abc/def/' > remote_sample.txt", stdin_fd=fd)
start()[ソース]

Node Start(cloud instance create)

stop()[ソース]

Node Stop(cloud instance terminate)

suspend()[ソース]

Node Suspend(docker stop)

unwatch()[ソース]

Node の監視を停止する

watch()[ソース]

Node の監視を開始する