From: Helga Velroyen Date: Tue, 9 Jul 2013 10:52:20 +0000 (+0200) Subject: Utility functions to check if a disk template is enabed X-Git-Tag: v2.9.0beta1~87 X-Git-Url: https://code.grnet.gr/git/ganeti-local/commitdiff_plain/ebe937846294016795da56fdb0449287fb3278d7 Utility functions to check if a disk template is enabed This patch adds some helper functions to the config and storage utils which check whether a disk template is enabled or not. The functions themselves are quite small but they will be used quite often and therefore should have a designated place. Signed-off-by: Helga Velroyen Reviewed-by: Klaus Aehlig --- diff --git a/lib/objects.py b/lib/objects.py index 08d6916..fdd2dbd 100644 --- a/lib/objects.py +++ b/lib/objects.py @@ -1899,6 +1899,26 @@ class Cluster(TaggableObject): """ return FillIPolicy(self.ipolicy, ipolicy) + def IsDiskTemplateEnabled(self, disk_template): + """Checks if a particular disk template is enabled. + + """ + return utils.storage.IsDiskTemplateEnabled( + disk_template, self.enabled_disk_templates) + + def IsFileStorageEnabled(self): + """Checks if file storage is enabled. + + """ + return utils.storage.IsFileStorageEnabled(self.enabled_disk_templates) + + def IsSharedFileStorageEnabled(self): + """Checks if shared file storage is enabled. + + """ + return utils.storage.IsSharedFileStorageEnabled( + self.enabled_disk_templates) + class BlockDevStatus(ConfigObject): """Config object representing the status of a block device.""" diff --git a/lib/utils/storage.py b/lib/utils/storage.py index 02fec19..21b5d7d 100644 --- a/lib/utils/storage.py +++ b/lib/utils/storage.py @@ -40,6 +40,27 @@ def GetLvmDiskTemplates(): return GetDiskTemplatesOfStorageType(constants.ST_LVM_VG) +def IsDiskTemplateEnabled(disk_template, enabled_disk_templates): + """Checks if a particular disk template is enabled. + + """ + return disk_template in enabled_disk_templates + + +def IsFileStorageEnabled(enabled_disk_templates): + """Checks if file storage is enabled. + + """ + return IsDiskTemplateEnabled(constants.DT_FILE, enabled_disk_templates) + + +def IsSharedFileStorageEnabled(enabled_disk_templates): + """Checks if shared file storage is enabled. + + """ + return IsDiskTemplateEnabled(constants.DT_SHARED_FILE, enabled_disk_templates) + + def IsLvmEnabled(enabled_disk_templates): """Check whether or not any lvm-based disk templates are enabled.""" return len(set(GetLvmDiskTemplates())