def test_read_cups_utilization(self): cups_util = self.nm.read_cups_utilization() cpu_util = node_manager._hex(cups_util["CPU_Utilization"]) mem_util = node_manager._hex(cups_util["Mem_Utilization"]) io_util = node_manager._hex(cups_util["IO_Utilization"]) # see ipmi_test_data.py for raw data self.assertEqual(51, cpu_util) self.assertEqual(5, mem_util) self.assertEqual(0, io_util)
def test_read_inlet_temperature(self): temperature = self.nm.read_inlet_temperature() avg_val = node_manager._hex(temperature["Average_value"]) max_val = node_manager._hex(temperature["Maximum_value"]) min_val = node_manager._hex(temperature["Minimum_value"]) cur_val = node_manager._hex(temperature["Current_value"]) # see ipmi_test_data.py for raw data self.assertEqual(23, cur_val) self.assertEqual(22, min_val) self.assertEqual(24, max_val) self.assertEqual(23, avg_val)
def test_read_power_all(self): power = self.nm.read_power_all() avg_val = node_manager._hex(power["Average_value"]) max_val = node_manager._hex(power["Maximum_value"]) min_val = node_manager._hex(power["Minimum_value"]) cur_val = node_manager._hex(power["Current_value"]) self.assertTrue(self.nm.nm_support) # see ipmi_test_data.py for raw data self.assertEqual(87, cur_val) self.assertEqual(3, min_val) self.assertEqual(567, max_val) self.assertEqual(92, avg_val)
def test_read_outlet_temperature(self): temperature = self.nm.read_outlet_temperature() avg_val = node_manager._hex(temperature["Average_value"]) max_val = node_manager._hex(temperature["Maximum_value"]) min_val = node_manager._hex(temperature["Minimum_value"]) cur_val = node_manager._hex(temperature["Current_value"]) # get NM 3.0 self.assertEqual(5, self.nm.nm_version) # see ipmi_test_data.py for raw data self.assertEqual(25, cur_val) self.assertEqual(24, min_val) self.assertEqual(27, max_val) self.assertEqual(25, avg_val)
def test_read_airflow(self): airflow = self.nm.read_airflow() avg_val = node_manager._hex(airflow["Average_value"]) max_val = node_manager._hex(airflow["Maximum_value"]) min_val = node_manager._hex(airflow["Minimum_value"]) cur_val = node_manager._hex(airflow["Current_value"]) # get NM 3.0 self.assertEqual(5, self.nm.nm_version) # see ipmi_test_data.py for raw data self.assertEqual(190, cur_val) self.assertEqual(150, min_val) self.assertEqual(550, max_val) self.assertEqual(203, avg_val)
def get_samples(self, manager, cache, resources): # Only one resource for Node Manager pollster try: stats = self.read_data() except nmexcept.IPMIException: self.polling_failures += 1 LOG.warning(_('Polling %(name)s faild for %(cnt)s times!') % ({'name': self.NAME, 'cnt': self.polling_failures})) if (CONF.ipmi.polling_retry >= 0 and self.polling_failures > CONF.ipmi.polling_retry): LOG.warning(_('Pollster for %s is disabled!') % self.NAME) raise plugin_base.PollsterPermanentError(resources[0]) else: return self.polling_failures = 0 metadata = { 'node': CONF.host } if stats: data = node_manager._hex(stats["Current_value"]) yield sample.Sample( name=self.NAME, type=self.TYPE, unit=self.UNIT, volume=data, user_id=None, project_id=None, resource_id=CONF.host, timestamp=timeutils.utcnow().isoformat(), resource_metadata=metadata)
def get_samples(self, manager, cache, resources): stats = self.read_data() if stats: data = node_manager._hex(stats["Current_value"]) yield sample.Sample( name=self.NAME, type=self.TYPE, unit=self.UNIT, volume=data, user_id=None, project_id=None, resource_id=CONF.host, timestamp=timeutils.utcnow().isoformat(), resource_metadata=None)
def get_value(self, stats): """Get value from statistics.""" return node_manager._hex(stats["Current_value"])
def get_value(self, stats): return node_manager._hex(stats["IO_Utilization"])
def get_value(self, stats): return node_manager._hex(stats["CUPS_Index"])
def test_read_cups_index(self): cups_index = self.nm.read_cups_index() index = node_manager._hex(cups_index["CUPS_Index"]) self.assertEqual(46, index)