livemedia-creator: make libvirt module optional

When running with no-virt mode libvirt and virt-install are not needed
so make the import optional and update the usage info reflect that the
virt options are disabled.
This commit is contained in:
Brian C. Lane 2012-05-10 14:21:42 -07:00
parent 1bafc44de8
commit 96a2cceb53

View File

@ -32,7 +32,6 @@ import subprocess
import socket import socket
import threading import threading
import SocketServer import SocketServer
import libvirt
from time import sleep from time import sleep
import shutil import shutil
import traceback import traceback
@ -49,6 +48,11 @@ from pylorax.sysutils import joinpaths, remove, linktree
from pylorax.imgutils import PartitionMount, mksparse, mkext4img from pylorax.imgutils import PartitionMount, mksparse, mkext4img
from pylorax.executils import execWithRedirect, execWithCapture from pylorax.executils import execWithRedirect, execWithCapture
# no-virt mode doesn't need libvirt, so make it optional
try:
import libvirt
except ImportError:
libvirt = None
# Default parameters for rebuilding initramfs, override with --dracut-args # Default parameters for rebuilding initramfs, override with --dracut-args
DRACUT_DEFAULT = ["--xz", "--add", "livenet", "--add", "dmsquash-live", DRACUT_DEFAULT = ["--xz", "--add", "livenet", "--add", "dmsquash-live",
@ -558,7 +562,10 @@ if __name__ == '__main__':
"Defaults to the temporary working directory") "Defaults to the temporary working directory")
# Group of arguments to pass to virt-install # Group of arguments to pass to virt-install
virt_group = parser.add_argument_group("virt-install arguments") if not libvirt:
virt_group = parser.add_argument_group("virt-install arguments (DISABLED -- no libvirt)")
else:
virt_group = parser.add_argument_group("virt-install arguments")
virt_group.add_argument("--ram", metavar="MEMORY", default=1024, virt_group.add_argument("--ram", metavar="MEMORY", default=1024,
help="Memory to allocate for installer in megabytes." ) help="Memory to allocate for installer in megabytes." )
virt_group.add_argument("--vcpus", default=1, virt_group.add_argument("--vcpus", default=1,
@ -648,6 +655,10 @@ if __name__ == '__main__':
logger.fatal("the volume id cannot be longer than 32 characters") logger.fatal("the volume id cannot be longer than 32 characters")
sys.exit(1) sys.exit(1)
if not opts.no_virt and not libvirt:
log.error("virt-install requires libvirt to be installed.")
sys.exit(1)
# Make the disk image # Make the disk image
if not opts.disk_image: if not opts.disk_image:
# Parse the kickstart to get the partition sizes # Parse the kickstart to get the partition sizes