Revision 2dae8d64
b/qa/ganeti-qa.py | ||
---|---|---|
177 | 177 |
("cluster-modify", qa_cluster.TestClusterModifyISpecs), |
178 | 178 |
("cluster-modify", qa_cluster.TestClusterModifyBe), |
179 | 179 |
("cluster-modify", qa_cluster.TestClusterModifyDisk), |
180 |
("cluster-modify", qa_cluster.TestClusterModifyStorageTypes),
|
|
180 |
("cluster-modify", qa_cluster.TestClusterModifyDiskTemplates),
|
|
181 | 181 |
("cluster-rename", qa_cluster.TestClusterRename), |
182 | 182 |
("cluster-info", qa_cluster.TestClusterVersion), |
183 | 183 |
("cluster-info", qa_cluster.TestClusterInfo), |
b/qa/qa-sample.json | ||
---|---|---|
27 | 27 |
"vg-name": "xenvg", |
28 | 28 |
"# Cluster-level value of the exclusive-storage flag": null, |
29 | 29 |
"exclusive-storage": null, |
30 |
"enabled-storage-types": "lvm-vg", |
|
30 |
"enabled-disk-templates": [ |
|
31 |
"plain", |
|
32 |
"drbd", |
|
33 |
"diskless" |
|
34 |
], |
|
31 | 35 |
|
32 | 36 |
"# Additional arguments for initializing cluster": null, |
33 | 37 |
"cluster-init-args": [], |
b/qa/qa_cluster.py | ||
---|---|---|
176 | 176 |
"gnt-cluster", "init", |
177 | 177 |
"--primary-ip-version=%d" % qa_config.get("primary_ip_version", 4), |
178 | 178 |
"--enabled-hypervisors=%s" % ",".join(qa_config.GetEnabledHypervisors()), |
179 |
"--enabled-storage-types=%s" %
|
|
180 |
",".join(qa_config.GetEnabledStorageTypes())
|
|
179 |
"--enabled-disk-templates=%s" %
|
|
180 |
",".join(qa_config.GetEnabledDiskTemplates())
|
|
181 | 181 |
] |
182 | 182 |
|
183 | 183 |
for spec_type in ("mem-size", "disk-size", "disk-count", "cpu-count", |
... | ... | |
390 | 390 |
AssertCommand(["gnt-cluster", "modify", "-D", param], fail=True) |
391 | 391 |
|
392 | 392 |
|
393 |
def TestClusterModifyStorageTypes():
|
|
394 |
"""gnt-cluster modify --enabled-storage-types=..."""
|
|
395 |
default_storage_type = qa_config.GetDefaultStorageType()
|
|
393 |
def TestClusterModifyDiskTemplates():
|
|
394 |
"""gnt-cluster modify --enabled-disk-templates=..."""
|
|
395 |
default_disk_template = qa_config.GetDefaultDiskTemplate()
|
|
396 | 396 |
AssertCommand( |
397 | 397 |
["gnt-cluster", "modify", |
398 |
"--enabled-storage-types=%s" % default_storage_type],
|
|
398 |
"--enabled-disk-templates=%s" % default_disk_template],
|
|
399 | 399 |
fail=False) |
400 | 400 |
AssertCommand(["gnt-cluster", "info"]) |
401 | 401 |
AssertCommand( |
402 | 402 |
["gnt-cluster", "modify", |
403 |
"--enabled-storage-types=%s" %
|
|
404 |
",".join(qa_config.GetEnabledStorageTypes())],
|
|
403 |
"--enabled-disk-template=%s" %
|
|
404 |
",".join(qa_config.GetEnabledDiskTemplates())],
|
|
405 | 405 |
fail=False) |
406 | 406 |
AssertCommand(["gnt-cluster", "info"]) |
407 |
# bogus types
|
|
407 |
# bogus templates
|
|
408 | 408 |
AssertCommand(["gnt-cluster", "modify", |
409 |
"--enabled-storage-types=pinkbunny"],
|
|
409 |
"--enabled-disk-templates=pinkbunny"],
|
|
410 | 410 |
fail=True) |
411 | 411 |
# duplicate entries do no harm |
412 | 412 |
AssertCommand( |
413 | 413 |
["gnt-cluster", "modify", |
414 |
"--enabled-storage-types=%s,%s" %
|
|
415 |
(default_storage_type, default_storage_type)],
|
|
414 |
"--enabled-disk-templates=%s,%s" %
|
|
415 |
(default_disk_template, default_disk_template)],
|
|
416 | 416 |
fail=False) |
417 | 417 |
AssertCommand(["gnt-cluster", "info"]) |
418 | 418 |
|
b/qa/qa_config.py | ||
---|---|---|
38 | 38 |
_ENABLED_HV_KEY = "enabled-hypervisors" |
39 | 39 |
_VCLUSTER_MASTER_KEY = "vcluster-master" |
40 | 40 |
_VCLUSTER_BASEDIR_KEY = "vcluster-basedir" |
41 |
_ENABLED_STORAGE_TYPES_KEY = "enabled-storage-types"
|
|
41 |
_ENABLED_DISK_TEMPLATES_KEY = "enabled-disk-templates"
|
|
42 | 42 |
|
43 | 43 |
#: QA configuration (L{_QaConfig}) |
44 | 44 |
_config = None |
... | ... | |
360 | 360 |
""" |
361 | 361 |
return self.GetEnabledHypervisors()[0] |
362 | 362 |
|
363 |
def GetEnabledStorageTypes(self):
|
|
364 |
"""Returns the list of enabled storage types.
|
|
363 |
def GetEnabledDiskTemplates(self):
|
|
364 |
"""Returns the list of enabled disk templates.
|
|
365 | 365 |
|
366 | 366 |
@rtype: list |
367 | 367 |
|
368 | 368 |
""" |
369 | 369 |
return self._GetStringListParameter( |
370 |
_ENABLED_STORAGE_TYPES_KEY,
|
|
371 |
list(constants.DEFAULT_ENABLED_STORAGE_TYPES))
|
|
370 |
_ENABLED_DISK_TEMPLATES_KEY,
|
|
371 |
list(constants.DEFAULT_ENABLED_DISK_TEMPLATES))
|
|
372 | 372 |
|
373 |
def GetDefaultStorageType(self):
|
|
374 |
"""Returns the default storage type to be used.
|
|
373 |
def GetDefaultDiskTemplate(self):
|
|
374 |
"""Returns the default disk template to be used.
|
|
375 | 375 |
|
376 | 376 |
""" |
377 |
return self.GetEnabledStorageTypes()[0]
|
|
377 |
return self.GetEnabledDiskTemplates()[0]
|
|
378 | 378 |
|
379 | 379 |
def _GetStringListParameter(self, key, default_values): |
380 | 380 |
"""Retrieves a parameter's value that is supposed to be a list of strings. |
... | ... | |
551 | 551 |
return GetConfig().GetDefaultHypervisor(*args) |
552 | 552 |
|
553 | 553 |
|
554 |
def GetEnabledStorageTypes(*args):
|
|
555 |
"""Wrapper for L{_QaConfig.GetEnabledStorageTypes}.
|
|
554 |
def GetEnabledDiskTemplates(*args):
|
|
555 |
"""Wrapper for L{_QaConfig.GetEnabledDiskTemplates}.
|
|
556 | 556 |
|
557 | 557 |
""" |
558 |
return GetConfig().GetEnabledStorageTypes(*args)
|
|
558 |
return GetConfig().GetEnabledDiskTemplates(*args)
|
|
559 | 559 |
|
560 | 560 |
|
561 |
def GetDefaultStorageType(*args):
|
|
562 |
"""Wrapper for L{_QaConfig.GetDefaultStorageType}.
|
|
561 |
def GetDefaultDiskTemplate(*args):
|
|
562 |
"""Wrapper for L{_QaConfig.GetDefaultDiskTemplate}.
|
|
563 | 563 |
|
564 | 564 |
""" |
565 |
return GetConfig().GetDefaultStorageType(*args)
|
|
565 |
return GetConfig().GetDefaultDiskTemplate(*args)
|
|
566 | 566 |
|
567 | 567 |
|
568 | 568 |
def GetMasterNode(): |
Also available in: Unified diff