def check_installation()

in source/code/troubleshooter/modules/install/install.py [0:0]


def check_installation(interactive, err_codes=True, prev_success=NO_ERROR):
    print("CHECKING INSTALLATION...")
    # keep track of if all tests have been successful
    success = prev_success
    
    if (interactive and err_codes):
        if (ask_install_error_codes() == USER_EXIT):
            return USER_EXIT

    # check OS
    print("Checking if running a supported OS version...")
    checked_os = check_os()
    if (is_error(checked_os)):
        return print_errors(checked_os)
    else:
        success = print_errors(checked_os)
    
    # check space available
    print("Checking if enough disk space is available...")
    checked_space = check_space()
    if (is_error(checked_space)):
        return print_errors(checked_space)
    else:
        success = print_errors(checked_space)

    # check package manager
    print("Checking if machine has a supported package manager...")
    checked_pkg_manager = update_pkg_manager()
    if (is_error(checked_pkg_manager)):
        return print_errors(checked_pkg_manager)
    else:
        success = print_errors(checked_pkg_manager)
    
    # check packages are installed
    print("Checking if packages installed correctly...")
    checked_packages = check_packages()
    if (is_error(checked_packages)):
        return print_errors(checked_packages)
    else:
        success = print_errors(checked_packages)

    # check OMS version
    print("Checking if running a supported version of OMS...")
    checked_oms = check_oms(interactive)
    if (is_error(checked_oms)):
        return print_errors(checked_oms)
    else:
        success = print_errors(checked_oms)

    # check all files
    if (os.path.isdir(DFS_PATH)):
        print("Checking if all files installed correctly (may take some time)...")
        checked_files = check_filesystem(DFS_PATH)
        if (is_error(checked_files)):
            return print_errors(checked_files)
        else:
            success = print_errors(checked_files)
    else:
        print("WARNING (INTERNAL): Datafiles have not been successfully copied over.")
        print("Skipping all files installed correctly check...")

    # check certs
    print("Checking certificate and RSA key are correct...")
    # check cert
    checked_cert = check_cert()
    if (checked_cert != NO_ERROR):
        success = print_errors(checked_cert)
    # check key
    checked_key = check_key()
    if (checked_key != NO_ERROR):
        success = print_errors(checked_key)
    # return if at least one is false
    if (is_error(checked_cert) or is_error(checked_key)):
        return ERR_FOUND
    
    return success