From 9869360c59805cf2a1d143f1432191d396869f25 Mon Sep 17 00:00:00 2001 From: Apollon Oikonomopoulos <apollon@noc.grnet.gr> Date: Mon, 28 Feb 2011 13:51:15 +0200 Subject: [PATCH] Shared file support for tools/burnin Make burnin work with -t sharedfile and update burnin's help. Shared block storage support is *not* included, as currently there is no way to provision shared block storage from within Ganeti. Signed-off-by: Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- tools/burnin | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/burnin b/tools/burnin index a47ea19b4..d6c4f4da8 100755 --- a/tools/burnin +++ b/tools/burnin @@ -182,7 +182,8 @@ OPTIONS = [ cli.cli_option("-t", "--disk-template", dest="disk_template", choices=list(constants.DISK_TEMPLATES), default=constants.DT_DRBD8, - help="Disk template (diskless, file, plain or drbd) [drbd]"), + help="Disk template (diskless, file, plain, sharedfile" + " or drbd) [drbd]"), cli.cli_option("-n", "--nodes", dest="nodes", default="", help=("Comma separated list of nodes to perform" " the burnin on (defaults to all nodes)"), @@ -439,6 +440,7 @@ class Burner(object): supported_disk_templates = (constants.DT_DISKLESS, constants.DT_FILE, + constants.DT_SHARED_FILE, constants.DT_PLAIN, constants.DT_DRBD8) if options.disk_template not in supported_disk_templates: @@ -980,7 +982,8 @@ class Burner(object): if (len(self.nodes) == 1 and opts.disk_template not in (constants.DT_DISKLESS, constants.DT_PLAIN, - constants.DT_FILE)): + constants.DT_FILE, + constants.DT_SHARED_FILE)): Err("When one node is available/selected the disk template must" " be 'diskless', 'file' or 'plain'") @@ -997,12 +1000,13 @@ class Burner(object): compat.any(n > 0 for n in self.disk_growth)): self.BurnGrowDisks() - if opts.do_failover and opts.disk_template in constants.DTS_NET_MIRROR: + if opts.do_failover and opts.disk_template in constants.DTS_MIRRORED: self.BurnFailover() if opts.do_migrate: - if opts.disk_template != constants.DT_DRBD8: - Log("Skipping migration (disk template not DRBD8)") + if opts.disk_template not in constants.DTS_MIRRORED: + Log("Skipping migration (disk template %s does not support it)", + opts.disk_template) elif not self.hv_class.CAN_MIGRATE: Log("Skipping migration (hypervisor %s does not support it)", self.hypervisor) @@ -1015,6 +1019,7 @@ class Burner(object): if (opts.do_importexport and opts.disk_template not in (constants.DT_DISKLESS, + constants.DT_SHARED_FILE, constants.DT_FILE)): self.BurnImportExport() -- GitLab