Revision a5450d2a

b/lib/constants.py
525 525
DISK_KERNELSPACE = _constants.DISK_KERNELSPACE
526 526
DISK_VALID_ACCESS_MODES = _constants.DISK_VALID_ACCESS_MODES
527 527

  
528
# disk replacement mode
529
REPLACE_DISK_PRI = "replace_on_primary"    # replace disks on primary
530
REPLACE_DISK_SEC = "replace_on_secondary"  # replace disks on secondary
531
REPLACE_DISK_CHG = "replace_new_secondary" # change secondary node
532
REPLACE_DISK_AUTO = "replace_auto"
533
REPLACE_MODES = compat.UniqueFrozenset([
534
  REPLACE_DISK_PRI,
535
  REPLACE_DISK_SEC,
536
  REPLACE_DISK_CHG,
537
  REPLACE_DISK_AUTO,
538
  ])
528
REPLACE_DISK_PRI = _constants.REPLACE_DISK_PRI
529
REPLACE_DISK_SEC = _constants.REPLACE_DISK_SEC
530
REPLACE_DISK_CHG = _constants.REPLACE_DISK_CHG
531
REPLACE_DISK_AUTO = _constants.REPLACE_DISK_AUTO
532
REPLACE_MODES = _constants.REPLACE_MODES
539 533

  
540 534
# Instance export mode
541 535
EXPORT_MODE_LOCAL = _constants.EXPORT_MODE_LOCAL
b/src/Ganeti/HsConstants.hs
510 510
diskAccessSet :: FrozenSet String
511 511
diskAccessSet = ConstantUtils.mkSet $ map Types.diskModeToRaw [minBound..]
512 512

  
513
-- * Disk replacement mode
514

  
515
replaceDiskAuto :: String
516
replaceDiskAuto = Types.replaceDisksModeToRaw ReplaceAuto
517

  
518
replaceDiskChg :: String
519
replaceDiskChg = Types.replaceDisksModeToRaw ReplaceNewSecondary
520

  
521
replaceDiskPri :: String
522
replaceDiskPri = Types.replaceDisksModeToRaw ReplaceOnPrimary
523

  
524
replaceDiskSec :: String
525
replaceDiskSec = Types.replaceDisksModeToRaw ReplaceOnSecondary
526

  
527
replaceModes :: FrozenSet String
528
replaceModes =
529
  ConstantUtils.mkSet $ map Types.replaceDisksModeToRaw [minBound..]
530

  
513 531
-- * Instance export mode
514 532

  
515 533
exportModeLocal :: String
b/src/Ganeti/OpParams.hs
301 301

  
302 302
-- ** Disks
303 303

  
304
-- | Replace disks type.
305
$(declareSADT "ReplaceDisksMode"
306
  [ ("ReplaceOnPrimary",    'C.replaceDiskPri)
307
  , ("ReplaceOnSecondary",  'C.replaceDiskSec)
308
  , ("ReplaceNewSecondary", 'C.replaceDiskChg)
309
  , ("ReplaceAuto",         'C.replaceDiskAuto)
310
  ])
311
$(makeJSONInstance ''ReplaceDisksMode)
312

  
313 304
-- | Disk index type (embedding constraints on the index value via a
314 305
-- smart constructor).
315 306
newtype DiskIndex = DiskIndex { unDiskIndex :: Int }
b/src/Ganeti/Types.hs
143 143
  , storageFieldToRaw
144 144
  , DiskAccessMode(..)
145 145
  , diskAccessModeToRaw
146
  , ReplaceDisksMode(..)
147
  , replaceDisksModeToRaw
146 148
  ) where
147 149

  
148 150
import Control.Monad (liftM)
......
779 781
  , ( "DiskKernelspace", "kernelspace")
780 782
  ])
781 783
$(THH.makeJSONInstance ''DiskAccessMode)
784

  
785
-- | Replace disks type.
786
$(THH.declareLADT ''String "ReplaceDisksMode"
787
  [ -- Replace disks on primary
788
    ("ReplaceOnPrimary",    "replace_on_primary")
789
    -- Replace disks on secondary
790
  , ("ReplaceOnSecondary",  "replace_on_secondary")
791
    -- Change secondary node
792
  , ("ReplaceNewSecondary", "replace_new_secondary")
793
  , ("ReplaceAuto",         "replace_auto")
794
  ])
795
$(THH.makeJSONInstance ''ReplaceDisksMode)

Also available in: Unified diff