The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/6905
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) === Closes #6898 Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
From 2df1e5b750b90042474b6a1a505d74e5c594eb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com> Date: Wed, 19 Feb 2020 16:59:53 -0500 Subject: [PATCH] lxd/db: Set ceph.user.name if missing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #6898 Signed-off-by: Stéphane Graber <stgra...@ubuntu.com> --- lxd/db/cluster/schema.go | 2 +- lxd/db/cluster/update.go | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/lxd/db/cluster/schema.go b/lxd/db/cluster/schema.go index 02f2057d10..979578656e 100644 --- a/lxd/db/cluster/schema.go +++ b/lxd/db/cluster/schema.go @@ -495,5 +495,5 @@ CREATE TABLE storage_volumes_config ( FOREIGN KEY (storage_volume_id) REFERENCES storage_volumes (id) ON DELETE CASCADE ); -INSERT INTO schema (version, updated_at) VALUES (24, strftime("%s")) +INSERT INTO schema (version, updated_at) VALUES (25, strftime("%s")) ` diff --git a/lxd/db/cluster/update.go b/lxd/db/cluster/update.go index 7b9763a238..43691eb38b 100644 --- a/lxd/db/cluster/update.go +++ b/lxd/db/cluster/update.go @@ -60,6 +60,38 @@ var updates = map[int]schema.Update{ 22: updateFromV21, 23: updateFromV22, 24: updateFromV23, + 25: updateFromV24, +} + +// The ceph.user.name config key is required for Ceph to function. +func updateFromV24(tx *sql.Tx) error { + // Fetch the IDs of all existing Ceph pools. + poolIDs, err := query.SelectIntegers(tx, `SELECT id FROM storage_pools WHERE driver='ceph'`) + if err != nil { + return errors.Wrap(err, "Failed to get IDs of current ceph pools") + } + + for _, poolID := range poolIDs { + // Fetch the config for this Ceph pool. + config, err := query.SelectConfig(tx, "storage_pools_config", "storage_pool_id=?", poolID) + if err != nil { + return errors.Wrap(err, "Failed to fetch of ceph pool config") + } + + // Check if already set. + _, ok := config["ceph.user.name"] + if ok { + continue + } + + // Add ceph.user.name config entry. + _, err = tx.Exec("INSERT INTO storage_pools_config (storage_pool_id, key, value) VALUES (?, 'ceph.user.name', 'ceph')", poolID) + if err != nil { + return errors.Wrap(err, "Failed to create ceph.user.name config") + } + } + + return nil } // The lvm.vg_name config key is required for LVM to function.
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel