Пример #1
0
    def test_get_stats_from_cluster(self):
        ManagedObjectRefs = [
            fake.ManagedObjectReference("host1", "HostSystem"),
            fake.ManagedObjectReference("host2", "HostSystem")
        ]
        hosts = fake._convert_to_array_of_mor(ManagedObjectRefs)
        respool = fake.ManagedObjectReference("resgroup-11", "ResourcePool")
        prop_dict = {'host': hosts, 'resourcePool': respool}

        hardware = fake.DataObject()
        hardware.numCpuCores = 8
        hardware.numCpuThreads = 16
        hardware.vendor = "Intel"
        hardware.cpuModel = "Intel(R) Xeon(R)"

        runtime_host_1 = fake.DataObject()
        runtime_host_1.connectionState = "connected"
        runtime_host_2 = fake.DataObject()
        runtime_host_2.connectionState = "disconnected"

        prop_list_host_1 = [
            fake.Prop(name="hardware_summary", val=hardware),
            fake.Prop(name="runtime_summary", val=runtime_host_1)
        ]
        prop_list_host_2 = [
            fake.Prop(name="hardware_summary", val=hardware),
            fake.Prop(name="runtime_summary", val=runtime_host_2)
        ]
        fake_objects = fake.FakeRetrieveResult()
        fake_objects.add_object(
            fake.ObjectContent("prop_list_host1", prop_list_host_1))
        fake_objects.add_object(
            fake.ObjectContent("prop_list_host1", prop_list_host_2))

        respool_resource_usage = fake.DataObject()
        respool_resource_usage.maxUsage = 5368709120
        respool_resource_usage.overallUsage = 2147483648
        session = fake_session()

        def fake_call_method(*args):
            if "get_dynamic_properties" in args:
                return prop_dict
            elif "get_properties_for_a_collection_of_objects" in args:
                return fake_objects
            else:
                return respool_resource_usage

        with mock.patch.object(fake_session, '_call_method', fake_call_method):
            result = vm_util.get_stats_from_cluster(session, "cluster1")
            cpu_info = {}
            mem_info = {}
            cpu_info['vcpus'] = 16
            cpu_info['cores'] = 8
            cpu_info['vendor'] = ["Intel"]
            cpu_info['model'] = ["Intel(R) Xeon(R)"]
            mem_info['total'] = 5120
            mem_info['free'] = 3072
            expected_stats = {'cpu': cpu_info, 'mem': mem_info}
            self.assertEqual(expected_stats, result)
Пример #2
0
 def test_get_info(self, mock_get_vm_ref):
     props = [
         'summary.config.numCpu', 'summary.config.memorySizeMB',
         'runtime.powerState'
     ]
     prop_cpu = vmwareapi_fake.Prop(props[0], 4)
     prop_mem = vmwareapi_fake.Prop(props[1], 128)
     prop_state = vmwareapi_fake.Prop(props[2], 'poweredOn')
     prop_list = [prop_state, prop_mem, prop_cpu]
     obj_content = vmwareapi_fake.ObjectContent(None, prop_list=prop_list)
     result = vmwareapi_fake.FakeRetrieveResult()
     result.add_object(obj_content)
     mock_call_method = mock.Mock(return_value=result)
     with mock.patch.object(self._session, '_call_method',
                            mock_call_method):
         info = self._vmops.get_info(self._instance)
         mock_call_method.assert_called_once_with(vim_util,
                                                  'get_object_properties',
                                                  None, 'fake_ref',
                                                  'VirtualMachine', props)
         mock_get_vm_ref.assert_called_once_with(self._session,
                                                 self._instance)
         self.assertEqual(power_state.RUNNING, info['state'])
         self.assertEqual(128 * 1024, info['max_mem'])
         self.assertEqual(128 * 1024, info['mem'])
         self.assertEqual(4, info['num_cpu'])
         self.assertEqual(0, info['cpu_time'])
Пример #3
0
    def test_get_host_name_for_vm(self):

        fake_vm = fake.ManagedObject(
            "VirtualMachine",
            fake.ManagedObjectReference("vm-123", "VirtualMachine"))
        fake_vm.propSet.append(fake.Property('name', 'vm-123'))
        fake_objects = fake.FakeRetrieveResult()
        fake_objects.add_object(fake_vm)

        vm_ref = vm_util.get_vm_ref_from_name(fake_session(fake_objects),
                                              'vm-123')

        self.assertIsNotNone(vm_ref)

        fake_results = [
            fake.ObjectContent(None, [
                fake.Property(
                    'runtime.host',
                    fake.ManagedObjectReference('host-123', 'HostSystem'))
            ])
        ]

        fake_objects = fake.FakeRetrieveResult()
        for results in fake_results:
            fake_objects.add_object(results)

        host_id = vm_util.get_host_id_from_vm_ref(fake_session(fake_objects),
                                                  vm_ref)

        self.assertEqual('host-123', host_id)
Пример #4
0
    def test_fault_checker_missing_props(self):
        fake_objects = fake.FakeRetrieveResult()
        ml = [fake.MissingProperty(method_fault=ExpectedMethodFault())]
        fake_objects.add_object(fake.ObjectContent(None, missing_list=ml))

        exp_fault_list = ['ExpectedMethodFault']
        try:
            error_util.FaultCheckers.retrievepropertiesex_fault_checker(
                fake_objects)
        except error_util.VimFaultException as e:
            self.assertEqual(exp_fault_list, e.fault_list)
        else:
            self.fail("VimFaultException was not raised.")
Пример #5
0
 def test_fault_checker_no_missing_props(self):
     fake_objects = fake.FakeRetrieveResult()
     fake_objects.add_object(fake.ObjectContent(None))
     self.assertIsNone(
         error_util.FaultCheckers.retrievepropertiesex_fault_checker(
             fake_objects))
Пример #6
0
def _fake_get_object_properties_missing(vim, collector, mobj, type,
                                        properties):
    fake_objects = fake.FakeRetrieveResult()
    ml = [fake.MissingProperty()]
    fake_objects.add_object(fake.ObjectContent(None, missing_list=ml))
    return fake_objects
Пример #7
0
def _fake_get_object_properties(vim, collector, mobj, type, properties):
    fake_objects = fake.FakeRetrieveResult()
    fake_objects.add_object(fake.ObjectContent(None))
    return fake_objects