Пример #1
0
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()
Пример #2
0
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()

    # 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()

    rhel_repoids = []
    if not toolopts.tool_opts.no_rhsm:
        loggerinst.task("Convert: Subscription Manager - Download packages")
        subscription.download_rhsm_pkgs()
        loggerinst.task("Convert: Subscription Manager - Replace")
        subscription.replace_subscription_manager()
        loggerinst.task("Convert: Subscription Manager - Verify installation")
        subscription.verify_rhsm_installed()
        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()

    # remove non-RHEL packages containing repofiles or affecting variables in the repofiles
    loggerinst.task("Convert: Remove packages containing .repo files")
    pkghandler.remove_repofile_pkgs()

    # we need to enable repos after removing repofile pkgs, otherwise we don't get backups
    # to restore from on a rollback
    if not toolopts.tool_opts.no_rhsm:
        loggerinst.task(
            "Convert: Subscription Manager - Enable RHEL repositories")
        subscription.enable_repos(rhel_repoids)

    # perform final checks before the conversion
    loggerinst.task("Convert: Final system checks before main conversion")
    checks.perform_pre_ponr_checks()
Пример #3
0
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()
Пример #4
0
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()
Пример #5
0
    def test_list_third_party_pkgs(self):
        pkghandler.list_third_party_pkgs()

        self.assertEqual(len(pkghandler.print_pkg_info.pkgs), 3)
        self.assertTrue(
            "Only packages signed by" in logger.CustomLogger.warning.msg)
Пример #6
0
    def test_list_third_party_pkgs_no_pkgs(self):
        pkghandler.list_third_party_pkgs()

        self.assertEqual(logger.CustomLogger.info.msg,
                         "No third party packages installed.\n")