Revision 1ec34e26

b/lib/query.py
946 946
  return compat.partial(_StaticValueInner, value)
947 947

  
948 948

  
949
def _GetNodeRole(node, master_name):
949
def _GetNodeRole(node, master_uuid):
950 950
  """Determine node role.
951 951

  
952 952
  @type node: L{objects.Node}
953 953
  @param node: Node object
954
  @type master_name: string
955
  @param master_name: Master node name
954
  @type master_uuid: string
955
  @param master_uuid: Master node UUID
956 956

  
957 957
  """
958
  if node.name == master_name:
958
  if node.uuid == master_uuid:
959 959
    return constants.NR_MASTER
960 960
  elif node.master_candidate:
961 961
    return constants.NR_MCANDIDATE
b/test/py/ganeti.query_unittest.py
299 299
class TestGetNodeRole(unittest.TestCase):
300 300
  def test(self):
301 301
    tested_role = set()
302

  
302
    master_uuid = "969502b9-f632-4d3d-83a5-a78b0ca8cdf6"
303
    node_uuid = "d75499b5-83e3-4b80-b6fe-3e1aee7e5a35"
303 304
    checks = [
304
      (constants.NR_MASTER, "node1", objects.Node(name="node1")),
305
      (constants.NR_MCANDIDATE, "master",
306
       objects.Node(name="node1", master_candidate=True)),
307
      (constants.NR_REGULAR, "master", objects.Node(name="node1")),
308
      (constants.NR_DRAINED, "master",
309
       objects.Node(name="node1", drained=True)),
305
      (constants.NR_MASTER,
306
       objects.Node(name="node1", uuid=master_uuid)),
307
      (constants.NR_MCANDIDATE,
308
       objects.Node(name="node1", uuid=node_uuid, master_candidate=True)),
309
      (constants.NR_REGULAR,
310
       objects.Node(name="node1", uuid=node_uuid)),
311
      (constants.NR_DRAINED,
312
       objects.Node(name="node1", uuid=node_uuid, drained=True)),
310 313
      (constants.NR_OFFLINE,
311
       "master", objects.Node(name="node1", offline=True)),
314
       objects.Node(name="node1", uuid=node_uuid, offline=True)),
312 315
      ]
313 316

  
314
    for (role, master_name, node) in checks:
315
      result = query._GetNodeRole(node, master_name)
317
    for (role, node) in checks:
318
      result = query._GetNodeRole(node, master_uuid)
316 319
      self.assertEqual(result, role)
317 320
      tested_role.add(result)
318 321

  

Also available in: Unified diff