def verify_running(): sys.stderr.write("running; ") @inlineCallbacks def validate_connected(client): self.assertTrue(client.connected) sys.stderr.write("connected.") exists_deferred, watch_deferred = client.exists_and_watch( "/charms") stat = yield exists_deferred if stat: test_complete.callback(None) returnValue(True) yield watch_deferred stat = yield client.exists("/charms") self.assertTrue(stat) test_complete.callback(None) def propogate_failure(failure): test_complete.errback(failure) return failure def close_client(result, client): client.close() server = "%s:2181" % instances[0].dns_name client = SSHClient() client_deferred = client.connect(server, timeout=300) client_deferred.addCallback(validate_connected) client_deferred.addErrback(propogate_failure) client_deferred.addBoth(close_client, client)
def setUp(self): super(ConnectionTest, self).setUp() self.username = pwd.getpwuid(os.getuid())[0] self.log = self.capture_logging("juju.state.sshforward") self.old_user_name = SSHClient.remote_user SSHClient.remote_user = self.username self.client = SSHClient() zookeeper.set_debug_level(0)
def _internal_connect(self, share): """Attempt connection to one of the ZK nodes.""" candidates = yield self._provider.get_zookeeper_machines() assigned = [machine for machine in candidates if machine.dns_name] if not assigned: yield sleep(1) # Momentarily backoff raise EnvironmentPending("No machines have assigned addresses") chosen = random.choice(assigned) log.debug("Connecting to environment using %s...", chosen.dns_name) try: client = yield SSHClient().connect( chosen.dns_name + ":2181", timeout=30, share=share) except (NoConnection, ConnectionTimeoutException) as e: raise EnvironmentPending( "Cannot connect to environment using %s " "(perhaps still initializing): %s" % ( chosen.dns_name, str(e))) yield self.wait_for_initialization(client) returnValue(client)
def setUp(self): self.sshclient = SSHClient() self.log = self.capture_logging("juju.state.sshforward")