docs: def wait_for_conns(self, timeout=60, start_delay=0, interval=5, **kwargs):
          ''' delays unitil all connections are working
  
              args:
                  timeout: number of seconds to try to connecting. Error out when
                          timeout is reached
                  start_delay: number of seconds to wait before checking status
                  interval: number of seconds to wait between checks
          '''
          log.setLevel(kwargs.get('log_level',self.log_level))
          timestamp = time.time()
          last_check = time.time() + start_delay - interval
          last_delay_notification = time.time() - interval
          timeout += 1
          failing = True
          up_conns = {}
          # loop until the server is up or the timeout is reached
          while((time.time()-timestamp) < timeout) and failing:
              # if delaying, the start of the check, print waiting to start
              if start_delay > 0 and time.time() - timestamp < start_delay \
                      and (time.time()-last_delay_notification) > 5:
                  print("Delaying server status check until %ss. Current time: %ss" \
                          % (start_delay, int(time.time() - timestamp)))
                  last_delay_notification = time.time()
              # check status at the specified 'interval' until the server is up
              first_check = True
              while ((time.time()-last_check) > interval) and failing:
                  msg = ["\tChecked status of servers at %ss" % \
                          int((time.time()-timestamp)),
                         "\t** CONNECTION STATUS:"]
                  last_check = time.time()
                  failing = self.failing
                  new_up = (self.active.keys() - failing.keys()) - \
                            up_conns.keys()
                  msg += ["\t\t UP - %s: %s" % (key, self.conns[key])
                         for key in new_up]
                  up_conns.update({key: self.conns[key] for key in new_up})
                  msg.append("\t*** '%s' connection(s) up" % len(up_conns))
                  msg += ["\t\t FAILING - %s: %s" % (key, self.conns[key])
                          for key in failing]
                  log.info("** CONNECTION STATUS:\n%s", "\n".join(msg))
                  if not failing:
                      log.info("**** Servers up at %ss" % \
                          int((time.time()-timestamp)))
                      break
          if failing:
              raise RuntimeError("Unable to establish connection(s): ",
                                 failing)
          for conn in up_conns.values():
              conn.delay_check_pass()
          return not failing