From 3b3a1333d9db9185e62df5b8275836bbbb23a937 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Wed, 24 Sep 2008 01:41:41 +0000 Subject: Implement client side of server-delegated decision support git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4919 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Client/Frame.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/lib/Client/Frame.py') diff --git a/src/lib/Client/Frame.py b/src/lib/Client/Frame.py index a54760b12..009ee61ec 100644 --- a/src/lib/Client/Frame.py +++ b/src/lib/Client/Frame.py @@ -148,6 +148,20 @@ class Frame: candidates = [entry for entry in self.states if not self.states[entry]] self.whitelist = [entry for entry in self.states if not self.states[entry]] + # Need to process decision stuff early, so that dryrun mode works with it + if self.setup['decision'] == 'whitelist': + dwl = self.setup['decision_list'][0] + self.whitelist = [e for e in self.whitelist \ + if (e.tag, e.get('name')) in dwl or \ + (e.tag, '*') in dwl or \ + ('*', e.get('name')) in dwl] + elif self.setup['decision'] == 'blacklist': + dbl = self.setup['decision_list'][1] + self.whitelist = [e for e in self.whitelist \ + if (e.tag, e.get('name')) not in dbl and \ + (e.tag, '*') not in dbl and \ + ('*', e.get('name')) not in dbl] + if self.dryrun: if self.whitelist: self.logger.info("In dryrun mode: suppressing entry installation for:") -- cgit v1.2.3-1-g7c22