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)
Exemple #6
0
    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)
Exemple #7
0
    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)
Exemple #8
0
 def get_value(self, stats):
     """Get value from statistics."""
     return node_manager._hex(stats["Current_value"])
Exemple #9
0
 def get_value(self, stats):
     return node_manager._hex(stats["IO_Utilization"])
Exemple #10
0
 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)
Exemple #12
0
 def get_value(self, stats):
     """Get value from statistics."""
     return node_manager._hex(stats["Current_value"])
Exemple #13
0
 def get_value(self, stats):
     return node_manager._hex(stats["IO_Utilization"])
Exemple #14
0
 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)