Hs2Py constants: HVST and disk state
authorJose A. Lopes <jabolopes@google.com>
Mon, 7 Oct 2013 08:12:23 +0000 (10:12 +0200)
committerJose A. Lopes <jabolopes@google.com>
Tue, 8 Oct 2013 12:57:29 +0000 (14:57 +0200)
Add HVST and disk state related constants to the Haskell to Python
constant generation.

Signed-off-by: Jose A. Lopes <jabolopes@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

lib/constants.py
src/Ganeti/HsConstants.hs

index 65ac585..0ca1659 100644 (file)
@@ -669,65 +669,33 @@ HVS_PARAMETER_TYPES = {
 HVS_PARAMETERS = frozenset(HVS_PARAMETER_TYPES.keys())
 
 HVS_PARAMETER_TITLES = _constants.HVS_PARAMETER_TITLES
-# Migration statuses
-HV_MIGRATION_COMPLETED = "completed"
-HV_MIGRATION_ACTIVE = "active"
-HV_MIGRATION_FAILED = "failed"
-HV_MIGRATION_CANCELLED = "cancelled"
-
-HV_MIGRATION_VALID_STATUSES = compat.UniqueFrozenset([
-  HV_MIGRATION_COMPLETED,
-  HV_MIGRATION_ACTIVE,
-  HV_MIGRATION_FAILED,
-  HV_MIGRATION_CANCELLED,
-  ])
-
-HV_MIGRATION_FAILED_STATUSES = compat.UniqueFrozenset([
-  HV_MIGRATION_FAILED,
-  HV_MIGRATION_CANCELLED,
-  ])
 
-# KVM-specific statuses
-HV_KVM_MIGRATION_VALID_STATUSES = HV_MIGRATION_VALID_STATUSES
-
-# Node info keys
-HV_NODEINFO_KEY_VERSION = "hv_version"
-
-# Hypervisor state
-HVST_MEMORY_TOTAL = "mem_total"
-HVST_MEMORY_NODE = "mem_node"
-HVST_MEMORY_HV = "mem_hv"
-HVST_CPU_TOTAL = "cpu_total"
-HVST_CPU_NODE = "cpu_node"
-
-HVST_DEFAULTS = {
-  HVST_MEMORY_TOTAL: 0,
-  HVST_MEMORY_NODE: 0,
-  HVST_MEMORY_HV: 0,
-  HVST_CPU_TOTAL: 1,
-  HVST_CPU_NODE: 1,
-  }
-
-HVSTS_PARAMETER_TYPES = {
-  HVST_MEMORY_TOTAL: VTYPE_INT,
-  HVST_MEMORY_NODE: VTYPE_INT,
-  HVST_MEMORY_HV: VTYPE_INT,
-  HVST_CPU_TOTAL: VTYPE_INT,
-  HVST_CPU_NODE: VTYPE_INT,
-  }
-
-HVSTS_PARAMETERS = frozenset(HVSTS_PARAMETER_TYPES.keys())
-
-# Disk state
-DS_DISK_TOTAL = "disk_total"
-DS_DISK_RESERVED = "disk_reserved"
-DS_DISK_OVERHEAD = "disk_overhead"
-
-DS_DEFAULTS = {
-  DS_DISK_TOTAL: 0,
-  DS_DISK_RESERVED: 0,
-  DS_DISK_OVERHEAD: 0,
-  }
+HV_MIGRATION_COMPLETED = _constants.HV_MIGRATION_COMPLETED
+HV_MIGRATION_ACTIVE = _constants.HV_MIGRATION_ACTIVE
+HV_MIGRATION_FAILED = _constants.HV_MIGRATION_FAILED
+HV_MIGRATION_CANCELLED = _constants.HV_MIGRATION_CANCELLED
+HV_MIGRATION_VALID_STATUSES = _constants.HV_MIGRATION_VALID_STATUSES
+HV_MIGRATION_FAILED_STATUSES = _constants.HV_MIGRATION_FAILED_STATUSES
+HV_KVM_MIGRATION_VALID_STATUSES = _constants.HV_KVM_MIGRATION_VALID_STATUSES
+
+HV_NODEINFO_KEY_VERSION = _constants.HV_NODEINFO_KEY_VERSION
+
+HVST_MEMORY_TOTAL = _constants.HVST_MEMORY_TOTAL
+HVST_MEMORY_NODE = _constants.HVST_MEMORY_NODE
+HVST_MEMORY_HV = _constants.HVST_MEMORY_HV
+HVST_CPU_TOTAL = _constants.HVST_CPU_TOTAL
+HVST_CPU_NODE = _constants.HVST_CPU_NODE
+HVSTS_PARAMETERS = _constants.HVSTS_PARAMETERS
+HVST_DEFAULTS = _constants.HVST_DEFAULTS
+HVSTS_PARAMETER_TYPES = _constants.HVSTS_PARAMETER_TYPES
+
+DS_DISK_TOTAL = _constants.DS_DISK_TOTAL
+DS_DISK_RESERVED = _constants.DS_DISK_RESERVED
+DS_DISK_OVERHEAD = _constants.DS_DISK_OVERHEAD
+DS_DEFAULTS = _constants.DS_DEFAULTS
+DSS_PARAMETER_TYPES = _constants.DSS_PARAMETER_TYPES
+DSS_PARAMETERS = _constants.DSS_PARAMETERS
+DS_VALID_TYPES = _constants.DS_VALID_TYPES
 
 ISPEC_MEM_SIZE = _constants.ISPEC_MEM_SIZE
 ISPEC_CPU_COUNT = _constants.ISPEC_CPU_COUNT
@@ -759,14 +727,7 @@ ND_OVS_LINK = _constants.ND_OVS_LINK
 NDS_PARAMETER_TYPES = _constants.NDS_PARAMETER_TYPES
 NDS_PARAMETERS = _constants.NDS_PARAMETERS
 NDS_PARAMETER_TITLES = _constants.NDS_PARAMETER_TITLES
-DSS_PARAMETER_TYPES = {
-  DS_DISK_TOTAL: VTYPE_INT,
-  DS_DISK_RESERVED: VTYPE_INT,
-  DS_DISK_OVERHEAD: VTYPE_INT,
-  }
 
-DSS_PARAMETERS = frozenset(DSS_PARAMETER_TYPES.keys())
-DS_VALID_TYPES = compat.UniqueFrozenset([DT_PLAIN])
 
 # Backend parameter names
 BE_MEMORY = "memory" # deprecated and replaced by max and min mem
index 5bc9333..d10cea5 100644 (file)
@@ -1597,6 +1597,114 @@ hvsParameterTitles =
    (hvPassthrough, "pci_pass"),
    (hvVncBindAddress, "VNC_bind_address")]
 
+-- * Migration statuses
+
+hvMigrationActive :: String
+hvMigrationActive = "active"
+
+hvMigrationCancelled :: String
+hvMigrationCancelled = "cancelled"
+
+hvMigrationCompleted :: String
+hvMigrationCompleted = "completed"
+
+hvMigrationFailed :: String
+hvMigrationFailed = "failed"
+
+hvMigrationValidStatuses :: FrozenSet String
+hvMigrationValidStatuses =
+  ConstantUtils.mkSet [hvMigrationActive,
+                       hvMigrationCancelled,
+                       hvMigrationCompleted,
+                       hvMigrationFailed]
+
+hvMigrationFailedStatuses :: FrozenSet String
+hvMigrationFailedStatuses =
+  ConstantUtils.mkSet [hvMigrationFailed, hvMigrationCancelled]
+
+-- | KVM-specific statuses
+--
+-- FIXME: this constant seems unnecessary
+hvKvmMigrationValidStatuses :: FrozenSet String
+hvKvmMigrationValidStatuses = hvMigrationValidStatuses
+
+-- | Node info keys
+hvNodeinfoKeyVersion :: String
+hvNodeinfoKeyVersion = "hv_version"
+
+-- * Hypervisor state
+
+hvstCpuNode :: String
+hvstCpuNode = "cpu_node"
+
+hvstCpuTotal :: String
+hvstCpuTotal = "cpu_total"
+
+hvstMemoryHv :: String
+hvstMemoryHv = "mem_hv"
+
+hvstMemoryNode :: String
+hvstMemoryNode = "mem_node"
+
+hvstMemoryTotal :: String
+hvstMemoryTotal = "mem_total"
+
+hvstsParameters :: FrozenSet String
+hvstsParameters =
+  ConstantUtils.mkSet [hvstCpuNode,
+                       hvstCpuTotal,
+                       hvstMemoryHv,
+                       hvstMemoryNode,
+                       hvstMemoryTotal]
+
+hvstDefaults :: Map String Int
+hvstDefaults =
+  Map.fromList
+  [(hvstCpuNode, 1),
+   (hvstCpuTotal, 1),
+   (hvstMemoryHv, 0),
+   (hvstMemoryTotal, 0),
+   (hvstMemoryNode, 0)]
+
+hvstsParameterTypes :: Map String VType
+hvstsParameterTypes =
+  Map.fromList [(hvstMemoryTotal, VTypeInt),
+                (hvstMemoryNode, VTypeInt),
+                (hvstMemoryHv, VTypeInt),
+                (hvstCpuTotal, VTypeInt),
+                (hvstCpuNode, VTypeInt)]
+
+-- * Disk state
+
+dsDiskOverhead :: String
+dsDiskOverhead = "disk_overhead"
+
+dsDiskReserved :: String
+dsDiskReserved = "disk_reserved"
+
+dsDiskTotal :: String
+dsDiskTotal = "disk_total"
+
+dsDefaults :: Map String Int
+dsDefaults =
+  Map.fromList
+  [(dsDiskTotal, 0),
+   (dsDiskReserved, 0),
+   (dsDiskOverhead, 0)]
+
+dssParameterTypes :: Map String VType
+dssParameterTypes =
+  Map.fromList [(dsDiskTotal, VTypeInt),
+                (dsDiskReserved, VTypeInt),
+                (dsDiskOverhead, VTypeInt)]
+
+dssParameters :: FrozenSet String
+dssParameters =
+  ConstantUtils.mkSet [dsDiskTotal, dsDiskReserved, dsDiskOverhead]
+
+dsValidTypes :: FrozenSet String
+dsValidTypes = ConstantUtils.mkSet [Types.diskTemplateToRaw DTPlain]
+
 -- | Instance specs
 --
 -- FIXME: these should be associated with 'Ganeti.HTools.Types.ISpec'