Module cartridge.topology¶
Topology validation and filtering.
Functions¶
cluster_is_healthy ()¶
Check the cluster health. It is healthy if all instances are healthy.
The function is designed mostly for testing purposes.
Returns:
(boolean) true / false
Local Functions¶
get_leaders_orded (topology_cfg, replicaset_uuid, new_order)¶
Get full list of replicaset leaders.
Full list is composed of:
New order array
Initial order from topology_cfg (with no repetitions)
All other servers in the replicaset, sorted by uuid, ascending
Neither topology_cfg
nor new_order
tables are modified.
New order validity is ignored too.
Parameters:
Returns:
({string,…}) array of leaders uuids
validate (topology_new, topology_old)¶
Validate topology configuration.
Parameters:
Returns:
(boolean) true
Or
(nil)
(table) Error description
find_server_by_uri (topology_cfg, uri)¶
Find the server in topology config.
(Added in v1.2.0-17)
Parameters:
Returns:
(nil or string) instance_uuid found
refine_servers_uri (topology_cfg)¶
Merge servers URIs form topology_cfg with fresh membership status.
This function sustains cartridge operability in case of advertise_uri change. The uri map is composed basing on topology_cfg, but if some of them turns out to be dead, the member with corresponding payload.uuid is searched beyond.
(Added in v2.3.0-7)
Parameters:
topology_cfg: (table)
Returns:
({[uuid]) = uri} with all servers except expelled ones.
probe_missing_members (servers)¶
Send UDP ping to servers missing from membership table.
Parameters:
servers: (table)
Returns:
(boolean) true
Or
(nil)
(table) Error description
get_fullmesh_replication (topology_cfg, replicaset_uuid)¶
Get replication config to set up full mesh.
(Added in v1.2.0-17)
Parameters:
Returns:
(table)