Revision 22d9752a
b/lib/cmdlib.py | ||
---|---|---|
3371 | 3371 |
nimg.sbp[pnode] = [] |
3372 | 3372 |
nimg.sbp[pnode].append(instance) |
3373 | 3373 |
|
3374 |
es_flags = rpc.GetExclusiveStorageForNodeNames(self.cfg, self.my_node_names) |
|
3375 |
es_unset_nodes = [] |
|
3376 |
# The value of exclusive_storage should be the same across the group |
|
3377 |
if compat.any(es_flags.values()): |
|
3378 |
es_unset_nodes = [n for (n, es) in es_flags.items() |
|
3379 |
if not es] |
|
3380 |
|
|
3381 |
if es_unset_nodes: |
|
3382 |
self._Error(constants.CV_EGROUPMIXEDESFLAG, self.group_info.name, |
|
3383 |
"The exclusive_storage flag should be uniform in a group," |
|
3384 |
" but these nodes have it unset: %s", |
|
3385 |
utils.CommaJoin(utils.NiceSort(es_unset_nodes))) |
|
3386 |
self.LogWarning("Some checks required by exclusive storage will be" |
|
3387 |
" performed also on nodes with the flag unset") |
|
3388 |
|
|
3374 | 3389 |
# At this point, we have the in-memory data structures complete, |
3375 | 3390 |
# except for the runtime information, which we'll gather next |
3376 | 3391 |
|
b/lib/constants.py | ||
---|---|---|
1432 | 1432 |
|
1433 | 1433 |
# Cluster Verify error classes |
1434 | 1434 |
CV_TCLUSTER = "cluster" |
1435 |
CV_TGROUP = "group" |
|
1435 | 1436 |
CV_TNODE = "node" |
1436 | 1437 |
CV_TINSTANCE = "instance" |
1437 | 1438 |
|
... | ... | |
1450 | 1451 |
CV_ECLUSTERDANGLINGINST = \ |
1451 | 1452 |
(CV_TNODE, "ECLUSTERDANGLINGINST", |
1452 | 1453 |
"Some instances have a non-existing primary node") |
1454 |
CV_EGROUPMIXEDESFLAG = \ |
|
1455 |
(CV_TGROUP, "EGROUPMIXEDESFLAG", |
|
1456 |
"exclusive_storage flag is not uniform within the group") |
|
1453 | 1457 |
CV_EINSTANCEBADNODE = \ |
1454 | 1458 |
(CV_TINSTANCE, "EINSTANCEBADNODE", |
1455 | 1459 |
"Instance marked as running lives on an offline node") |
Also available in: Unified diff