def METHOD_NAME(self):
    """This method creates a tar file based on the release manifest.
    Returns:
        (str): returns the tar file
    """
    tarball_path = ybutils.get_release_file(self.repository,
                                            self.release_name,
                                            self.build_type)
    ybutils.log_message(logging.INFO, "Exporting release tarball")
    # TODO(bogdan,ram): hack around yugabyte untaring into a top-level dir named by repo.
    # This should only be the repo name passed in from the respective yb_release.py in either
    # yugabyte or devops.
    prefix_dir = ""
    if self.release_name == "yugabyte":
        prefix_dir = "{}-{}".format(
            self.release_name, ybutils.get_default_release_version(self.repository))
    with tarfile.open(tarball_path, "w:gz") as tar:
        for folder_key in self.release_manifest:
            if folder_key.startswith("/"):
                raise YBOpsRuntimeError("Manifest file keys should not start with /")
            for file_pattern in self.release_manifest[folder_key]:
                # If the file pattern starts with /, we assume that the pattern includes
                # absolute path, if not it is relative to the repository path.
                if not file_pattern.startswith("/"):
                    file_pattern = os.path.join(self.repository, file_pattern)
                for file_path in glob.glob(file_pattern):
                    path_within_tarball = os.path.join(
                        prefix_dir, folder_key, os.path.basename(file_path))
                    tar.add(file_path, arcname=path_within_tarball)
    ybutils.log_message(logging.INFO, "Generated tarball: {}".format(tarball_path))
    return tarball_path