def setUp(self): self.logger = debug_logger() self.test_dir = tempfile.mkdtemp() self.ports = self.PORTS self._sim_map = {} try: self._sim_map = start_simulators(self.test_dir, *self.ports) self.client_map = {} for port in self.ports: self.client_map[port] = KineticSwiftClient( self.logger, 'localhost', port) except Exception: e, v, t = sys.exc_info() self.tearDown() raise e, v, t
def _new_connection(self, host, port, **kwargs): kwargs.setdefault('connect_timeout', self.connect_timeout) kwargs.setdefault('response_timeout', self.response_timeout) for i in range(1, self.connect_retry + 1): try: return KineticSwiftClient(self.logger, host, int(port), **kwargs) except Timeout: self.logger.warning('Drive %s:%s connect timeout #%d (%ds)' % ( host, port, i, self.connect_timeout)) except Exception: self.logger.exception('Drive %s:%s connection error #%d' % ( host, port, i)) if i < self.connect_retry: sleep(1) msg = 'Unable to connect to drive %s:%s after %s attempts' % ( host, port, i) self.logger.error(msg) raise diskfile.DiskFileDeviceUnavailable()
def __init__(self, root, device, *args, **kwargs): kwargs['mount_check'] = False super(DiskFile, self).__init__(root, device, *args, **kwargs) host, port = device.split(':') self.conn = KineticSwiftClient(host, int(port)) self.hashpath = os.path.basename(self.datadir.rstrip(os.path.sep)) self._buffer = '' # this is the first "disk_chunk_size" + metadata self._headbuffer = None self._nounce = None self.upload_size = 0 self.last_sync = 0 # configurables self.write_depth = DEFAULT_DEPTH try: self._connect() except socket.error: self.logger.exception('unable to connect to %s:%s' % (self.conn.hostname, self.conn.port)) self.conn.close() raise diskfile.DiskFileDeviceUnavailable()
def get_conn(self, device): host, port = device.split(':') conn = KineticSwiftClient(host, int(port)) return conn