現在、いくつかのテスト用の小さな仮想マシンがあります(他のディストリビューション、Fedora 15でテストし、make distcheck
汚染の問題なく実行するなど、いくつかの利点があります/
)。
しかし、テストを自動化し、プログラムで次のことを行うことができるようにしたいです(例:sh、python、c ...を使用)。
qemu
ローカルイメージからVMのヘッドレスブート()- VMが完全に起動するのを待ちます(最も難しい部分です。最初はマジックスリープを考えました)。
- ホストとゲスト間のストレージ同期(現在は不要)
./autogen && make && sudo make install && sudo make distcheck
マシンで実行- マシンで生成されたタールボールをダウンロードしてください。
私はlibvirt
APIを使用してこれを行うことができる方法について読み始めました。これにはゲストサポートが必要であり、それに関するドキュメントが見つかりませんが、この機能はlibvirt
。
マシンが完全に起動したことを確認できますか?これを行うことができる既製のツールはありますか?
編集する:完全起動は、システムrcスクリプトの実行が完了したか、起動する必要があるすべてのシステムサービスが開始されたことを意味します。私はqemuがいつそのようなことが起こるかを知る方法がないことを知っていますが、顧客側のサポートがあるとします。
ベストアンサー1
Afaik、libvirtは「フルブート」が何を意味するのかわかりません(私も同じです)。起動中にホスト(または他のコンピュータ)に接続するサービスを作成できます。あるいは、たとえば、SSHを使用してループでゲストに接続してみることもできます。
別の解決策は、vdagentなどのホストと通信する既存のサービスに依存することです。 Spiceプロキシチャネルが接続されるのを待つspice-gtk Pythonスクリプトを簡単に作成できます(spicy.cの例を参照してください。ステータスバーはプロキシの存在を示します)。
"make distcheck"テストは/を汚染しないようにし、sudoを必要としません。もしそうなら、makefileに問題があるようです。