virtualenv環境でnova-computeを動かす際の注意事項メモ

やっとnova-computeまでたどり着いた。長かった。
この先、継続的なデリバリーっぽいことを考えていて、可能なかぎり各コンポーネントをvirtualenv環境で動かしたいんだけれども、libvirt系のモジュールはpipでは提供されていないので、なんとかしないとimportエラーでnova-computeが起動してくれない。

暫定対策をしたので忘れないようメモしておく。

■こんなエラーログが出て起動しないわけですよ

2013-08-31 17:11:23.057 22482 INFO nova.virt.driver [-] Loading compute driver 'libvirt.LibvirtDriver'
2013-08-31 17:11:23.062 22482 ERROR nova.virt.driver [-] Unable to load the virtualization driver: No module named libvirt

■暫定対策(困らなければそのまま恒久対策)

OpenStackのインストールガイドではlibvirt-APIpythonバインディングは各ディストリビュージョンが提供するパッケージに頼っています。pipで提供されていないし、これはしかたない。
今回は、安直にこの標準パッケージで提供しているモジュールをそのまま使う。
※ディストリビュージョンはubuntu12.04lts

$ cp /usr/lib/python2.7/dist-packages/libvirt.py $VIRTUAL_ENV/lib/python2.7/site-packages/
$ cp /usr/lib/python2.7/dist-packages/libvirtmod.so $VIRTUAL_ENV/lib/python2.7/site-packages/
$ cp /usr/lib/python2.7/dist-packages/libvirt_qemu.py $VIRTUAL_ENV/lib/python2.7/site-packages/
$ cp /usr/lib/python2.7/dist-packages/libvirtmod_qemu.so $VIRTUAL_ENV/lib/python2.7/site-packages/

エラーもなく起動しているみたい。
いまのところ大丈夫そうなので自前のインストーラに組み込んでおく。