code: def port_knock_units(self, sentry_units, port=22,
                           timeout=15, expect_success=True):
          
          for unit in sentry_units:
              host = unit.info['public-address']
              connected = self.port_knock_tcp(host, port, timeout)
              if not connected and expect_success:
                  return 'Socket connect failed.'
              elif connected and not expect_success:
                  return 'Socket connected unexpectedly.'
docs: Open a TCP socket to check for a listening sevice on each
          listed juju unit.
  
          :param sentry_units: list of sentry unit pointers
          :param port: TCP port number, default to 22
          :param timeout: Connect timeout, default to 15 seconds
          :expect_success: True by default, set False to invert logic
          :returns: None if successful, Failure message otherwise