From 16e234c002015ec7faf634d0e57d316dcdc9af1e Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 25 Nov 2014 04:00:48 +0100 Subject: Bcfg2/Client: do not catch KeyboardInterrupt Wildcard excepts should explicitly exclude KeyboardInterrupt, so that the process exits if the user wants it. --- src/lib/Bcfg2/Client/Tools/__init__.py | 2 ++ src/lib/Bcfg2/Client/__init__.py | 10 ++++++++++ 2 files changed, 12 insertions(+) (limited to 'src/lib/Bcfg2/Client') diff --git a/src/lib/Bcfg2/Client/Tools/__init__.py b/src/lib/Bcfg2/Client/Tools/__init__.py index ae7fa3aed..67cdd4d6d 100644 --- a/src/lib/Bcfg2/Client/Tools/__init__.py +++ b/src/lib/Bcfg2/Client/Tools/__init__.py @@ -205,6 +205,8 @@ class Tool(object): continue try: states[entry] = func(entry, mods) + except KeyboardInterrupt: + raise except: # pylint: disable=W0702 self.logger.error("%s: Unexpected failure verifying %s" % (self.name, diff --git a/src/lib/Bcfg2/Client/__init__.py b/src/lib/Bcfg2/Client/__init__.py index 5f4f15dcc..e07eef2fb 100644 --- a/src/lib/Bcfg2/Client/__init__.py +++ b/src/lib/Bcfg2/Client/__init__.py @@ -617,6 +617,8 @@ class Client(object): for tool in self.tools: try: self.states.update(tool.Inventory()) + except KeyboardInterrupt: + raise except: # pylint: disable=W0702 self.logger.error("%s.Inventory() call failed:" % tool.name, exc_info=1) @@ -734,6 +736,8 @@ class Client(object): continue try: self.states.update(tool.Install(handled)) + except KeyboardInterrupt: + raise except: # pylint: disable=W0702 self.logger.error("%s.Install() call failed:" % tool.name, exc_info=1) @@ -754,6 +758,8 @@ class Client(object): for tool, bundle in tbm: try: self.states.update(tool.Inventory(structures=[bundle])) + except KeyboardInterrupt: + raise except: # pylint: disable=W0702 self.logger.error("%s.Inventory() call failed:" % tool.name, @@ -785,6 +791,8 @@ class Client(object): for tool in self.tools: try: self.states.update(getattr(tool, func)(bundle)) + except KeyboardInterrupt: + raise except: # pylint: disable=W0702 self.logger.error("%s.%s(%s:%s) call failed:" % (tool.name, func, bundle.tag, @@ -794,6 +802,8 @@ class Client(object): for tool in self.tools: try: self.states.update(tool.BundleNotUpdated(indep)) + except KeyboardInterrupt: + raise except: # pylint: disable=W0702 self.logger.error("%s.BundleNotUpdated(%s:%s) call failed:" % (tool.name, indep.tag, -- cgit v1.2.3-1-g7c22