diff --git a/lib/constants.py b/lib/constants.py index 8ade4b6805361c3fb64229d6a122fd63d1bc7e4e..8cb675fd02cff16c9b0031494b30065d8cfc3f52 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -130,6 +130,9 @@ LOCALHOST_IP_ADDRESS = "127.0.0.1" TCP_PING_TIMEOUT = 10 GANETI_RUNAS = "root" +# valid os status +OS_VALID_STATUS = "VALID" + # ssh constants SSH_INITD_SCRIPT = _autoconf.SSH_INITD_SCRIPT SSH_CONFIG_DIR = "/etc/ssh/" diff --git a/lib/objects.py b/lib/objects.py index 803b893ddb4899037998764ded089dabc79ec1bd..2f27a270e875810dd3ba08a2a7c5958911b8f4be 100644 --- a/lib/objects.py +++ b/lib/objects.py @@ -589,6 +589,7 @@ class OS(ConfigObject): __slots__ = [ "name", "path", + "status", "api_version", "create_script", "export_script", @@ -596,6 +597,10 @@ class OS(ConfigObject): "rename_script", ] + def __nonzero__(self): + return self.status == constants.OS_VALID_STATUS + + __bool__ = __nonzero__ class Node(TaggableObject): """Config object representing a node."""