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