def METHOD_NAME(self):
    """
    Perform generic prereq before calling openshift-installer
    This method performs all the basic steps necessary before invoking the
    installer
    """
    deploy = config.RUN["cli_params"]["deploy"]
    teardown = config.RUN["cli_params"]["teardown"]
    if teardown and not deploy:
        msg = "Attempting teardown of non-accessible cluster: "
        msg += f"{self.cluster_path}"
        pytest.fail(msg)
    elif not deploy and not teardown:
        msg = "The given cluster can not be connected to: {}. ".format(
            self.cluster_path
        )
        msg += (
            "Provide a valid --cluster-path or use --deploy to "
            "deploy a new cluster"
        )
        pytest.fail(msg)
    elif not system.is_path_empty(self.cluster_path) and deploy:
        msg = "The given cluster path is not empty: {}. ".format(self.cluster_path)
        msg += (
            "Provide an empty --cluster-path and --deploy to deploy "
            "a new cluster"
        )
        pytest.fail(msg)
    else:
        logger.info(
            "A testing cluster will be deployed and cluster information "
            "stored at: %s",
            self.cluster_path,
        )
    if not self.flexy_deployment and config.DEPLOYMENT.get("disconnected"):
        ocp_relase_image = get_ocp_release_image()
        if constants.SHA_SEPARATOR in ocp_relase_image:
            ocp_image_path, ocp_version = ocp_relase_image.split("@")
        else:
            ocp_image_path, ocp_version = ocp_relase_image.split(":")
        _, _, ics, _ = mirror_ocp_release_images(ocp_image_path, ocp_version)
        config.RUN["imageContentSources"] = ics
    if (
        not self.flexy_deployment
        and config.ENV_DATA["deployment_type"] != "managed"
    ):
        self.create_config()