]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
pybind/mgr: add sqlite3 db module helpers
authorPatrick Donnelly <pdonnell@redhat.com>
Fri, 9 Apr 2021 21:58:47 +0000 (14:58 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Sat, 12 Jun 2021 02:35:16 +0000 (19:35 -0700)
commite3d771702da3bb858064b67eb6c710a659bfb08d
treef521833c2f5dab827cac9740b8dc5067b9042ec1
parent7513b24aa5501812db5cc4277cdbd05d402073dc
pybind/mgr: add sqlite3 db module helpers

This creates a new '.mgr' pool for storing a default sqlite3 database
for each mgr module. Each module's database is stored in:

        file:///.mgr:<mgr module name>/main.db?vfs=ceph

The "main.db" is the only one used presently but perhaps a module may
want extra databases for some reason. The module name is used for the
RADOS namespace.

Databases are versioned in a common table called MgrModuleKV using the
"__version" key. A mechanism is in place (SCHEMA_VERSIONED) to allow
modules to upgrade their databases over time in a consistent way.

Fixes: https://tracker.ceph.com/issues/50278
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/pybind/mgr/mgr_module.py