From 8002e46b9d8c90c4d16ba411b1ff853fee2b25dd Mon Sep 17 00:00:00 2001 From: Andrea Spadaccini <spadaccio@google.com> Date: Tue, 6 Dec 2011 11:18:25 +0000 Subject: [PATCH] Add the metavg DRBD disk parameter This parameter represents the default metadata volume group for DRBD disks. It can be overridden at instance creation time using the metavg instance disk parameter. Signed-off-by: Andrea Spadaccini <spadaccio@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/cmdlib.py | 7 +++++-- lib/constants.py | 6 ++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 8a8100579..352ed6f0b 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -8172,6 +8172,7 @@ def _ComputeLDParams(disk_template, disk_params): constants.LDP_RESYNC_RATE: dt_params[constants.DRBD_RESYNC_RATE], constants.LDP_BARRIERS: dt_params[constants.DRBD_DISK_BARRIERS], constants.LDP_NO_META_FLUSH: dt_params[constants.DRBD_META_BARRIERS], + constants.LDP_DEFAULT_METAVG: dt_params[constants.DRBD_DEFAULT_METAVG], } drbd_params = \ @@ -8290,8 +8291,9 @@ def _GenerateDiskTemplate(lu, template_name, names.append(lv_prefix + "_meta") for idx, disk in enumerate(disk_info): disk_index = idx + base_index + drbd_default_metavg = drbd_params[constants.LDP_DEFAULT_METAVG] data_vg = disk.get(constants.IDISK_VG, vgname) - meta_vg = disk.get(constants.IDISK_METAVG, data_vg) + meta_vg = disk.get(constants.IDISK_METAVG, drbd_default_metavg) disk_dev = _GenerateDRBD8Branch(lu, primary_node, remote_node, disk[constants.IDISK_SIZE], [data_vg, meta_vg], @@ -9301,8 +9303,9 @@ class LUInstanceCreate(LogicalUnit): constants.IDISK_SIZE: size, constants.IDISK_MODE: mode, constants.IDISK_VG: data_vg, - constants.IDISK_METAVG: disk.get(constants.IDISK_METAVG, data_vg), } + if constants.IDISK_METAVG in disk: + new_disk[constants.IDISK_METAVG] = disk[constants.IDISK_METAVG] if constants.IDISK_ADOPT in disk: new_disk[constants.IDISK_ADOPT] = disk[constants.IDISK_ADOPT] self.disks.append(new_disk) diff --git a/lib/constants.py b/lib/constants.py index 4c3bf5919..9dc400d82 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -935,11 +935,13 @@ LDP_RESYNC_RATE = "resync-rate" LDP_STRIPES = "stripes" LDP_BARRIERS = "disabled-barriers" LDP_NO_META_FLUSH = "disable-meta-flush" +LDP_DEFAULT_METAVG = "default-metavg" DISK_LD_TYPES = { LDP_RESYNC_RATE: VTYPE_INT, LDP_STRIPES: VTYPE_INT, LDP_BARRIERS: VTYPE_STRING, LDP_NO_META_FLUSH: VTYPE_BOOL, + LDP_DEFAULT_METAVG: VTYPE_STRING, } DISK_LD_PARAMETERS = frozenset(DISK_LD_TYPES.keys()) @@ -949,6 +951,7 @@ DRBD_DATA_STRIPES = "data-stripes" DRBD_META_STRIPES = "meta-stripes" DRBD_DISK_BARRIERS = "disk-barriers" DRBD_META_BARRIERS = "meta-barriers" +DRBD_DEFAULT_METAVG = "metavg" LV_STRIPES = "stripes" DISK_DT_TYPES = { DRBD_RESYNC_RATE: VTYPE_INT, @@ -956,6 +959,7 @@ DISK_DT_TYPES = { DRBD_META_STRIPES: VTYPE_INT, DRBD_DISK_BARRIERS: VTYPE_STRING, DRBD_META_BARRIERS: VTYPE_BOOL, + DRBD_DEFAULT_METAVG: VTYPE_STRING, LV_STRIPES: VTYPE_INT, } @@ -1729,6 +1733,7 @@ DISK_LD_DEFAULTS = { LDP_RESYNC_RATE: CLASSIC_DRBD_SYNC_SPEED, LDP_BARRIERS: _autoconf.DRBD_BARRIERS, LDP_NO_META_FLUSH: _autoconf.DRBD_NO_META_FLUSH, + LDP_DEFAULT_METAVG: DEFAULT_VG, }, LD_LV: { LDP_STRIPES: _autoconf.LVM_STRIPECOUNT @@ -1749,6 +1754,7 @@ DISK_DT_DEFAULTS = { DRBD_META_STRIPES: DISK_LD_DEFAULTS[LD_LV][LDP_STRIPES], DRBD_DISK_BARRIERS: DISK_LD_DEFAULTS[LD_DRBD8][LDP_BARRIERS], DRBD_META_BARRIERS: DISK_LD_DEFAULTS[LD_DRBD8][LDP_NO_META_FLUSH], + DRBD_DEFAULT_METAVG: DISK_LD_DEFAULTS[LD_DRBD8][LDP_DEFAULT_METAVG], }, DT_DISKLESS: { }, -- GitLab