virt-clone 後の処理を libguestfs で自動化する (その2)

前回、KVM仮想マシンを virt-clone してネットワーク設定などを自動的に書き換えるスクリプトを作った。

このスクリプトには次のような課題が残っていた。

virt-clone とくっつけるのは汎用性が低くなるので、複製は今まで通り手動 or シェルスクリプトでするとして、ゲストの設定変更に特化した方が良いかもしれない。

そこで virt-clone と切り離し、よりシンプルにしたスクリプト "virt-config" を作ってみた。

作成したスクリプト

前回同様 Python で作成し、GitHub で公開している。

使い方

基本的な使い方は下記の通り。内部的には、仮想マシンのディスクイメージをループバックマウントし、指定された引数に従ってディスク内の設定ファイルを書き換える。

Usage:
    virt-config.py [options] domname
Options:
    -i new_ipaddr: update ip-address
    -h new_hostname update hostname
    -c: confirm result

詳しくは GitHub 上の README.md を参照のこと。

まとめ

virt-clone と切り離したことで、clone 後の VM に対して2回以上適用することができるようになった。今後は以下のような機能を追加したい。

  • 複数 NIC への対応
  • Ubuntu 以外の OS への対応

ところで会社の先輩に Maglica というのを教えていただいた。似たような構想だが、これは DHCP で IP アドレスを管理するようだ。完成度が高そうなので今度試してみたい。


(2013-11-25 追記)

  • Ubuntu 以外の OS への対応

CentOS に対応した。