예제 #1
0
 def test_memory_warn(self, mock_list, mock_mem, mock_disks):
     mock_disks.return_value = HardwareData.DISK_SIZE_MAP
     mock_mem.return_value = HardwareData.MEMINFO_WARN
     mock_list.return_value = CephDisksData.DISK_LIST_OK
     result = PerfScale.check_osd_node_ram()
     regexp = 'Host RAM\(.*\) violates \d+ GiB per TiB of data disk\(.*\)' \
              ' guideline.'
     self.assertRegexpMatches(str(result), regexp)
     self.assertEqual(result.value, Severity.warn)
예제 #2
0
 def test_memory_unknown_error(self, mock_list, mock_mem, mock_disks):
     mock_disks.side_effect = ShellCommandException(
         "Failed to run command 'fdisk -l'")
     mock_mem.return_value = HardwareData.MEMINFO_WARN
     mock_list.return_value = CephDisksData.DISK_LIST_OK
     result = PerfScale.check_osd_node_ram()
     regexp = "Probe error: Failed to run command 'fdisk -l'"
     self.assertEqual(str(result), regexp)
     self.assertEqual(result.value, Severity.unknown)
예제 #3
0
 def test_shared_vcp_nic_ok(self, mock_nics, mock_bind):
     mock_bind.return_value = CephLmConfigData.BIND_IPS
     mock_nics.return_value = HardwareData.CEPH_SHARED_NIC_OK_VCP
     result = PerfScale.check_nic_speed()
     self.assertEqual(len(result), len(CephLmConfigData.BIND_IPS))
     for entry in result:
         regexp = 'NIC speed monitoring is not supported on this host'
         self.assertRegexpMatches(str(entry), regexp)
         self.assertEqual(entry.value, Severity.ok)
예제 #4
0
 def test_memory_ceph_error(self, mock_list, mock_mem, mock_disks):
     mock_disks.return_value = HardwareData.DISK_SIZE_MAP
     mock_mem.return_value = HardwareData.MEMINFO_WARN
     mock_list.side_effect = \
         CephCommandException("Failed to run command 'ceph-disk list'")
     result = PerfScale.check_osd_node_ram()
     regexp = "Probe error: Failed to run command 'ceph-disk list'"
     self.assertEqual(str(result), regexp)
     self.assertEqual(result.value, Severity.unknown)
예제 #5
0
 def test_shared_nic_external_net_warn(self, mock_nics, mock_bind):
     mock_bind.return_value = CephLmConfigData.BIND_IPS
     mock_nics.return_value = HardwareData.CEPH_SHARED_EXTERNAL_NET
     result = PerfScale.check_nic_speed()
     self.assertEqual(len(result), len(CephLmConfigData.BIND_IPS))
     for entry in result:
         regexp = 'WARN: Ceph and non-ceph networks detected' \
                  ' on same physical NIC'
         self.assertRegexpMatches(str(entry), regexp)
         self.assertEqual(entry.value, Severity.warn)
예제 #6
0
 def test_shared_nic_speed_warn(self, mock_nics, mock_bind):
     mock_bind.return_value = CephLmConfigData.BIND_IPS
     mock_nics.return_value = HardwareData.CEPH_SHARED_NIC_WARN
     result = PerfScale.check_nic_speed()
     self.assertEqual(len(result), len(CephLmConfigData.BIND_IPS))
     for entry in result:
         regexp = 'Logical NIC (.*) with ip (.*) violates' \
                  ' recommended minimum speed of (.*) Mb/s'
         self.assertRegexpMatches(str(entry), regexp)
         self.assertEqual(entry.value, Severity.warn)
예제 #7
0
 def test_dedicated_nic_speed_ok(self, mock_nics, mock_bind):
     mock_bind.return_value = CephLmConfigData.BIND_IPS
     mock_nics.return_value = HardwareData.CEPH_DEDICATED_NIC_OK
     result = PerfScale.check_nic_speed()
     self.assertEqual(len(result), len(CephLmConfigData.BIND_IPS))
     for entry in result:
         regexp = 'Logical NIC (.*) with ip (.*) supports' \
                  ' recommended minimum speed of (.*) Mb/s'
         self.assertRegexpMatches(str(entry), regexp)
         self.assertEqual(entry.value, Severity.ok)