From 21a85e34d327b27b243ae069aa1fffff382832ae Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Thu, 23 Nov 2006 14:33:50 +0000 Subject: Allow bcfg2 -n -r all to work properly (Resolves Ticket #284) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2534 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Client/Frame.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/lib') diff --git a/src/lib/Client/Frame.py b/src/lib/Client/Frame.py index 5fe2c91e5..3ec2cb25a 100644 --- a/src/lib/Client/Frame.py +++ b/src/lib/Client/Frame.py @@ -83,10 +83,22 @@ class Frame: '''Set self.whitelist based on user interaction''' prompt = "Would you like to install %s: %s? (y/N): " rprompt = "Would you like to remove %s: %s? (y/N): " + if self.setup['remove']: + if self.setup['remove'] == 'all': + self.removal = self.extra + elif self.setup['remove'] == 'services': + self.removal = [entry for entry in self.extra if entry.tag == 'Service'] + elif self.setup['remove'] == 'packages': + self.removal = [entry for entry in self.extra if entry.tag == 'Package'] + if self.setup['dryrun']: self.logger.info("In dryrun mode: suppressing entry installation for:") self.logger.info(["%s:%s" % (entry.tag, entry.get('name')) for entry \ in self.states if not self.states[entry]]) + self.logger.info("In dryrun mode: suppressing entry removal for:") + self.logger.info(["%s:%s" % (entry.tag, entry.get('name')) for entry \ + in self.removal]) + self.removal = [] return elif self.setup['interactive']: self.whitelist = promptFilter(prompt, [entry for entry in self.states \ @@ -104,13 +116,6 @@ class Frame: else: # all systems are go self.whitelist = [entry for entry in self.states if not self.states[entry]] - if self.setup['remove']: - if self.setup['remove'] == 'all': - self.removal = self.extra - elif self.setup['remove'] == 'services': - self.removal = [entry for entry in self.extra if entry.tag == 'Service'] - elif self.setup['remove'] == 'packages': - self.removal = [entry for entry in self.extra if entry.tag == 'Package'] def DispatchInstallCalls(self, entries): '''Dispatch install calls to underlying tools''' -- cgit v1.2.3-1-g7c22