def module_is_loaded(module_name): module_name = module_name.replace('-', '_') modules = utils.system_output('/sbin/lsmod').splitlines() for module in modules: if module.startswith(module_name) and module[len(module_name)] == ' ': return True return False
def get_services(): if os.path.exists("/usr/lib/systemd"): try: output = utils.system_output( "systemctl -t service list-unit-files|grep enabled|awk '{print $1}'" ) return ",".join(output.split()) except Exception: return "N/A" else: try: output = utils.system_output( "chkconfig --list|grep -E '(5:启用|5:on)'|awk '{print $1}'") return ",".join(output.split()) except Exception: return "N/A"
def get_cpu_family(): procinfo = utils.system_output('cat /proc/cpuinfo') CPU_FAMILY_RE = re.compile(r'^cpu family\s+:\s+(\S+)', re.M) matches = CPU_FAMILY_RE.findall(procinfo) if matches: return int(matches[0]) else: raise error.TestError('Could not get valid cpu family data')
def get_RootFilesystem(): '''return Filesystem Type Size Used Avail Use% Mounted on ''' try: output = utils.system_output('df -lhT|grep "/$"') return tuple(output.split()) except Exception: return ("N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A")
def check_for_kernel_feature(feature): config = running_config() if not config: raise TypeError("Can't find kernel config file") if magic.guess_type(config) == 'application/x-gzip': grep = 'zgrep' else: grep = 'grep' grep += ' ^CONFIG_%s= %s' % (feature, config) if not utils.system_output(grep, ignore_status=True): raise ValueError("Kernel doesn't have a %s feature" % (feature))
def get_hwclock_seconds(utc=True): """ Return the hardware clock in seconds as a floating point value. Use Coordinated Universal Time if utc is True, local time otherwise. Raise a ValueError if unable to read the hardware clock. """ cmd = '/sbin/hwclock --debug' if utc: cmd += ' --utc' hwclock_output = utils.system_output(cmd, ignore_status=True) match = re.search(r'= ([0-9]+) seconds since .+ (-?[0-9.]+) seconds$', hwclock_output, re.DOTALL) if match: seconds = int(match.group(1)) + float(match.group(2)) logging.debug('hwclock seconds = %f' % seconds) return seconds raise ValueError('Unable to read the hardware clock -- ' + hwclock_output)
def unload_module(module_name): """ Removes a module. Handles dependencies. If even then it's not possible to remove one of the modules, it will trhow an error.CmdError exception. :param module_name: Name of the module we want to remove. """ l_raw = utils.system_output("/sbin/lsmod").splitlines() lsmod = [x for x in l_raw if x.split()[0] == module_name] if len(lsmod) > 0: line_parts = lsmod[0].split() if len(line_parts) == 4: submodules = line_parts[3].split(",") for submodule in submodules: unload_module(submodule) utils.system("/sbin/modprobe -r %s" % module_name) logging.info("Module %s unloaded" % module_name) else: logging.info("Module %s is already unloaded" % module_name)
def get_loaded_modules(): lsmod_output = utils.system_output('/sbin/lsmod').splitlines()[1:] return [line.split(None, 1)[0] for line in lsmod_output]
def get_disks(): df_output = utils.system_output('df') disk_re = re.compile(r'^(/dev/hd[a-z]+)3', re.M) return disk_re.findall(df_output)