Bug 2672 - le power diagram contient des erreurs (certains serveurs affichent une consommation de 0 W)
- correction du bug (les machines physix.._.. n'étaient pas gérées, alors que les machines simpatix.._.. l'étaient; du coup, j'ai rendu le code plus générique pour qu'il reconnaisse les machines [a-z]+.._..)
This commit is contained in:
parent
4b1bb04565
commit
e102d33a9d
|
@ -7,8 +7,8 @@
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import pygraphviz
|
import pygraphviz # port install py-pygraphviz
|
||||||
from inventory import Inventory
|
from inventory import Inventory, MachineSpecIdNotFound
|
||||||
from SimpaDbUtil import SqlFile, SqlDatabaseReader
|
from SimpaDbUtil import SqlFile, SqlDatabaseReader
|
||||||
from Lib import SimpaDbUtil
|
from Lib import SimpaDbUtil
|
||||||
|
|
||||||
|
@ -199,7 +199,9 @@ class PowerConfig(object):
|
||||||
|
|
||||||
machine_name = machine.name
|
machine_name = machine.name
|
||||||
|
|
||||||
if re.match('simpatix.._..', machine_name):
|
if re.match('[a-z]+.._..', machine_name):
|
||||||
|
# machine_name is a group of machines such as physix80_83
|
||||||
|
# in this case, we use a hack : the type and power consumption is based on the first machine of this group (in this example physix80)
|
||||||
machine_name = '_'.join(machine_name.split('_')[0:-1])
|
machine_name = '_'.join(machine_name.split('_')[0:-1])
|
||||||
|
|
||||||
# print(machine_name)
|
# print(machine_name)
|
||||||
|
@ -210,7 +212,7 @@ class PowerConfig(object):
|
||||||
machine_spec_id = inventory.machine_name_to_machine_spec_id(machine_name)
|
machine_spec_id = inventory.machine_name_to_machine_spec_id(machine_name)
|
||||||
if machine_spec_id == '':
|
if machine_spec_id == '':
|
||||||
machine_spec_id = None # some simple 'machines' such as powerext003 have undefined machine_spec_id
|
machine_spec_id = None # some simple 'machines' such as powerext003 have undefined machine_spec_id
|
||||||
except SimpaDbUtil.TableAttrNotFound:
|
except MachineSpecIdNotFound:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if machine_spec_id is not None:
|
if machine_spec_id is not None:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import MySQLdb
|
import MySQLdb # sudo port install py-mysql
|
||||||
import time
|
import time
|
||||||
import StringIO
|
import StringIO
|
||||||
import re
|
import re
|
||||||
|
|
|
@ -45,7 +45,10 @@ class Inventory(object):
|
||||||
return machine_name
|
return machine_name
|
||||||
|
|
||||||
def machine_name_to_machine_spec_id(self, machine_name):
|
def machine_name_to_machine_spec_id(self, machine_name):
|
||||||
|
try:
|
||||||
machine_spec_id = self._sql_reader.get_table_attr('machines', 'name', machine_name, 'machine_spec_id')
|
machine_spec_id = self._sql_reader.get_table_attr('machines', 'name', machine_name, 'machine_spec_id')
|
||||||
|
except SimpaDbUtil.TableAttrNotFound as e: # @UnusedVariable
|
||||||
|
raise MachineSpecIdNotFound(machine_name)
|
||||||
return machine_spec_id
|
return machine_spec_id
|
||||||
|
|
||||||
# electricity related methods
|
# electricity related methods
|
||||||
|
|
Loading…
Reference in New Issue