constants.HV_KERNEL_ARGS: hv_base.NO_CHECK,
constants.HV_ACPI: hv_base.NO_CHECK,
constants.HV_SERIAL_CONSOLE: hv_base.NO_CHECK,
- constants.HV_VNC_BIND_ADDRESS: \
- (False, lambda x: (utils.IsValidIP(x) or utils.IsAbsNormPath(x)),
- "the VNC bind address must be either a valid IP address or an absolute"
- " pathname", None, None),
+ constants.HV_VNC_BIND_ADDRESS:
+ (False, lambda x: (utils.IsValidIP(x) or utils.IsNormAbsPath(x)),
+ "the VNC bind address must be either a valid IP address or an absolute"
+ " pathname", None, None),
constants.HV_VNC_TLS: hv_base.NO_CHECK,
constants.HV_VNC_X509: hv_base.OPT_DIR_CHECK,
constants.HV_VNC_X509_VERIFY: hv_base.NO_CHECK,
constants.HV_CDROM_IMAGE_PATH: hv_base.OPT_FILE_CHECK,
- constants.HV_BOOT_ORDER: \
- hv_base.ParamInSet(True, constants.HT_KVM_VALID_BO_TYPES),
- constants.HV_NIC_TYPE: \
- hv_base.ParamInSet(True, constants.HT_KVM_VALID_NIC_TYPES),
- constants.HV_DISK_TYPE: \
- hv_base.ParamInSet(True, constants.HT_KVM_VALID_DISK_TYPES),
- constants.HV_USB_MOUSE: \
- hv_base.ParamInSet(False, constants.HT_KVM_VALID_MOUSE_TYPES),
+ constants.HV_BOOT_ORDER:
+ hv_base.ParamInSet(True, constants.HT_KVM_VALID_BO_TYPES),
+ constants.HV_NIC_TYPE:
+ hv_base.ParamInSet(True, constants.HT_KVM_VALID_NIC_TYPES),
+ constants.HV_DISK_TYPE:
+ hv_base.ParamInSet(True, constants.HT_KVM_VALID_DISK_TYPES),
+ constants.HV_USB_MOUSE:
+ hv_base.ParamInSet(False, constants.HT_KVM_VALID_MOUSE_TYPES),
}
_MIGRATION_STATUS_RE = re.compile('Migration\s+status:\s+(\w+)',
hv_base.BaseHypervisor.__init__(self)
# Let's make sure the directories we need exist, even if the RUN_DIR lives
# in a tmpfs filesystem or has been otherwise wiped out.
- dirs = [(dir, constants.RUN_DIRS_MODE) for dir in self._DIRS]
+ dirs = [(dname, constants.RUN_DIRS_MODE) for dname in self._DIRS]
utils.EnsureDirs(dirs)
def _InstancePidAlive(self, instance_name):
# mounted noexec sometimes, so we'll have to find another place.
(tmpfd, tmpfile_name) = tempfile.mkstemp()
tmpfile = os.fdopen(tmpfd, 'w')
- tmpfile.write(script.getvalue())
- tmpfile.close()
+ try:
+ tmpfile.write(script.getvalue())
+ finally:
+ tmpfile.close()
os.chmod(tmpfile_name, 0755)
return tmpfile_name
cmdline_file = "/proc/%s/cmdline" % pid
try:
- fh = open(cmdline_file, 'r')
- try:
- cmdline = fh.read()
- finally:
- fh.close()
+ cmdline = utils.ReadFile(cmdline_file)
except EnvironmentError, err:
raise errors.HypervisorError("Failed to list instance %s: %s" %
(instance_name, err))
time.sleep(2)
utils.KillProcess(pid)
- self._RemoveInstanceRuntimeFiles(pidfile, instance.name)
+ self._RemoveInstanceRuntimeFiles(pidfile, instance_name)
def GetNodeInfo(self):
"""Return information about the node.