python のあれこれ(モジュール, path, libvirt)

30 7月

(text by kondo)

 

バーチャルマシンをコントロールする方法を探っています。libvirt を利用することを考えています。

libvirt : http://libvirt.org/

python から利用する記事を見て、python のIDLE で利用しようとしたら、いきなり import libvirt がエラーになりました。

まずは、どんなモジュールがあるか調べてみるコマンドです。

help(‘modules’)

 

パスを通してみました。たぶん此処だと思うのですが . . .

import sys

sys.path.append(‘/usr/share/pyshared’)

結局、よく分からなくて、IDLE (using Python-3.2) と表示されるものではなく、IDLEとだけ表示されるものをインストールして、libvirt が機能するようになりました。下の図のように何個か、IDLEがあります。

以下、調べたことを並べます。

(1) 定義されたドメインを調べる(python シェルの中で打つ)。

参照サイト(http://www.ibm.com/developerworks/jp/opensource/library/os-python-kvm-scripting1/)

Python 2.7.3 (default, Apr 20 2012, 22:39:59)
[GCC 4.6.3] on linux2
Type "copyright", "credits" or "license()" for more information.
==== No Subprocess ====
>>> import libvirt
>>> conn=libvirt.open("qemu:///system")
>>> names = conn.listDefinedDomains()
>>> print names
['sid2']
>>>

今のところ、sid2 という名前のドメインがひとつだけなので、上記のように表示されます。ドメインとはバーチャルマシンのことです。

関係ないけど、キャプチャー画面。

 

(2) バーチャルマシンの起動と停止(python シェルの中で打つ)

参考サイト(http://cloud.watch.impress.co.jp/docs/column/euca_iaas/20110819_466965.html)

>>> import libvirt
>>> conn=libvirt.open(“qemu:///system”)
>>> names = conn.listDefinedDomains()
>>> print names
[‘sid2’]
>>> vm = conn.lookupByName(‘sid2’)
>>> vm.create()
0
>>> vm.shutdown()
0
>>>