diff --git a/lib/constants.py b/lib/constants.py index f2e978f2961506cdef28c886a8e3961391e56a60..5f2d9e05f946aa940357a16aa77a15b6877f58bd 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -30,7 +30,8 @@ PROTOCOL_VERSION = 40 RELEASE_VERSION = _autoconf.PACKAGE_VERSION OS_API_V10 = 10 OS_API_V15 = 15 -OS_API_VERSIONS = frozenset([OS_API_V10, OS_API_V15]) +OS_API_V20 = 20 +OS_API_VERSIONS = frozenset([OS_API_V10, OS_API_V15, OS_API_V20]) EXPORT_VERSION = 0 RAPI_VERSION = 2 @@ -448,11 +449,16 @@ OS_SCRIPT_CREATE = 'create' OS_SCRIPT_IMPORT = 'import' OS_SCRIPT_EXPORT = 'export' OS_SCRIPT_RENAME = 'rename' +OS_SCRIPT_VERIFY = 'verify' OS_SCRIPTS = frozenset([OS_SCRIPT_CREATE, OS_SCRIPT_IMPORT, - OS_SCRIPT_EXPORT, OS_SCRIPT_RENAME]) + OS_SCRIPT_EXPORT, OS_SCRIPT_RENAME, + OS_SCRIPT_VERIFY]) OS_API_FILE = 'ganeti_api_version' OS_VARIANTS_FILE = 'variants.list' +OS_PARAMETERS_FILE = 'parameters.list' + +OS_VALIDATE_PARAMETERS = 'parameters' # ssh constants SSH_CONFIG_DIR = _autoconf.SSH_CONFIG_DIR diff --git a/lib/objects.py b/lib/objects.py index e640e3046b2a91b870e4caa8a8e4049dc6d4f1b0..1e2d1bbfe0cfb8788cd79ce3beea0693ea8cfe6e 100644 --- a/lib/objects.py +++ b/lib/objects.py @@ -815,7 +815,13 @@ class Instance(TaggableObject): class OS(ConfigObject): - """Config object representing an operating system.""" + """Config object representing an operating system. + + @type supported_parameters: list + @ivar supported_parameters: a list of tuples, name and description, + containing the supported parameters by this OS + + """ __slots__ = [ "name", "path", @@ -824,7 +830,9 @@ class OS(ConfigObject): "export_script", "import_script", "rename_script", + "verify_script", "supported_variants", + "supported_parameters", ]