Revision 52a988f2

b/test/py/ganeti.rpc_unittest.py
774 774
  def testEncodeInstance(self):
775 775
    cluster = objects.Cluster(hvparams={
776 776
      constants.HT_KVM: {
777
        constants.HV_BLOCKDEV_PREFIX: "foo",
777
        constants.HV_CDROM_IMAGE_PATH: "foo",
778 778
        },
779 779
      },
780 780
      beparams={
......
791 791
    cluster.UpgradeConfig()
792 792

  
793 793
    inst = objects.Instance(name="inst1.example.com",
794
      hypervisor=constants.HT_FAKE,
794
      hypervisor=constants.HT_KVM,
795 795
      os="linux",
796 796
      hvparams={
797
        constants.HT_KVM: {
798
          constants.HV_BLOCKDEV_PREFIX: "bar",
799
          constants.HV_ROOT_PATH: "/tmp",
800
          },
797
        constants.HV_CDROM_IMAGE_PATH: "bar",
798
        constants.HV_ROOT_PATH: "/tmp",
801 799
        },
802 800
      beparams={
803 801
        constants.BE_MINMEM: 128,
......
826 824
      self.assertEqual(result["name"], "inst1.example.com")
827 825
      self.assertEqual(result["os"], "linux")
828 826
      self.assertEqual(result["beparams"][constants.BE_MINMEM], 128)
829
      self.assertEqual(len(result["hvparams"]), 1)
830 827
      self.assertEqual(len(result["nics"]), 1)
831 828
      self.assertEqual(result["nics"][0]["nicparams"][constants.NIC_MODE],
832 829
                       "mymode")
......
834 831
    # Generic object serialization
835 832
    result = runner._encoder((rpc_defs.ED_OBJECT_DICT, inst))
836 833
    _CheckBasics(result)
834
    self.assertEqual(len(result["hvparams"]), 2)
837 835

  
838 836
    result = runner._encoder((rpc_defs.ED_OBJECT_DICT_LIST, 5 * [inst]))
839 837
    map(_CheckBasics, result)
838
    map(lambda r: self.assertEqual(len(r["hvparams"]), 2), result)
840 839

  
841 840
    # Just an instance
842 841
    result = runner._encoder((rpc_defs.ED_INST_DICT, inst))
843 842
    _CheckBasics(result)
844 843
    self.assertEqual(result["beparams"][constants.BE_MAXMEM], 256)
845
    self.assertEqual(result["hvparams"][constants.HT_KVM], {
846
      constants.HV_BLOCKDEV_PREFIX: "bar",
847
      constants.HV_ROOT_PATH: "/tmp",
848
      })
844
    self.assertEqual(result["hvparams"][constants.HV_CDROM_IMAGE_PATH], "bar")
845
    self.assertEqual(result["hvparams"][constants.HV_ROOT_PATH], "/tmp")
849 846
    self.assertEqual(result["osparams"], {
850 847
      "role": "unknown",
851 848
      })
849
    self.assertEqual(len(result["hvparams"]),
850
                     len(constants.HVC_DEFAULTS[constants.HT_KVM]))
852 851

  
853 852
    # Instance with OS parameters
854 853
    result = runner._encoder((rpc_defs.ED_INST_DICT_OSP_DP, (inst, {
......
857 856
      })))
858 857
    _CheckBasics(result)
859 858
    self.assertEqual(result["beparams"][constants.BE_MAXMEM], 256)
860
    self.assertEqual(result["hvparams"][constants.HT_KVM], {
861
      constants.HV_BLOCKDEV_PREFIX: "bar",
862
      constants.HV_ROOT_PATH: "/tmp",
863
      })
859
    self.assertEqual(result["hvparams"][constants.HV_CDROM_IMAGE_PATH], "bar")
860
    self.assertEqual(result["hvparams"][constants.HV_ROOT_PATH], "/tmp")
864 861
    self.assertEqual(result["osparams"], {
865 862
      "role": "webserver",
866 863
      "other": "field",
......
868 865

  
869 866
    # Instance with hypervisor and backend parameters
870 867
    result = runner._encoder((rpc_defs.ED_INST_DICT_HVP_BEP_DP, (inst, {
871
      constants.HT_KVM: {
872
        constants.HV_BOOT_ORDER: "xyz",
873
        },
868
      constants.HV_BOOT_ORDER: "xyz",
874 869
      }, {
875 870
      constants.BE_VCPUS: 100,
876 871
      constants.BE_MAXMEM: 4096,
......
878 873
    _CheckBasics(result)
879 874
    self.assertEqual(result["beparams"][constants.BE_MAXMEM], 4096)
880 875
    self.assertEqual(result["beparams"][constants.BE_VCPUS], 100)
881
    self.assertEqual(result["hvparams"][constants.HT_KVM], {
882
      constants.HV_BOOT_ORDER: "xyz",
883
      })
876
    self.assertEqual(result["hvparams"][constants.HV_BOOT_ORDER], "xyz")
884 877
    self.assertEqual(result["disks"], [{
885 878
      "dev_type": constants.DT_PLAIN,
886 879
      "size": 4096,

Also available in: Unified diff