X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=monitor%2Fdatabase%2Finfo%2Ffindbad.py;h=0cfb965cf74c7c9eccb006988aeac1e4c85b142c;hb=32e64e33bc81735e22024c5a44510848bb3c88df;hp=a5139eb33b9681e4dfc7bbf6c02e02369419c566;hpb=c9d06f3b274ecbc092a0b3eb1f5ceb6c0f734aad;p=monitor.git diff --git a/monitor/database/info/findbad.py b/monitor/database/info/findbad.py index a5139eb..0cfb965 100644 --- a/monitor/database/info/findbad.py +++ b/monitor/database/info/findbad.py @@ -11,46 +11,22 @@ __metadata__ = mon_metadata __session__ = mon_session -#class FindbadNodeRecordSync(Entity): -# hostname = Field(String(250),primary_key=True) #,alternateMethodName='by_hostname') -# round = Field(Int,default=0) - -#class FindbadPCURecordSync(Entity): -# plc_pcuid = Field(Int,primary_key=True) #,alternateMethodName='by_pcuid') -# round = Field(Int,default=0) - class FindbadNodeRecord(Entity): @classmethod def get_all_latest(cls): return cls.query.all() - #fbsync = FindbadNodeRecordSync.get_by(hostname="global") - #if fbsync: - # return cls.query.filter_by(round=fbsync.round) - #else: - # return [] @classmethod def get_latest_by(cls, **kwargs): return cls.query.filter_by(**kwargs).first() - #fbsync = FindbadNodeRecordSync.get_by(hostname="global") - #if fbsync: - # kwargs['round'] = fbsync.round - # return cls.query.filter_by(**kwargs).order_by(FindbadNodeRecord.date_checked.desc()) - #else: - # return [] + + @classmethod + def get_latest_by(cls, **kwargs): + return cls.query.filter_by(**kwargs).first() @classmethod def get_latest_n_by(cls, n=3, **kwargs): return cls.query.filter_by(**kwargs) - #fbsync = FindbadNodeRecordSync.get_by(hostname="global") - #kwargs['round'] = fbsync.round - #ret = [] - #for i in range(0,n): - # kwargs['round'] = kwargs['round'] - i - # f = cls.query.filter_by(**kwargs).first() - # if f: - # ret.append(f) - #return ret # ACCOUNTING date_checked = Field(DateTime,default=datetime.now) @@ -64,6 +40,9 @@ class FindbadNodeRecord(Entity): nm_status = Field(String,default=None) fs_status = Field(String,default=None) dns_status = Field(String,default=None) + external_dns_status = Field(Boolean,default=True) + uptime = Field(String,default=None) + rpms = Field(String,default=None) princeton_comon_dir = Field(Boolean,default=False) princeton_comon_running = Field(Boolean,default=False) princeton_comon_procs = Field(Int,default=None) @@ -74,9 +53,11 @@ class FindbadNodeRecord(Entity): plc_pcuid = Field(Int,default=None) comon_stats = Field(PickleType,default=None) port_status = Field(PickleType,default=None) + firewall = Field(Boolean,default=False) ssh_portused = Field(Int,default=22) ssh_status = Field(Boolean,default=False) ssh_error = Field(String,default=None) # set if ssh_access == False + traceroute = Field(String,default=None) ping_status = Field(Boolean,default=False) # INFERRED @@ -99,7 +80,7 @@ class FindbadPCURecord(Entity): # ACCOUNTING date_checked = Field(DateTime) round = Field(Int,default=0) - plc_pcuid = Field(Int) #alternateID=True,alternateMethodName='by_pcuid') + plc_pcuid = Field(Int) # EXTERNAL plc_pcu_stats = Field(PickleType,default=None)