diff --git a/src/api/index.py b/src/api/index.py index cf2c415..fd7c291 100644 --- a/src/api/index.py +++ b/src/api/index.py @@ -152,7 +152,7 @@ def get_usage_detail(): """ r = {} try: - id = request.args.get('node') + id = request.args['id'] if 'id' in request.args else request.args.get('node') app_id = request.args.get('app') gReader = factory.instance(type=class_read,args=p) r = gReader.view('summary/app_resource_usage_details',key=p['uid']) @@ -270,10 +270,9 @@ def InitCollector(): lagents.append(agent) if id in a : #-- This variable should not be confused with defined namespace + # The manager will properly initialize the objects + # _actor = eval(a[id]+"()") - - print _actor.getName() - _actor.init(args) lactors.append(_actor) config = dict(CONFIG) diff --git a/src/utils/agents/actor.py b/src/utils/agents/actor.py index 7a71cff..78db4aa 100644 --- a/src/utils/agents/actor.py +++ b/src/utils/agents/actor.py @@ -186,6 +186,7 @@ class Folders(Actor): #self.lfolders = args['folders'] #config['folders'] #self.action = args['action'] #{clear,archive} config['actions']['folders'] self.threshold = self.get_size( args['threshold']) #self.config['threshold']) + def archive(self,item): """ @@ -224,7 +225,9 @@ class Folders(Actor): converts size values into MB and returns the value without units """ units = {'MB':1000,'GB':1000000,'TB':1000000000} # converting to kb - key = set(units) & set(re.split('(\d+)',value.upper())) + key = set(units.keys()) & set(re.split('(\d+)',value.replace(' ','').upper())) + + if len(key) == 0: return -1 key = key.pop() @@ -242,9 +245,8 @@ class Folders(Actor): def analyze(self,logs): r = {'clean':self.clean,'archive':self.archive} + self.lfolders = [ folder['label'] for folder in logs] for item in logs : if self.can_clean(item) : - - id = self.config['action'].strip() - pointer = r[id] - pointer (item) + self.archive(item) + #self.clean(item) diff --git a/src/utils/agents/manager.py b/src/utils/agents/manager.py index 8d65fe1..d46e400 100644 --- a/src/utils/agents/manager.py +++ b/src/utils/agents/manager.py @@ -139,15 +139,15 @@ class Manager() : if len(args.keys()) > 0 : self.apply_setup('apps',args) args = couchdb.view('config/folders',key=self.key) + if 'folder_size' not in meta : args['threshold'] = meta['folder_size'] self.apply_setup('folders',args) def apply_setup(self,name,args) : for actor in self.actors : - if args is not None and actor.getName() == name and len(args.keys()) > 0: - pass - #actor.init(args) + if args is not None and actor.getName() == name and len(args.keys()) > 0: + actor.init(args) def __setup(self,meta):