From 01a08d60e11749ca773e534a0ddec456b0e96451 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Fri, 13 Nov 2020 15:21:24 +0100 Subject: [PATCH] setup: Don't fail if only a module couldn't be enabled --- modules/setup/library/Setup/Utils/EnableModuleStep.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/setup/library/Setup/Utils/EnableModuleStep.php b/modules/setup/library/Setup/Utils/EnableModuleStep.php index 343683ce6..92af5b7c0 100644 --- a/modules/setup/library/Setup/Utils/EnableModuleStep.php +++ b/modules/setup/library/Setup/Utils/EnableModuleStep.php @@ -5,6 +5,7 @@ namespace Icinga\Module\Setup\Utils; use Exception; use Icinga\Application\Icinga; +use Icinga\Exception\ConfigurationError; use Icinga\Exception\IcingaException; use Icinga\Module\Setup\Step; @@ -16,6 +17,8 @@ class EnableModuleStep extends Step protected $errors; + protected $warnings; + public function __construct(array $moduleNames) { $this->moduleNames = $moduleNames; @@ -35,6 +38,8 @@ class EnableModuleStep extends Step foreach ($this->moduleNames as $moduleName) { try { $moduleManager->enableModule($moduleName); + } catch (ConfigurationError $e) { + $this->warnings[$moduleName] = $e; } catch (Exception $e) { $this->errors[$moduleName] = $e; $success = false; @@ -59,6 +64,9 @@ class EnableModuleStep extends Step if (isset($this->errors[$moduleName])) { $report[] = sprintf($failMessage, $moduleName); $report[] = sprintf(mt('setup', 'ERROR: %s'), IcingaException::describe($this->errors[$moduleName])); + } elseif (isset($this->warnings[$moduleName])) { + $report[] = sprintf($failMessage, $moduleName); + $report[] = sprintf(mt('setup', 'WARNING: %s'), $this->warnings[$moduleName]->getMessage()); } else { $report[] = sprintf($okMessage, $moduleName); }