def setUp(self): self.conf = SyncObjConf(appendEntriesUseBatch=False, appendEntriesPeriod=0.001, raftMinTimeout=0.004, raftMaxTimeout=0.005, autoTickPeriod=0.001) callback = Mock() callback.replicated = False self.so = KVStoreTTL('127.0.0.1:1234', [], self.conf, on_set=callback, on_delete=callback) self.so.set_retry_timeout(10)
def test_on_ready_override(self): self.assertTrue(self.so.set('foo', 'bar')) self.so.destroy() self.so = None so = KVStoreTTL(Mock(), None, None, self_addr='127.0.0.1:1234', partner_addrs=['127.0.0.1:1235'], patronictl=True) so.doTick(0) so.destroy()
def test_on_ready_override(self): self.assertTrue(self.so.set('foo', 'bar')) self.destroy(self.so) self.so = None self.conf.onReady = Mock() self.conf.autoTick = False so = KVStoreTTL('127.0.0.1:1234', ['127.0.0.1:1235'], self.conf) so.doTick(0) so.destroy()
def setUp(self): callback = Mock() callback.replicated = False self.so = KVStoreTTL(None, callback, callback, self_addr='127.0.0.1:1234') self.so.startAutoTick() self.so.set_retry_timeout(10)
def cleanup_service_tree(self): from patroni.dcs.raft import KVStoreTTL if self._raft: self._raft.destroy() self.stop() os.makedirs(self._work_directory) self.start() ready_event = threading.Event() self._raft = KVStoreTTL(ready_event.set, None, None, partner_addrs=[self.CONTROLLER_ADDR], password=self.PASSWORD) self._raft.startAutoTick() ready_event.wait()
def __init__(self, config): super(RaftController, self).__init__(config) raft_config = self.config.get('raft') self_addr = raft_config['self_addr'] template = os.path.join(raft_config.get('data_dir', ''), self_addr) self._syncobj_config = SyncObjConf(autoTick=False, appendEntriesUseBatch=False, dynamicMembershipChange=True, journalFile=template + '.journal', fullDumpFile=template + '.dump') self._raft = KVStoreTTL(self_addr, raft_config.get('partner_addrs', []), self._syncobj_config)
def cleanup_service_tree(self): from patroni.dcs.raft import KVStoreTTL from pysyncobj import SyncObjConf if self._raft: self._raft.destroy() self._raft._SyncObj__thread.join() self.stop() os.makedirs(self._work_directory) self.start() ready_event = threading.Event() conf = SyncObjConf(appendEntriesUseBatch=False, dynamicMembershipChange=True, onReady=ready_event.set) self._raft = KVStoreTTL(None, [self.CONTROLLER_ADDR], conf) ready_event.wait()