From 663f09e47576f315bc03005fb597e4539d014e6b Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Thu, 25 Jun 2015 10:21:18 +0200 Subject: [PATCH] Only run 'api setup' if the feature was not enabled It is safe to assume that the user either did run 'node wizard' or 'node setup' in >= 2.3.x before, or manually enabled the api feature and deployed the certificates (otherwise Icinga2 wouldn't start either). In that case we'll skip the api setup to ensure that we don't override any existing configuration at all. refs #9471 --- lib/cli/apisetuputility.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/cli/apisetuputility.cpp b/lib/cli/apisetuputility.cpp index 5c3d912ee..5694d7059 100644 --- a/lib/cli/apisetuputility.cpp +++ b/lib/cli/apisetuputility.cpp @@ -45,6 +45,16 @@ String ApiSetupUtility::GetConfdPath(void) int ApiSetupUtility::SetupMaster(void) { + /* if the 'api' feature is enabled we can safely assume + * that either 'api setup' was run, or the user manually + * enabled the api including all certificates e.g. by 'node wizard' in <= v2.3.x + */ + if (FeatureUtility::CheckFeatureEnabled("api")) { + Log(LogInformation, "cli") + << "'api' feature already enabled, skipping feature enable and master certificate creation.\n"; + return 0; + } + Log(LogInformation, "cli") << "Generating new CA.\n"; @@ -177,6 +187,5 @@ int ApiSetupUtility::SetupMaster(void) enable.push_back("api"); FeatureUtility::EnableFeatures(enable); - return 0; } -- 2.50.1