code: def is_request_complete_for_rid(request, rid):
      
      broker_key = get_broker_rsp_key()
      for unit in related_units(rid):
          rdata = relation_get(rid=rid, unit=unit)
          if rdata.get(broker_key):
              rsp = CephBrokerRsp(rdata.get(broker_key))
              if rsp.request_id == request.request_id:
                  if not rsp.exit_code:
                      return True
          else:
              # The remote unit sent no reply targeted at this unit so either the
              # remote ceph cluster does not support unit targeted replies or it
              # has not processed our request yet.
              if rdata.get('broker_rsp'):
                  request_data = json.loads(rdata['broker_rsp'])
                  if request_data.get('request-id'):
                      log('Ignoring legacy broker_rsp without unit key as remote '
                          'service supports unit specific replies', level=DEBUG)
                  else:
                      log('Using legacy broker_rsp as remote service does not '
                          'supports unit specific replies', level=DEBUG)
                      rsp = CephBrokerRsp(rdata['broker_rsp'])
                      if not rsp.exit_code:
                          return True
  
      return False
docs: Check if a given request has been completed on the given relation
  
      @param request: A CephBrokerRq object
      @param rid: Relation ID