def assess_disk(self, disk):
     diskinfo = extract(self.data, ['disk', disk])
     return {
         'type': Grade.str(diskinfo.get('type'), ['SDD'], ['HDD']),
         # 50Gb - good, 1Tb - good enough
         'size': Grade.int(diskinfo.get('size'), 50 * (1000**3), 1000**4),
     }
Exemple #2
0
 def rate_disk(self, disk):
     diskinfo = extract(self.data, ['disk', disk])
     return self.folding.fold(
         {
             'type': Grade.str(diskinfo.get('type'), ['SDD'], ['HDD']),
             # 50Gb - good, 1Tb - good enough
             'size': Grade.int(diskinfo.get('size'), 50 *
                               (1000**3), 1000**4),
         },
         self.folding.DEVICE)
 def test_grade_str(self):
     bad = ['Realtek', 'Dlink']
     good = ['Intel', 'Melanox']
     expected = {
         'Melanox': 10,
         'Intel': 10,
         'Broadcom': 2,
         'Dlink': 1,
         'Realtek': 1,
     }
     for k, value in iteritems(expected):
         self.assertEqual(Grade.str(k, good, bad), value)
 def test_grade_str(self):
     bad = ["Realtek", "Dlink"]
     good = ["Intel", "Melanox"]
     expected = {
         "Melanox": 10,
         "Intel": 10,
         "Broadcom": 2,
         "Dlink": 1,
         "Realtek": 1,
     }
     for k, value in iteritems(expected):
         self.assertEqual(Grade.str(k, good, bad), value)
 def assess_cpu(self):
     cpuinfo = extract(self.data, ['cpu', 'info'])
     if cpuinfo:
         return {
             'CPU MHz':
             Grade.int(cpuinfo.get('CPU MHz'), 2000, 4000),
             'BogoMIPS':
             Grade.int(cpuinfo.get('BogoMIPS'), 4000, 8000),
             'CPU(s)':
             Grade.int(cpuinfo.get('CPU(s)'), 2, 32),
             'Core(s) per socket':
             Grade.int(cpuinfo.get('Core(s) per socket'), 1, 2),
             'Socket(s)':
             Grade.int(cpuinfo.get('Socket(s)'), 1, 2),
             'Thread(s) per core':
             Grade.int(cpuinfo.get('Thread(s) per core'), 2, 1),
             'L3 cache':
             Grade.int(cpuinfo.get('L3 cache'), 1000, 30000),
             'Vendor ID':
             Grade.str(cpuinfo.get('Vendor ID'), good=['GenuineIntel']),
         }
Exemple #6
0
 def rate(self):
     cpuinfo = extract(self.data, ['cpu', 'info'])
     if cpuinfo:  # None if no cpuinfo key
         return self.folding.fold(
             {
                 'CPU MHz':
                 Grade.int(cpuinfo.get('CPU MHz'), 2000, 4000),
                 'BogoMIPS':
                 Grade.int(cpuinfo.get('BogoMIPS'), 4000, 8000),
                 'CPU(s)':
                 Grade.int(cpuinfo.get('CPU(s)'), 2, 32),
                 'Core(s) per socket':
                 Grade.int(cpuinfo.get('Core(s) per socket'), 1, 2),
                 'Socket(s)':
                 Grade.int(cpuinfo.get('Socket(s)'), 1, 2),
                 'Thread(s) per core':
                 Grade.int(cpuinfo.get('Thread(s) per core'), 2, 1),
                 'L3 cache':
                 Grade.int(cpuinfo.get('L3 cache'), 1000, 30000),
                 'Vendor ID':
                 Grade.str(cpuinfo.get('Vendor ID'), good=['GenuineIntel']),
             }, self.folding.SUBSYSTEM)