feat: add tier entity
Summary
Part of #330 (closed) - tiers implementation.
- Introduce new global table
_pico_tierwithreplication_factorconfiguration. Earlier it was stored in_pico_property. - Instance and Replicaset belongs to tier via new field
tierin_pico_instanceand_pico_replicaset. - New CLI option
picodata run --init-cfg. It takes a path to yaml file. The bootstrap leader accounts it during raft bootstrap (start_bootfunction). If not specified, the cluster is bootstapped with the only tier "storage". - New CLI option
picodata run --tier. Default value: "storage". It's accounted instart_joinandproc_raft_join. - Function
choose_replicaset_idis refactored to account tiers.
Ensure that
-
New code is covered by tests -
API is documented -
Changelog is up to date -
(if Lua API changed) Lua API version is bumped inluamod.rs -
Follow-up doc issue: docs#101 (closed)
Edited by Yaroslav Dynnikov