There are two things that must be put into systemd units: support for loading BRM from S3 and conditional SM start.
For the former part we need to introduce a custom BRM loader(preferable in Python) that can choose b/w:
- S3-backed BRM. This mode supports all kind of installations if SM is configured(more strict condition if it is properly configured)
- local BRM files. This mode can be used by single-node and multi-node installations with local storages.
- compare local BRM and get it from the main node(only if needed). This mode must be used by nodes with local storage and w/o controllernode(slave DBRM nodes).
For the latter part, namely SM conditional start systemd we can rely on a conditional check, e.g. if /etc/columnstore/storage-manager.cnf is not empty.