def METHOD_NAME():
    if os.geteuid() != 0:
        return
    if not crmsh.utils.can_ask(background_wait=False):
        return
    nodes = crmsh.utils.list_cluster_nodes(no_reg=True)
    if nodes is not None and len(nodes) > 1 \
            and _is_upgrade_needed(nodes):
        logger.debug("upgradeutil: configuration fix needed")
        try:
            if not _is_cluster_target_seq_consistent(nodes):
                logger.warning("crmsh configuration is inconsistent in cluster.")
                raise _SkipUpgrade()
            seq = _get_minimal_seq_in_cluster(nodes)
            logger.debug(
                "Upgrading crmsh from seq %s to %s.",
                seq, _format_upgrade_seq(CURRENT_UPGRADE_SEQ),
            )
            _upgrade(nodes, seq)
        except _SkipUpgrade:
            logger.debug("upgradeutil: configuration fix skipped")
            return
        # TODO: replace with parallax_copy when it is ready
        for node in nodes:
            crmsh.utils.get_stdout_or_raise_error(
                "mkdir -p '{}' && echo '{}' > '{}'".format(
                    DATA_DIR,
                    _format_upgrade_seq(CURRENT_UPGRADE_SEQ),
                    SEQ_FILE_PATH,
                ),
                node,
            )
        crmsh.parallax.parallax_call(nodes, 'rm -f {}'.format(FORCE_UPGRADE_FILE_PATH))
        logger.debug("configuration fix finished")