Exemple #1
0
 def populate_metrics(self, monitor_list):
     metric_object = objects.MonitorMetric()
     metric_object.name = 'cpu.frequency'
     metric_object.value = 100
     metric_object.timestamp = self.NOW_TS
     metric_object.source = self.source
     monitor_list.objects.append(metric_object)
 def test_monitor_metric_list_to_list(self):
     obj = objects.MonitorMetric(name='cpu.frequency',
                                 value=1000,
                                 timestamp=_ts_now,
                                 source='nova.virt.libvirt.driver')
     list_obj = objects.MonitorMetricList(objects=[obj])
     self.assertEqual(_monitor_metric_list_spec, list_obj.to_list())
 def test_monitor_metric_perc_to_dict(self):
     """Test to ensure division by 100.0 occurs on percentage value."""
     obj = objects.MonitorMetric(name='cpu.percent',
                                 value=17,
                                 timestamp=_ts_now,
                                 source='nova.virt.libvirt.driver')
     self.assertEqual(_monitor_metric_perc_spec, obj.to_dict())
Exemple #4
0
 def test_metrics_filter_pass(self):
     _ts_now = datetime.datetime(2015, 11, 11, 11, 0, 0)
     obj1 = objects.MonitorMetric(name='cpu.frequency',
                                  value=1000,
                                  timestamp=_ts_now,
                                  source='nova.virt.libvirt.driver')
     obj2 = objects.MonitorMetric(name='numa.membw.current',
                                  numa_membw_values={"0": 10, "1": 43},
                                  timestamp=_ts_now,
                                  source='nova.virt.libvirt.driver')
     metrics_list = objects.MonitorMetricList(objects=[obj1, obj2])
     self.flags(weight_setting=[
         'cpu.frequency=1', 'numa.membw.current=2'], group='metrics')
     filt_cls = metrics_filter.MetricsFilter()
     host = fakes.FakeHostState('host1', 'node1',
                                attribute_dict={'metrics': metrics_list})
     self.assertTrue(filt_cls.host_passes(host, None))
Exemple #5
0
 def populate_metrics(self, metric_list):
     self._update_data()
     for name in self.get_metric_names():
         metric_object = objects.MonitorMetric()
         metric_object.name = name
         metric_object.value = self._data[name]
         metric_object.timestamp = self._data["timestamp"]
         metric_object.source = self.source
         metric_list.objects.append(metric_object)
Exemple #6
0
 def test_monitor_NUMA_metric_to_dict(self):
     obj = objects.MonitorMetric(name='numa.membw.current',
                                 numa_membw_values={
                                     "0": 10,
                                     "1": 43
                                 },
                                 timestamp=_ts_now,
                                 source='nova.virt.libvirt.driver')
     self.assertEqual(_monitor_numa_metric_spec, obj.to_dict())
Exemple #7
0
 def test_obj_make_compatible(self):
     monitormetric_obj = objects.MonitorMetric(
         name=fields.MonitorMetricType.NUMA_MEM_BW_CURRENT,
         numa_membw_values={"0": 10, "1": 43},
         timestamp=_ts_now.isoformat(),
         source='nova.virt.libvirt.driver')
     primitive = monitormetric_obj.obj_to_primitive()
     self.assertIn('numa_membw_values', primitive['nova_object.data'])
     monitormetric_obj.obj_make_compatible(primitive['nova_object.data'],
                                           '1.0')
     self.assertNotIn('numa_membw_values', primitive['nova_object.data'])
Exemple #8
0
 def test_metrics_filter_missing_metrics(self):
     _ts_now = datetime.datetime(2015, 11, 11, 11, 0, 0)
     obj1 = objects.MonitorMetric(name='cpu.frequency',
                                  value=1000,
                                  timestamp=_ts_now,
                                  source='nova.virt.libvirt.driver')
     metrics_list = objects.MonitorMetricList(objects=[obj1])
     self.flags(weight_setting=['foo=1', 'bar=2'], group='metrics')
     filt_cls = metrics_filter.MetricsFilter()
     host = fakes.FakeHostState('host1', 'node1',
                                attribute_dict={'metrics': metrics_list})
     self.assertFalse(filt_cls.host_passes(host, None))
Exemple #9
0
    def add_metrics_to_list(self, metrics_list):
        """Adds metric objects to a supplied list object.

        :param metric_list: nova.objects.MonitorMetricList that the monitor
                            plugin should append nova.objects.MonitorMetric
                            objects to.
        """
        metric_data = self.get_metrics()
        metrics = []
        for (name, value, timestamp) in metric_data:
            metric = objects.MonitorMetric(name=name,
                                           value=value,
                                           timestamp=timestamp,
                                           source=self.source)
            metrics.append(metric)
        metrics_list.objects.extend(metrics)