docs: def check_actually_paused(services=None, ports=None):
      """Check that services listed in the services object and ports
      are actually closed (not listened to), to verify that the unit is
      properly paused.
  
      @param services: See _extract_services_list_helper
      @returns status, : string for status (None if okay)
               message : string for problem for status_set
      """
      state = None
      message = None
      messages = []
      if services is not None:
          services = _extract_services_list_helper(services)
          services_running, services_states = _check_running_services(services)
          if any(services_states):
              # there shouldn't be any running so this is a problem
              messages.append("these services running: {}"
                              .format(", ".join(
                                  _filter_tuples(services_running, True))))
              state = "blocked"
          ports_open, ports_open_bools = (
              _check_listening_on_services_ports(services, True))
          if any(ports_open_bools):
              message_parts = {service: ", ".join([str(v) for v in open_ports])
                               for service, open_ports in ports_open.items()}
              message = ", ".join(
                  ["{}: [{}]".format(s, sp) for s, sp in message_parts.items()])
              messages.append(
                  "these service:ports are open: {}".format(message))
              state = 'blocked'
      if ports is not None:
          ports_open, bools = _check_listening_on_ports_list(ports)
          if any(bools):
              messages.append(
                  "these ports which should be closed, but are open: {}"
                  .format(", ".join([str(p) for p, v in ports_open if v])))
              state = 'blocked'
      if messages:
          message = ("Services should be paused but {}"
                     .format(", ".join(messages)))
      return state, message