def pre_ponr_conversion(): """Perform steps and checks to guarantee system is ready for conversion.""" # check if user pass some repo to both disablerepo and enablerepo options pkghandler.has_duplicate_repos_across_disablerepo_enablerepo_options() # checking if /mnt and /sys are read-write loggerinst.task("Convert: Checking /mnt and /sys are read-write") utils.check_readonly_mounts() # package analysis loggerinst.task("Convert: List third-party packages") pkghandler.list_third_party_pkgs() # remove excluded packages loggerinst.task("Convert: Remove excluded packages") pkghandler.remove_excluded_pkgs() # handle special cases loggerinst.task("Convert: resolve possible edge cases") special_cases.check_and_resolve() if not toolopts.tool_opts.disable_submgr: loggerinst.task("Convert: Subscription Manager - Download packages") subscription.download_rhsm_pkgs() loggerinst.task("Convert: Subscription Manager - Replace") subscription.replace_subscription_manager() loggerinst.task("Convert: Install RHEL certificates for RHSM") system_cert = cert.SystemCert() system_cert.install() loggerinst.task("Convert: Subscription Manager - Subscribe system") subscription.subscribe_system() loggerinst.task("Convert: Get RHEL repository IDs") rhel_repoids = repo.get_rhel_repoids() loggerinst.task( "Convert: Subscription Manager - Check required repositories") subscription.check_needed_repos_availability(rhel_repoids) loggerinst.task( "Convert: Subscription Manager - Disable all repositories") subscription.disable_repos() loggerinst.task( "Convert: Subscription Manager - Enable RHEL repositories") subscription.enable_repos(rhel_repoids) # remove non-RHEL packages containing repofiles or affecting variables in the repofiles loggerinst.task("Convert: Remove packages containing repofiles") pkghandler.remove_repofile_pkgs() # comment out the distroverpkg variable in yum.conf loggerinst.task("Convert: Patch yum configuration file") redhatrelease.YumConf().patch() # perform final checks before the conversion loggerinst.task("Convert: Final system checks before main conversion") checks.perform_pre_ponr_checks()
def test_patch_yum_conf_missing_distroverpkg(self): yum_conf = redhatrelease.YumConf() yum_conf._yum_conf_content = YUM_CONF_WITHOUT_DISTROVERPKG for version in self.supported_rhel_versions: system_info.version = version # Call just this function to avoid unmockable built-in write func yum_conf._comment_out_distroverpkg_tag() self.assertFalse("distroverpkg=" in yum_conf._yum_conf_content) self.assertEqual(yum_conf._yum_conf_content.count("distroverpkg="), 0)
def patch_yum_conf(self, yum_conf_content): yum_conf = redhatrelease.YumConf() yum_conf._yum_conf_content = yum_conf_content for version in self.supported_rhel_versions: system_info.version = version # Call just this function to avoid unmockable built-in write func yum_conf._insert_distroverpkg_tag() self.assertTrue( "\ndistroverpkg=redhat-release" in yum_conf._yum_conf_content) self.assertEqual( yum_conf._yum_conf_content.count("\ndistroverpkg="), 1)
def test_patch_yum_conf_existing_distroverpkg(self): yum_conf = redhatrelease.YumConf() yum_conf._yum_conf_content = YUM_CONF_WITH_DISTROVERPKG for major in self.supported_rhel_versions: system_info.version = namedtuple("Version", ["major", "minor"])(major, 0) # Call just this function to avoid unmockable built-in write func yum_conf._comment_out_distroverpkg_tag() self.assertTrue("#distroverpkg=" in yum_conf._yum_conf_content) self.assertEqual( yum_conf._yum_conf_content.count("#distroverpkg="), 1)
def pre_ponr_conversion(): """Perform steps and checks to guarantee system is ready for conversion.""" loggerinst = logging.getLogger(__name__) # remove blacklisted packages loggerinst.task("Convert: Remove blacklisted packages") pkghandler.remove_blacklisted_pkgs() # checking RHN Classic loggerinst.task("Checking RHN Classic") subscription.unregister_from_rhn_classic() # install redhat release package loggerinst.task("Convert: Install Red Hat release package") redhatrelease.install_release_pkg() # replace distroverpkg variable in yum.conf loggerinst.task("Convert: Patch yum configuration file") redhatrelease.YumConf().patch() if systeminfo.system_info.version == "5": cert.copy_cert_for_rhel_5() # package analysis loggerinst.task("Convert: Package analysis") repos_needed = repo.package_analysis() if toolopts.tool_opts.disable_submgr: loggerinst.task("Convert: Check required repos") repo.check_needed_repos_availability(repos_needed) else: loggerinst.task("Convert: Subscription Manager - Install") subscription.install_subscription_manager() loggerinst.task("Convert: Subscription Manager - Subscribe system") subscription.subscribe_system() loggerinst.task("Convert: Subscription Manager - Check required repos") repo.check_needed_repos_availability(repos_needed) loggerinst.task("Convert: Subscription Manager - Disable all repos") subscription.disable_repos() loggerinst.task("Convert: Subscription Manager - Enable needed repos") subscription.enable_repos(repos_needed) # TODO: Replace renaming .repo files by using --enable for yum command loggerinst.task("Convert: Subscription Manager - Rename repos") subscription.rename_repo_files()
def pre_ponr_conversion(): """Perform steps and checks to guarantee system is ready for conversion.""" loggerinst = logging.getLogger(__name__) # check if user pass some repo to both disablerepo and enablerepo options pkghandler.has_duplicate_repos_across_disablerepo_enablerepo_options() # package analysis loggerinst.task("Convert: List third-party packages") pkghandler.list_third_party_pkgs() # remove excluded packages loggerinst.task("Convert: Remove excluded packages") pkghandler.remove_excluded_pkgs() if not toolopts.tool_opts.disable_submgr: loggerinst.task("Convert: Subscription Manager - Replace") subscription.replace_subscription_manager() loggerinst.task("Convert: Install RHEL certificates for RHSM") system_cert = cert.SystemCert() system_cert.install() loggerinst.task("Convert: Subscription Manager - Subscribe system") subscription.subscribe_system() loggerinst.task("Convert: Get RHEL repository IDs") rhel_repoids = repo.get_rhel_repoids() loggerinst.task( "Convert: Subscription Manager - Check required repositories") subscription.check_needed_repos_availability(rhel_repoids) loggerinst.task( "Convert: Subscription Manager - Disable all repositories") subscription.disable_repos() loggerinst.task( "Convert: Subscription Manager - Enable RHEL repositories") subscription.enable_repos(rhel_repoids) # remove non-RHEL packages containing repofiles or affecting variables in the repofiles loggerinst.task("Convert: Remove packages containing repofiles") pkghandler.remove_repofile_pkgs() # comment out the distroverpkg variable in yum.conf loggerinst.task("Convert: Patch yum configuration file") redhatrelease.YumConf().patch()
def post_ponr_conversion(): """Perform main steps for system conversion.""" loggerinst.task("Convert: Import Red Hat GPG keys") pkghandler.install_gpg_keys() loggerinst.task("Convert: Prepare kernel") pkghandler.preserve_only_rhel_kernel() loggerinst.task("Convert: Replace packages") pkghandler.replace_non_red_hat_packages() loggerinst.task("Convert: List remaining non-Red Hat packages") pkghandler.list_non_red_hat_pkgs_left() loggerinst.task("Convert: Configure the bootloader") grub.post_ponr_set_efi_configuration() loggerinst.task("Convert: Patch yum configuration file") redhatrelease.YumConf().patch() loggerinst.task("Convert: Lock releasever in RHEL repositories") subscription.lock_releasever_in_rhel_repositories() breadcrumbs.breadcrumbs.finish_success() return
def pre_ponr_conversion(): """Perform steps and checks to guarantee system is ready for conversion.""" loggerinst = logging.getLogger(__name__) # remove excluded packages loggerinst.task("Convert: Remove excluded packages") pkghandler.remove_excluded_pkgs() # install redhat release package loggerinst.task("Convert: Install Red Hat release package") redhatrelease.install_release_pkg() # replace distroverpkg variable in yum.conf loggerinst.task("Convert: Patch yum configuration file") redhatrelease.YumConf().patch() # package analysis loggerinst.task("Convert: List third-party packages") pkghandler.list_third_party_pkgs() if not toolopts.tool_opts.disable_submgr: loggerinst.task("Convert: Subscription Manager - Install") subscription.install_subscription_manager() loggerinst.task("Convert: Subscription Manager - Subscribe system") subscription.subscribe_system() loggerinst.task("Convert: Get RHEL repository IDs") rhel_repoids = repo.get_rhel_repoids() loggerinst.task( "Convert: Subscription Manager - Check required repositories") subscription.check_needed_repos_availability(rhel_repoids) loggerinst.task( "Convert: Subscription Manager - Disable all repositories") subscription.disable_repos() loggerinst.task( "Convert: Subscription Manager - Enable RHEL repositories") subscription.enable_repos(rhel_repoids) # TODO: Replace renaming .repo files by using --enable for yum command loggerinst.task("Convert: Subscription Manager - Rename repositories") subscription.rename_repo_files()
def test_get_yum_conf_content(self): yum_conf = redhatrelease.YumConf() self.assertTrue("Dummy file to read" in yum_conf._yum_conf_content)