def METHOD_NAME(
    branch: str, os_type: str = "centos", os_version: str = "9", arch: str = "x86_64"
):
    """
    Method to get rpm repo path,container image and ceph version of given branch.
    Args:
        branch: str         Upstream branch name
        os_type: str        OS name ( default: centos )
        os_version: str     Centos Version (default: 9)
        arch: str           CPU Architecture (default: x86_64)
    """
    url = "https://shaman.ceph.com/api/repos/ceph/"
    url += f"{branch.lower()}/latest/{os_type}/{os_version}"
    def check_status(resp):
        if not resp.ok:
            resp.raise_for_status()
    # if any connection issue to URL it will wait for 30 seconds to establish connection.
    response = requests.get(url, timeout=30)
    check_status(response)
    _repo, _id, _version = None, None, None
    for srcs in response.json():
        if arch in srcs["archs"]:
            _version = srcs["extra"]["version"]
            _url = srcs["chacra_url"]
            _repo = f"{_url}repo" if _url.endswith("/") else f"{_url}/repo"
            _id = srcs["sha1"]
            break
    else:
        raise Exception(
            f"Could not find build source for {branch}-{os_type}-{os_version}-{arch}"
        )
    LOG.info(f"Upstream repo for the given branch is {_repo}")
    # To get image for that rpm repo
    image = "quay.ceph.io/ceph-ci/ceph:" + _id
    LOG.info(f"Upstream image for the given branch is {image}")
    cmd = "podman -v"
    exit_status = os.system(cmd)
    if exit_status:
        raise Exception("Please install podman on host")
    cmd = f"sudo podman pull {image}"
    exit_status = os.system(cmd)
    if exit_status:
        raise Exception(f"Failed to pull {image} using podman.")
    LOG.info(f"Upstream version for the given branch is {_version}")
    store_in_upstream(branch, _repo, image, _version)