Revision 9b9e088c
b/lib/constants.py | ||
---|---|---|
519 | 519 |
DISK_RDONLY = _constants.DISK_RDONLY |
520 | 520 |
DISK_RDWR = _constants.DISK_RDWR |
521 | 521 |
DISK_ACCESS_SET = _constants.DISK_ACCESS_SET |
522 |
DISK_USERSPACE = _constants.DISK_USERSPACE |
|
523 |
DISK_KERNELSPACE = _constants.DISK_KERNELSPACE |
|
524 |
DISK_VALID_ACCESS_MODES = _constants.DISK_VALID_ACCESS_MODES |
|
522 | 525 |
|
523 | 526 |
# disk replacement mode |
524 | 527 |
REPLACE_DISK_PRI = "replace_on_primary" # replace disks on primary |
... | ... | |
1105 | 1108 |
LDP_MAX_RATE = "c-max-rate" |
1106 | 1109 |
LDP_MIN_RATE = "c-min-rate" |
1107 | 1110 |
LDP_POOL = "pool" |
1111 |
LDP_ACCESS = "access" |
|
1108 | 1112 |
DISK_LD_TYPES = { |
1109 | 1113 |
LDP_RESYNC_RATE: VTYPE_INT, |
1110 | 1114 |
LDP_STRIPES: VTYPE_INT, |
... | ... | |
1121 | 1125 |
LDP_MAX_RATE: VTYPE_INT, |
1122 | 1126 |
LDP_MIN_RATE: VTYPE_INT, |
1123 | 1127 |
LDP_POOL: VTYPE_STRING, |
1128 |
LDP_ACCESS: VTYPE_STRING, |
|
1124 | 1129 |
} |
1125 | 1130 |
DISK_LD_PARAMETERS = frozenset(DISK_LD_TYPES.keys()) |
1126 | 1131 |
|
... | ... | |
1143 | 1148 |
DRBD_MIN_RATE = "c-min-rate" |
1144 | 1149 |
LV_STRIPES = "stripes" |
1145 | 1150 |
RBD_POOL = "pool" |
1151 |
RBD_ACCESS = "access" |
|
1146 | 1152 |
DISK_DT_TYPES = { |
1147 | 1153 |
DRBD_RESYNC_RATE: VTYPE_INT, |
1148 | 1154 |
DRBD_DATA_STRIPES: VTYPE_INT, |
... | ... | |
1161 | 1167 |
DRBD_MIN_RATE: VTYPE_INT, |
1162 | 1168 |
LV_STRIPES: VTYPE_INT, |
1163 | 1169 |
RBD_POOL: VTYPE_STRING, |
1170 |
RBD_ACCESS: VTYPE_STRING, |
|
1164 | 1171 |
} |
1165 | 1172 |
|
1166 | 1173 |
DISK_DT_PARAMETERS = frozenset(DISK_DT_TYPES.keys()) |
... | ... | |
1953 | 1960 |
DT_SHARED_FILE: {}, |
1954 | 1961 |
DT_BLOCK: {}, |
1955 | 1962 |
DT_RBD: { |
1956 |
LDP_POOL: "rbd" |
|
1963 |
LDP_POOL: "rbd", |
|
1964 |
LDP_ACCESS: DISK_KERNELSPACE, |
|
1957 | 1965 |
}, |
1958 | 1966 |
DT_EXT: {}, |
1959 | 1967 |
} |
... | ... | |
1988 | 1996 |
DT_SHARED_FILE: {}, |
1989 | 1997 |
DT_BLOCK: {}, |
1990 | 1998 |
DT_RBD: { |
1991 |
RBD_POOL: DISK_LD_DEFAULTS[DT_RBD][LDP_POOL] |
|
1999 |
RBD_POOL: DISK_LD_DEFAULTS[DT_RBD][LDP_POOL], |
|
2000 |
RBD_ACCESS: DISK_LD_DEFAULTS[DT_RBD][LDP_ACCESS], |
|
1992 | 2001 |
}, |
1993 | 2002 |
DT_EXT: {}, |
1994 | 2003 |
} |
b/lib/objects.py | ||
---|---|---|
897 | 897 |
elif disk_template == constants.DT_RBD: |
898 | 898 |
result.append(FillDict(constants.DISK_LD_DEFAULTS[constants.DT_RBD], { |
899 | 899 |
constants.LDP_POOL: dt_params[constants.RBD_POOL], |
900 |
constants.LDP_ACCESS: dt_params[constants.RBD_ACCESS], |
|
900 | 901 |
})) |
901 | 902 |
|
902 | 903 |
elif disk_template == constants.DT_EXT: |
b/src/Ganeti/HsConstants.hs | ||
---|---|---|
1368 | 1368 |
-- | Mond's variable for periodical data collection |
1369 | 1369 |
mondTimeInterval :: Int |
1370 | 1370 |
mondTimeInterval = 5 |
1371 |
|
|
1372 |
-- * Disk access modes |
|
1373 |
|
|
1374 |
diskUserspace :: String |
|
1375 |
diskUserspace = Types.diskAccessModeToRaw DiskUserspace |
|
1376 |
|
|
1377 |
diskKernelspace :: String |
|
1378 |
diskKernelspace = Types.diskAccessModeToRaw DiskKernelspace |
|
1379 |
|
|
1380 |
diskValidAccessModes :: FrozenSet String |
|
1381 |
diskValidAccessModes = |
|
1382 |
ConstantUtils.mkSet $ map Types.diskAccessModeToRaw [minBound..] |
b/src/Ganeti/Types.hs | ||
---|---|---|
141 | 141 |
, adminStateToRaw |
142 | 142 |
, StorageField(..) |
143 | 143 |
, storageFieldToRaw |
144 |
, DiskAccessMode(..) |
|
145 |
, diskAccessModeToRaw |
|
144 | 146 |
) where |
145 | 147 |
|
146 | 148 |
import Control.Monad (liftM) |
... | ... | |
282 | 284 |
]) |
283 | 285 |
$(THH.makeJSONInstance ''DiskTemplate) |
284 | 286 |
|
287 |
instance THH.PyValue DiskTemplate where |
|
288 |
showValue = show . diskTemplateToRaw |
|
289 |
|
|
285 | 290 |
instance HasStringRepr DiskTemplate where |
286 | 291 |
fromStringRepr = diskTemplateFromRaw |
287 | 292 |
toStringRepr = diskTemplateToRaw |
... | ... | |
406 | 411 |
]) |
407 | 412 |
$(THH.makeJSONInstance ''Hypervisor) |
408 | 413 |
|
414 |
instance THH.PyValue Hypervisor where |
|
415 |
showValue = show . hypervisorToRaw |
|
416 |
|
|
409 | 417 |
-- | Oob command type. |
410 | 418 |
$(THH.declareLADT ''String "OobCommand" |
411 | 419 |
[ ("OobHealth", "health") |
... | ... | |
763 | 771 |
, ( "SFSize", "size") |
764 | 772 |
]) |
765 | 773 |
$(THH.makeJSONInstance ''StorageField) |
774 |
|
|
775 |
-- * Disk access protocol |
|
776 |
|
|
777 |
$(THH.declareLADT ''String "DiskAccessMode" |
|
778 |
[ ( "DiskUserspace", "userspace") |
|
779 |
, ( "DiskKernelspace", "kernelspace") |
|
780 |
]) |
|
781 |
$(THH.makeJSONInstance ''DiskAccessMode) |
b/test/py/cmdlib/cluster_unittest.py | ||
---|---|---|
425 | 425 |
|
426 | 426 |
def testInvalidDiskparams(self): |
427 | 427 |
for diskparams in [{constants.DT_DISKLESS: {constants.LV_STRIPES: 0}}, |
428 |
{constants.DT_DRBD8: {constants.RBD_POOL: "pool"}}]: |
|
428 |
{constants.DT_DRBD8: {constants.RBD_POOL: "pool"}}, |
|
429 |
{constants.DT_DRBD8: {constants.RBD_ACCESS: "bunny"}}]: |
|
429 | 430 |
self.ResetMocks() |
430 | 431 |
op = opcodes.OpClusterSetParams(diskparams=diskparams) |
431 | 432 |
self.ExecOpCodeExpectOpPrereqError(op, "verify diskparams") |
432 | 433 |
|
433 | 434 |
def testValidDiskparams(self): |
434 |
diskparams = {constants.DT_RBD: {constants.RBD_POOL: "mock_pool"}} |
|
435 |
diskparams = {constants.DT_RBD: {constants.RBD_POOL: "mock_pool", |
|
436 |
constants.RBD_ACCESS: "kernelspace"}} |
|
435 | 437 |
op = opcodes.OpClusterSetParams(diskparams=diskparams) |
436 | 438 |
self.ExecOpCode(op) |
437 | 439 |
self.assertEqual(diskparams[constants.DT_RBD], |
Also available in: Unified diff