n0stack
n0stack copied to clipboard
[WIP] Implement virtualmachine's shutdown operation
What / 変更点
- agent と api の
ShutdownVirtualMachine
を実装した -
func (q Qemu) HardShutdown() error
の実装がおそらくおかしかったため修正した - TODO: シャットダウンリクエストを同期的に行う
- QEMU がシャットダウンステータスになるまで待つ
- タイムアウトは60秒で固定
- タイムアウトした場合はその時点での QEMU のステータスをデータストアに書き込む
Why / 変更した理由
未実装だったため
How (Optional) / 概要
How affect / 影響範囲
特になし
シャットダウンが終了することは保証しないため、これに依存するDAGで起動等をすると失敗することは考えられる (新規実装部分であるため、既存影響はない)
実際シャットダウンしたか確認するべきだと思うけど、libvirtみたいにタイムアウトを待つ必要がありそうだしどうしようか…