def write_iteration_keyval(self, attr_dict, perf_dict, tap_report=None): # append the dictionaries before they have the {perf} and {attr} added self._keyvals.append({"attr": attr_dict, "perf": perf_dict}) self._new_keyval = True if attr_dict: attr_dict = self._append_type_to_keys(attr_dict, "attr") utils.write_keyval(self.resultsdir, attr_dict, type_tag="attr", tap_report=tap_report) if perf_dict: perf_dict = self._append_type_to_keys(perf_dict, "perf") utils.write_keyval(self.resultsdir, perf_dict, type_tag="perf", tap_report=tap_report) keyval_path = os.path.join(self.resultsdir, "keyval") print >>open(keyval_path, "a"), ""
def write_iteration_keyval(self, attr_dict, perf_dict, tap_report=None): # append the dictionaries before they have the {perf} and {attr} added self._keyvals.append({'attr': attr_dict, 'perf': perf_dict}) self._new_keyval = True if attr_dict: attr_dict = self._append_type_to_keys(attr_dict, "attr") utils.write_keyval(self.resultsdir, attr_dict, type_tag="attr", tap_report=tap_report) if perf_dict: perf_dict = self._append_type_to_keys(perf_dict, "perf") utils.write_keyval(self.resultsdir, perf_dict, type_tag="perf", tap_report=tap_report) keyval_path = os.path.join(self.resultsdir, "keyval") print >> open(keyval_path, "a"), ""
def write_test_keyval(self, d): utils.write_keyval(self.debugdir, d)
def write_test_keyval(self, attr_dict): utils.write_keyval(self.outputdir, attr_dict, tap_report=self.job._tap)
def install_host_kernel(job, params): """ Install a host kernel, given the appropriate params. @param job: Job object. @param params: Dict with host kernel install params. """ install_type = params.get('host_kernel_install_type') if install_type == 'rpm': logging.info('Installing host kernel through rpm') rpm_url = params.get('host_kernel_rpm_url') k_basename = os.path.basename(rpm_url) dst = os.path.join("/var/tmp", k_basename) k = utils.get_file(rpm_url, dst) host_kernel = job.kernel(k) host_kernel.install(install_vmlinux=False) utils.write_keyval(job.resultdir, {'software_version_kernel': k_basename}) host_kernel.boot() elif install_type in ['koji', 'brew']: logging.info('Installing host kernel through koji/brew') koji_cmd = params.get('host_kernel_koji_cmd') koji_build = params.get('host_kernel_koji_build') koji_tag = params.get('host_kernel_koji_tag') k_deps = utils_koji.KojiPkgSpec( tag=koji_tag, build=koji_build, package='kernel', subpackages=['kernel-devel', 'kernel-firmware']) k = utils_koji.KojiPkgSpec(tag=koji_tag, build=koji_build, package='kernel', subpackages=['kernel']) c = utils_koji.KojiClient(koji_cmd) logging.info('Fetching kernel dependencies (-devel, -firmware)') c.get_pkgs(k_deps, job.tmpdir) logging.info( 'Installing kernel dependencies (-devel, -firmware) ' 'through %s', install_type) k_deps_rpm_file_names = [ os.path.join(job.tmpdir, rpm_file_name) for rpm_file_name in c.get_pkg_rpm_file_names(k_deps) ] utils.run('rpm -U --force %s' % " ".join(k_deps_rpm_file_names)) c.get_pkgs(k, job.tmpdir) k_rpm = os.path.join(job.tmpdir, c.get_pkg_rpm_file_names(k)[0]) host_kernel = job.kernel(k_rpm) host_kernel.install(install_vmlinux=False) utils.write_keyval(job.resultdir, { 'software_version_kernel': " ".join(c.get_pkg_rpm_file_names(k_deps)) }) host_kernel.boot() elif install_type == 'git': logging.info('Chose to install host kernel through git, proceeding') repo = params.get('host_kernel_git_repo') repo_base = params.get('host_kernel_git_repo_base', None) branch = params.get('host_kernel_git_branch') commit = params.get('host_kernel_git_commit') patch_list = params.get('host_kernel_patch_list') if patch_list: patch_list = patch_list.split() kernel_config = params.get('host_kernel_config', None) repodir = os.path.join("/tmp", 'kernel_src') r = git.GitRepoHelper(uri=repo, branch=branch, destination_dir=repodir, commit=commit, base_uri=repo_base) r.execute() host_kernel = job.kernel(r.destination_dir) if patch_list: host_kernel.patch(patch_list) if kernel_config: host_kernel.config(kernel_config) host_kernel.build() host_kernel.install() git_repo_version = '%s:%s:%s' % (r.uri, r.branch, r.get_top_commit()) utils.write_keyval(job.resultdir, {'software_version_kernel': git_repo_version}) host_kernel.boot() else: logging.info('Chose %s, using the current kernel for the host', install_type) k_version = utils.system_output('uname -r', ignore_status=True) utils.write_keyval(job.resultdir, {'software_version_kernel': k_version})
def install_host_kernel(job, params): """ Install a host kernel, given the appropriate params. @param job: Job object. @param params: Dict with host kernel install params. """ install_type = params.get('host_kernel_install_type') if install_type == 'rpm': logging.info('Installing host kernel through rpm') rpm_url = params.get('host_kernel_rpm_url') k_basename = os.path.basename(rpm_url) dst = os.path.join("/var/tmp", k_basename) k = utils.get_file(rpm_url, dst) host_kernel = job.kernel(k) host_kernel.install(install_vmlinux=False) utils.write_keyval(job.resultdir, {'software_version_kernel': k_basename}) host_kernel.boot() elif install_type in ['koji', 'brew']: logging.info('Installing host kernel through koji/brew') koji_cmd = params.get('host_kernel_koji_cmd') koji_build = params.get('host_kernel_koji_build') koji_tag = params.get('host_kernel_koji_tag') k_deps = utils_koji.KojiPkgSpec(tag=koji_tag, build=koji_build, package='kernel', subpackages=['kernel-devel', 'kernel-firmware']) k = utils_koji.KojiPkgSpec(tag=koji_tag, build=koji_build, package='kernel', subpackages=['kernel']) c = utils_koji.KojiClient(koji_cmd) logging.info('Fetching kernel dependencies (-devel, -firmware)') c.get_pkgs(k_deps, job.tmpdir) logging.info('Installing kernel dependencies (-devel, -firmware) ' 'through %s', install_type) k_deps_rpm_file_names = [os.path.join(job.tmpdir, rpm_file_name) for rpm_file_name in c.get_pkg_rpm_file_names(k_deps)] utils.run('rpm -U --force %s' % " ".join(k_deps_rpm_file_names)) c.get_pkgs(k, job.tmpdir) k_rpm = os.path.join(job.tmpdir, c.get_pkg_rpm_file_names(k)[0]) host_kernel = job.kernel(k_rpm) host_kernel.install(install_vmlinux=False) utils.write_keyval(job.resultdir, {'software_version_kernel': " ".join(c.get_pkg_rpm_file_names(k_deps))}) host_kernel.boot() elif install_type == 'git': logging.info('Chose to install host kernel through git, proceeding') repo = params.get('host_kernel_git_repo') repo_base = params.get('host_kernel_git_repo_base', None) branch = params.get('host_kernel_git_branch') commit = params.get('host_kernel_git_commit') patch_list = params.get('host_kernel_patch_list') if patch_list: patch_list = patch_list.split() kernel_config = params.get('host_kernel_config', None) repodir = os.path.join("/tmp", 'kernel_src') r = git.GitRepoHelper(uri=repo, branch=branch, destination_dir=repodir, commit=commit, base_uri=repo_base) r.execute() host_kernel = job.kernel(r.destination_dir) if patch_list: host_kernel.patch(patch_list) if kernel_config: host_kernel.config(kernel_config) host_kernel.build() host_kernel.install() git_repo_version = '%s:%s:%s' % (r.uri, r.branch, r.get_top_commit()) utils.write_keyval(job.resultdir, {'software_version_kernel': git_repo_version}) host_kernel.boot() else: logging.info('Chose %s, using the current kernel for the host', install_type) k_version = utils.system_output('uname -r', ignore_status=True) utils.write_keyval(job.resultdir, {'software_version_kernel': k_version})
def install_host_kernel(job, params): """ Install a host kernel, given the appropriate params. @param job: Job object. @param params: Dict with host kernel install params. """ install_type = params.get("host_kernel_install_type") if install_type == "rpm": logging.info("Installing host kernel through rpm") rpm_url = params.get("host_kernel_rpm_url") k_basename = os.path.basename(rpm_url) dst = os.path.join("/var/tmp", k_basename) k = utils.get_file(rpm_url, dst) host_kernel = job.kernel(k) host_kernel.install(install_vmlinux=False) utils.write_keyval(job.resultdir, {"software_version_kernel": k_basename}) host_kernel.boot() elif install_type in ["koji", "brew"]: logging.info("Installing host kernel through koji/brew") koji_cmd = params.get("host_kernel_koji_cmd") koji_build = params.get("host_kernel_koji_build") koji_tag = params.get("host_kernel_koji_tag") k_deps = utils_koji.KojiPkgSpec( tag=koji_tag, build=koji_build, package="kernel", subpackages=["kernel-devel", "kernel-firmware"] ) k = utils_koji.KojiPkgSpec(tag=koji_tag, build=koji_build, package="kernel", subpackages=["kernel"]) c = utils_koji.KojiClient(koji_cmd) logging.info("Fetching kernel dependencies (-devel, -firmware)") c.get_pkgs(k_deps, job.tmpdir) logging.info("Installing kernel dependencies (-devel, -firmware) " "through %s", install_type) k_deps_rpm_file_names = [ os.path.join(job.tmpdir, rpm_file_name) for rpm_file_name in c.get_pkg_rpm_file_names(k_deps) ] utils.run("rpm -U --force %s" % " ".join(k_deps_rpm_file_names)) c.get_pkgs(k, job.tmpdir) k_rpm = os.path.join(job.tmpdir, c.get_pkg_rpm_file_names(k)[0]) host_kernel = job.kernel(k_rpm) host_kernel.install(install_vmlinux=False) utils.write_keyval(job.resultdir, {"software_version_kernel": " ".join(c.get_pkg_rpm_file_names(k_deps))}) host_kernel.boot() elif install_type == "git": logging.info("Chose to install host kernel through git, proceeding") repo = params.get("host_kernel_git_repo") repo_base = params.get("host_kernel_git_repo_base", None) branch = params.get("host_kernel_git_branch") commit = params.get("host_kernel_git_commit") patch_list = params.get("host_kernel_patch_list") if patch_list: patch_list = patch_list.split() kernel_config = params.get("host_kernel_config", None) repodir = os.path.join("/tmp", "kernel_src") r = git.GitRepoHelper(uri=repo, branch=branch, destination_dir=repodir, commit=commit, base_uri=repo_base) r.execute() host_kernel = job.kernel(r.destination_dir) if patch_list: host_kernel.patch(patch_list) if kernel_config: host_kernel.config(kernel_config) host_kernel.build() host_kernel.install() git_repo_version = "%s:%s:%s" % (r.uri, r.branch, r.get_top_commit()) utils.write_keyval(job.resultdir, {"software_version_kernel": git_repo_version}) host_kernel.boot() else: logging.info("Chose %s, using the current kernel for the host", install_type) k_version = utils.system_output("uname -r", ignore_status=True) utils.write_keyval(job.resultdir, {"software_version_kernel": k_version})