Ingo Oppermann
fde99733c6
Add term number to cluster leader synchronization and rebalance logs
2023-09-04 15:06:25 +02:00
Ingo Oppermann
ce362e76bb
Fix occasional process rebalance if node resources are not reliable
2023-09-04 12:16:02 +02:00
Ingo Oppermann
bc76b4615d
Fix redeploying process when locally deleted
2023-07-23 20:33:18 +02:00
Ingo Oppermann
910c727585
Fix updating reference affinity map
2023-07-20 11:35:16 +02:00
Ingo Oppermann
1f24ea1b00
Check for correct error
2023-07-19 17:18:58 +02:00
Ingo Oppermann
8123b09dcf
Fix providing correct last_contact value for node
2023-07-17 20:55:29 +02:00
Ingo Oppermann
bc04bb2df8
Simplify rebalancing
2023-07-17 15:10:47 +02:00
Ingo Oppermann
02079e30c5
Fix checking for nil-value
2023-07-17 12:48:17 +02:00
Ingo Oppermann
fd7354286e
Extract functions, draft strategy for starting a process
2023-07-12 21:02:46 +02:00
Ingo Oppermann
c0c118340b
Fix updating the process-node map
2023-07-12 12:22:37 +02:00
Ingo Oppermann
69ffec6b6a
Fix writing empty error message
2023-07-11 22:37:40 +02:00
Ingo Oppermann
3883696034
Write deploy errors to cluster DB
2023-07-11 15:55:46 +02:00
Ingo Oppermann
0f06b8b5a0
Add /cluster/transfer/:id endpoint to transfer leadership to another node
2023-07-11 14:26:54 +02:00
Ingo Oppermann
d04254c891
Add /cluster/db/map/process endpoint
2023-07-11 10:57:56 +02:00
Ingo Oppermann
e49de44eb7
Deploy processes with order stop to nodes
2023-07-05 09:55:11 +02:00
Ingo Oppermann
c4d9d8afcb
Make emergency leadership only available in a cluster with two nodes
2023-06-30 16:59:11 +02:00
Ingo Oppermann
2b58c11bb1
Fix cluster process update on metadata change
2023-06-28 16:26:36 +02:00
Ingo Oppermann
944d487730
Allow to send command to process on the cluster
2023-06-22 21:43:51 +02:00
Ingo Oppermann
db00144cab
Clear locks only if not in emergency mode
2023-06-22 15:12:44 +02:00
Ingo Oppermann
a4d59a04b5
Add leader task to clear the expired locks
2023-06-22 14:12:02 +02:00
Ingo Oppermann
b35ac9ccc3
Allow proxied range requests, /cluster/process mimic /process
2023-06-21 13:14:27 +02:00
Ingo Oppermann
a728cc7839
Fix clusterNode/proxyNode
2023-06-14 22:05:59 +02:00
Ingo Oppermann
ccf4bee56d
WIP: cluster node revamp, add version and config comparison
2023-06-13 10:25:08 +02:00
Ingo Oppermann
82ba3a8f82
WIP: introducing cluster versioning, degraded mode
2023-06-09 21:42:26 +02:00
Ingo Oppermann
108b9baaa4
Adjusting naming of functions
2023-06-08 14:48:28 +02:00
Ingo Oppermann
a03ce87ec7
Add tests
2023-06-08 13:21:14 +02:00
Ingo Oppermann
7e7d1caca7
Add EmergencyLeaderTimeout parameter, ignore throttling nodes, implement NodeRecoverTimeout, introduce processNodeMap in cluster DB
2023-06-07 22:08:07 +02:00
Ingo Oppermann
bd75a5ad0f
Add SyncInterval and NodeRecoverTimeout to cluster config
2023-06-07 10:18:23 +02:00
Ingo Oppermann
8829b8fff0
Respect domain in cluster DB, allow metadata in process config for cluster
2023-06-05 21:19:11 +02:00
Ingo Oppermann
e532531eeb
Allow to set process metadata in the cluster
2023-06-02 14:17:35 +02:00
Ingo Oppermann
a79cfa0c77
Merge branch 'clusteriam' into vod
2023-06-01 15:16:54 +02:00
Ingo Oppermann
89cc42c4b9
Add cluster IAM, update dependencies
2023-05-30 21:24:12 +02:00
Ingo Oppermann
7d2b7b4836
WIP: allow update processes in cluster
2023-05-12 12:59:01 +02:00
Ingo Oppermann
f3e410f4f5
Change resources to absolute values
2023-05-11 21:58:55 +02:00
Ingo Oppermann
e4ca661b25
Fix logging
2023-05-11 16:12:41 +02:00
Ingo Oppermann
f566dee9f2
Abstract raft into own package
2023-05-11 12:09:04 +02:00
Ingo Oppermann
d214607ff8
Move code into packages
2023-05-10 20:41:04 +02:00
Ingo Oppermann
862c36c9e6
Use reference affinity when distributing processes
2023-05-10 19:59:15 +02:00
Ingo Oppermann
7a2d0a7ad9
Use reference affinity while rebalancing processes
2023-05-10 15:45:08 +02:00
Ingo Oppermann
5af5c686ee
Add basic rebalancing of processes
2023-05-10 14:01:40 +02:00
Ingo Oppermann
ae04dc50c7
Add process synchronization in leader role
2023-05-09 20:48:30 +02:00
Ingo Oppermann
d201921a33
Allow to provide complete cluster configuration
...
Replace CORE_CLUSTER_JOIN_ADDRESS with CORE_CLUSTER_PEERS. This is
a comma separated list of cluster members with their IDs of the form
ID@host:port
On startup the node tries to connect to all the peers. In case of
sudden deaths of a node this will allow to find back into the
cluster. The list in CLUSTER_PEERS is a starting point of known
peers. Other node that are not in that list can still join the
cluster.
File and stream proxy has been moved to the Proxy type.
2023-05-03 16:13:05 +02:00
Ingo Oppermann
386bdc0b6e
WIP: add emergency leader, api circuit breaker
2023-04-21 17:19:21 +02:00
Ingo Oppermann
27f19f9188
WIP: internal API
2023-04-17 14:01:20 +02:00
Ingo Oppermann
7643959bf8
WIP: raft leadership
2023-04-13 21:44:24 +02:00