docs: def _ows_check_if_paused(services=None, ports=None):
      """Check if the unit is supposed to be paused, and if so check that the
      services/ports (if passed) are actually stopped/not being listened to.
  
      If the unit isn't supposed to be paused, just return None, None
  
      If the unit is performing a series upgrade, return a message indicating
      this.
  
      @param services: OPTIONAL services spec or list of service names.
      @param ports: OPTIONAL list of port numbers.
      @returns state, message or None, None
      """
      if is_unit_upgrading_set():
          state, message = check_actually_paused(services=services,
                                                 ports=ports)
          if state is None:
              # we're paused okay, so set maintenance and return
              state = "blocked"
              message = ("Ready for do-release-upgrade and reboot. "
                         "Set complete when finished.")
          return state, message
  
      if is_unit_paused_set():
          state, message = check_actually_paused(services=services,
                                                 ports=ports)
          if state is None:
              # we're paused okay, so set maintenance and return
              state = "maintenance"
              message = "Paused. Use 'resume' action to resume normal service."
          return state, message
      return None, None