Revision 1c3231aa test/py/ganeti.query_unittest.py

b/test/py/ganeti.query_unittest.py
423 423
    master_node.mtime = None
424 424
    assert master_node.name == master_name
425 425

  
426
    live_data_name = node_names[4]
427
    assert live_data_name != master_name
426
    live_data_node = nodes[4]
427
    assert live_data_node.name != master_name
428 428

  
429 429
    fake_live_data = {
430 430
      "bootid": "a2504766-498e-4b25-b21e-d23098dc3af4",
......
443 443
    assert (sorted(query._NODE_LIVE_FIELDS.keys()) ==
444 444
            sorted(fake_live_data.keys()))
445 445

  
446
    live_data = dict.fromkeys(node_names, {})
447
    live_data[live_data_name] = \
446
    live_data = dict.fromkeys([node.uuid for node in nodes], {})
447
    live_data[live_data_node.uuid] = \
448 448
      dict((query._NODE_LIVE_FIELDS[name][2], value)
449 449
           for name, value in fake_live_data.items())
450 450

  
451
    node_to_primary = dict((name, set()) for name in node_names)
452
    node_to_primary[master_name].update(["inst1", "inst2"])
451
    node_to_primary = dict((node.uuid, set()) for node in nodes)
452
    node_to_primary[master_node.uuid].update(["inst1", "inst2"])
453 453

  
454
    node_to_secondary = dict((name, set()) for name in node_names)
455
    node_to_secondary[live_data_name].update(["instX", "instY", "instZ"])
454
    node_to_secondary = dict((node.uuid, set()) for node in nodes)
455
    node_to_secondary[live_data_node.uuid].update(["instX", "instY", "instZ"])
456 456

  
457 457
    ng_uuid = "492b4b74-8670-478a-b98d-4c53a76238e6"
458 458
    groups = {
459 459
      ng_uuid: objects.NodeGroup(name="ng1", uuid=ng_uuid, ndparams={}),
460 460
      }
461 461

  
462
    oob_not_powered_node = node_names[0]
463
    nodes[0].powered = False
464
    oob_support = dict((name, False) for name in node_names)
465
    oob_support[master_name] = True
466
    oob_support[oob_not_powered_node] = True
462
    oob_not_powered_node = nodes[0]
463
    oob_not_powered_node.powered = False
464
    oob_support = dict((node.uuid, False) for node in nodes)
465
    oob_support[master_node.uuid] = True
466
    oob_support[oob_not_powered_node.uuid] = True
467 467

  
468 468
    master_node.group = ng_uuid
469 469

  
470
    nqd = query.NodeQueryData(nodes, live_data, master_name,
470
    nqd = query.NodeQueryData(nodes, live_data, master_node.uuid,
471 471
                              node_to_primary, node_to_secondary, groups,
472 472
                              oob_support, cluster)
473 473
    result = q.Query(nqd)
......
511 511
                 row[field_index["powered"]] == (constants.RS_UNAVAIL, None)
512 512
                 for row, node in zip(result, nodes))
513 513

  
514
    live_data_row = result[node_to_row[live_data_name]]
514
    live_data_row = result[node_to_row[live_data_node.name]]
515 515

  
516 516
    for (field, value) in fake_live_data.items():
517 517
      self.assertEqual(live_data_row[field_index[field]],
......
523 523
                     (constants.RS_NORMAL, 3))
524 524
    self.assertEqual(master_row[field_index["pinst_list"]],
525 525
                     (constants.RS_NORMAL,
526
                      list(node_to_primary[master_name])))
526
                      list(node_to_primary[master_node.uuid])))
527 527
    self.assertEqual(live_data_row[field_index["sinst_list"]],
528 528
                     (constants.RS_NORMAL,
529
                      utils.NiceSort(list(node_to_secondary[live_data_name]))))
529
                      utils.NiceSort(list(
530
                        node_to_secondary[live_data_node.uuid]))))
530 531

  
531 532
  def testGetLiveNodeField(self):
532 533
    nodes = [
......
666 667
          },
667 668
        })
668 669

  
669
    offline_nodes = ["nodeoff1", "nodeoff2"]
670
    bad_nodes = ["nodebad1", "nodebad2", "nodebad3"] + offline_nodes
671
    nodes = ["node%s" % i for i in range(10)] + bad_nodes
670
    offline_nodes = ["nodeoff1-uuid", "nodeoff2-uuid"]
671
    bad_nodes = ["nodebad1-uuid", "nodebad2-uuid", "nodebad3-uuid"] +\
672
                offline_nodes
673
    node_uuids = ["node%s-uuid" % i for i in range(10)] + bad_nodes
672 674

  
673 675
    instances = [
674 676
      objects.Instance(name="inst1", hvparams={}, beparams={}, nics=[],
......
676 678
        ctime=1291244000, mtime=1291244400, serial_no=30,
677 679
        admin_state=constants.ADMINST_UP, hypervisor=constants.HT_XEN_PVM,
678 680
        os="linux1",
679
        primary_node="node1",
681
        primary_node="node1-uuid",
680 682
        disk_template=constants.DT_PLAIN,
681 683
        disks=[],
682 684
        disks_active=True,
......
686 688
        ctime=1291211000, mtime=1291211077, serial_no=1,
687 689
        admin_state=constants.ADMINST_UP, hypervisor=constants.HT_XEN_HVM,
688 690
        os="deb99",
689
        primary_node="node5",
691
        primary_node="node5-uuid",
690 692
        disk_template=constants.DT_DISKLESS,
691 693
        disks=[],
692 694
        disks_active=True,
......
700 702
        ctime=1291011000, mtime=1291013000, serial_no=1923,
701 703
        admin_state=constants.ADMINST_DOWN, hypervisor=constants.HT_KVM,
702 704
        os="busybox",
703
        primary_node="node6",
705
        primary_node="node6-uuid",
704 706
        disk_template=constants.DT_DRBD8,
705 707
        disks=[],
706 708
        disks_active=False,
......
717 719
        ctime=1291244390, mtime=1291244395, serial_no=25,
718 720
        admin_state=constants.ADMINST_DOWN, hypervisor=constants.HT_XEN_PVM,
719 721
        os="linux1",
720
        primary_node="nodeoff2",
722
        primary_node="nodeoff2-uuid",
721 723
        disk_template=constants.DT_DRBD8,
722 724
        disks=[],
723 725
        disks_active=True,
......
743 745
        ctime=1231211000, mtime=1261200000, serial_no=3,
744 746
        admin_state=constants.ADMINST_UP, hypervisor=constants.HT_XEN_HVM,
745 747
        os="deb99",
746
        primary_node="nodebad2",
748
        primary_node="nodebad2-uuid",
747 749
        disk_template=constants.DT_DISKLESS,
748 750
        disks=[],
749 751
        disks_active=True,
......
757 759
        ctime=7513, mtime=11501, serial_no=13390,
758 760
        admin_state=constants.ADMINST_DOWN, hypervisor=constants.HT_XEN_HVM,
759 761
        os="deb99",
760
        primary_node="node7",
762
        primary_node="node7-uuid",
761 763
        disk_template=constants.DT_DISKLESS,
762 764
        disks=[],
763 765
        disks_active=False,
......
773 775
        ctime=None, mtime=None, serial_no=1947,
774 776
        admin_state=constants.ADMINST_DOWN, hypervisor=constants.HT_XEN_HVM,
775 777
        os="deb99",
776
        primary_node="node6",
778
        primary_node="node6-uuid",
777 779
        disk_template=constants.DT_DISKLESS,
778 780
        disks=[],
779 781
        disks_active=False,
......
784 786
        ctime=None, mtime=None, serial_no=19478,
785 787
        admin_state=constants.ADMINST_OFFLINE, hypervisor=constants.HT_XEN_HVM,
786 788
        os="deb99",
787
        primary_node="node6",
789
        primary_node="node6-uuid",
788 790
        disk_template=constants.DT_DISKLESS,
789 791
        disks=[],
790 792
        disks_active=False,
......
831 833
                              user="root",
832 834
                              command=["hostname"]).ToDict()
833 835

  
836
    nodes = dict([(uuid, objects.Node(
837
                           name="%s.example.com" % uuid,
838
                           uuid=uuid,
839
                           group="default-uuid"))
840
                  for uuid in node_uuids])
841

  
834 842
    iqd = query.InstanceQueryData(instances, cluster, disk_usage,
835 843
                                  offline_nodes, bad_nodes, live_data,
836
                                  wrongnode_inst, consinfo, {}, {}, {})
844
                                  wrongnode_inst, consinfo, nodes, {}, {})
837 845
    result = q.Query(iqd)
838 846
    self.assertEqual(len(result), len(instances))
839 847
    self.assert_(compat.all(len(row) == len(selected)
......
845 853
    tested_status = set()
846 854

  
847 855
    for (inst, row) in zip(instances, result):
848
      assert inst.primary_node in nodes
856
      assert inst.primary_node in node_uuids
849 857

  
850 858
      self.assertEqual(row[fieldidx["name"]],
851 859
                       (constants.RS_NORMAL, inst.name))

Also available in: Unified diff