Revision aac0352d tools/burnin
b/tools/burnin | ||
---|---|---|
36 | 36 |
from ganeti import cli |
37 | 37 |
from ganeti import errors |
38 | 38 |
from ganeti import utils |
39 |
from ganeti import hypervisor |
|
39 | 40 |
|
40 | 41 |
from ganeti.confd import client as confd_client |
41 | 42 |
|
... | ... | |
111 | 112 |
help="OS to use during burnin", |
112 | 113 |
metavar="<OS>", |
113 | 114 |
completion_suggest=cli.OPT_COMPL_ONE_OS), |
115 |
cli.HYPERVISOR_OPT, |
|
114 | 116 |
cli.cli_option("--disk-size", dest="disk_size", |
115 | 117 |
help="Disk size (determines disk count)", |
116 | 118 |
default="128m", type="string", metavar="<size,size,...>", |
... | ... | |
473 | 475 |
constants.BE_MEMORY: options.mem_size, |
474 | 476 |
constants.BE_VCPUS: 1, |
475 | 477 |
} |
478 |
|
|
479 |
self.hypervisor = None |
|
476 | 480 |
self.hvp = {} |
481 |
if options.hypervisor: |
|
482 |
self.hypervisor, self.hvp = options.hypervisor |
|
477 | 483 |
|
478 | 484 |
socket.setdefaulttimeout(options.net_timeout) |
479 | 485 |
|
... | ... | |
515 | 521 |
|
516 | 522 |
default_nic_params = self.cluster_info["nicparams"][constants.PP_DEFAULT] |
517 | 523 |
self.cluster_default_nicparams = default_nic_params |
524 |
if self.hypervisor is None: |
|
525 |
self.hypervisor = self.cluster_info["default_hypervisor"] |
|
526 |
self.hv_class = hypervisor.GetHypervisorClass(self.hypervisor) |
|
518 | 527 |
|
519 | 528 |
@_DoCheckInstances |
520 | 529 |
@_DoBatch(False) |
... | ... | |
559 | 568 |
iallocator=self.opts.iallocator, |
560 | 569 |
beparams=self.bep, |
561 | 570 |
hvparams=self.hvp, |
571 |
hypervisor=self.hypervisor, |
|
562 | 572 |
) |
563 | 573 |
remove_instance = lambda name: lambda: self.to_rem.append(name) |
564 | 574 |
self.ExecOrQueue(instance, [op], post_process=remove_instance(instance)) |
... | ... | |
978 | 988 |
if opts.do_failover and opts.disk_template in constants.DTS_NET_MIRROR: |
979 | 989 |
self.BurnFailover() |
980 | 990 |
|
981 |
if opts.do_migrate and opts.disk_template == constants.DT_DRBD8: |
|
982 |
self.BurnMigrate() |
|
991 |
if opts.do_migrate: |
|
992 |
if opts.disk_template != constants.DT_DRBD8: |
|
993 |
Log("Skipping migration (disk template not DRBD8)") |
|
994 |
elif not self.hv_class.CAN_MIGRATE: |
|
995 |
Log("Skipping migration (hypervisor %s does not support it)", |
|
996 |
self.hypervisor) |
|
997 |
else: |
|
998 |
self.BurnMigrate() |
|
983 | 999 |
|
984 | 1000 |
if (opts.do_move and len(self.nodes) > 1 and |
985 | 1001 |
opts.disk_template in [constants.DT_PLAIN, constants.DT_FILE]): |
Also available in: Unified diff