Revision 4e070776
b/lib/locking.py | ||
---|---|---|
1389 | 1389 |
LEVEL_INSTANCE = 1 |
1390 | 1390 |
LEVEL_NODEGROUP = 2 |
1391 | 1391 |
LEVEL_NODE = 3 |
1392 |
LEVEL_NODE_RES = 4 |
|
1392 | 1393 |
|
1393 |
LEVELS = [LEVEL_CLUSTER, |
|
1394 |
LEVEL_INSTANCE, |
|
1395 |
LEVEL_NODEGROUP, |
|
1396 |
LEVEL_NODE] |
|
1394 |
LEVELS = [ |
|
1395 |
LEVEL_CLUSTER, |
|
1396 |
LEVEL_INSTANCE, |
|
1397 |
LEVEL_NODEGROUP, |
|
1398 |
LEVEL_NODE, |
|
1399 |
LEVEL_NODE_RES, |
|
1400 |
] |
|
1397 | 1401 |
|
1398 | 1402 |
# Lock levels which are modifiable |
1399 |
LEVELS_MOD = [LEVEL_NODE, LEVEL_NODEGROUP, LEVEL_INSTANCE] |
|
1403 |
LEVELS_MOD = frozenset([ |
|
1404 |
LEVEL_NODE_RES, |
|
1405 |
LEVEL_NODE, |
|
1406 |
LEVEL_NODEGROUP, |
|
1407 |
LEVEL_INSTANCE, |
|
1408 |
]) |
|
1400 | 1409 |
|
1401 | 1410 |
LEVEL_NAMES = { |
1402 | 1411 |
LEVEL_CLUSTER: "cluster", |
1403 | 1412 |
LEVEL_INSTANCE: "instance", |
1404 | 1413 |
LEVEL_NODEGROUP: "nodegroup", |
1405 | 1414 |
LEVEL_NODE: "node", |
1415 |
LEVEL_NODE_RES: "nodes-res", |
|
1406 | 1416 |
} |
1407 | 1417 |
|
1408 | 1418 |
# Constant for the big ganeti lock |
... | ... | |
1443 | 1453 |
self.__keyring = { |
1444 | 1454 |
LEVEL_CLUSTER: LockSet([BGL], "BGL", monitor=self._monitor), |
1445 | 1455 |
LEVEL_NODE: LockSet(nodes, "nodes", monitor=self._monitor), |
1456 |
LEVEL_NODE_RES: LockSet(nodes, "nodes-res", monitor=self._monitor), |
|
1446 | 1457 |
LEVEL_NODEGROUP: LockSet(nodegroups, "nodegroups", monitor=self._monitor), |
1447 | 1458 |
LEVEL_INSTANCE: LockSet(instances, "instances", |
1448 | 1459 |
monitor=self._monitor), |
b/lib/server/masterd.py | ||
---|---|---|
429 | 429 |
|
430 | 430 |
# Add the new node to the Ganeti Lock Manager |
431 | 431 |
self.glm.add(locking.LEVEL_NODE, node.name) |
432 |
self.glm.add(locking.LEVEL_NODE_RES, node.name) |
|
432 | 433 |
|
433 | 434 |
def ReaddNode(self, node): |
434 | 435 |
"""Updates a node that's already in the configuration |
... | ... | |
449 | 450 |
|
450 | 451 |
# Remove the node from the Ganeti Lock Manager |
451 | 452 |
self.glm.remove(locking.LEVEL_NODE, name) |
453 |
self.glm.remove(locking.LEVEL_NODE_RES, name) |
|
452 | 454 |
|
453 | 455 |
|
454 | 456 |
def _SetWatcherPause(until): |
Also available in: Unified diff