]> granicus.if.org Git - icinga2/commitdiff
Fix config validation problem (startup.log) during /v1/config/stages API call
authorThomas Forrer <thomas.forrer@wuerth-phoenix.com>
Wed, 22 Aug 2018 12:47:57 +0000 (14:47 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Thu, 27 Sep 2018 18:27:09 +0000 (20:27 +0200)
copy all arguments of parent process in AsyncTryActivateStage

lib/remote/configpackageutility.cpp

index 34620e1dbab13faef70d1f4cececfd05b848d692..87c6764eed3ee17ca1cd6f6506c07cb6830e39a1 100644 (file)
@@ -217,12 +217,17 @@ void ConfigPackageUtility::AsyncTryActivateStage(const String& packageName, cons
        // prepare arguments
        Array::Ptr args = new Array({
                Application::GetExePath(Application::GetArgV()[0]),
-               "daemon",
-               "--validate",
-               "--define",
-               "ActiveStageOverride=" + packageName + ":" + stageName
        });
 
+       // copy all arguments of parent process
+       for (int i=1; i < Application::GetArgC(); i++) {
+               args->Add(Application::GetArgV()[i]);
+       }
+       // add arguments for validation
+       args->Add("--validate");
+       args->Add("--define");
+       args->Add("ActiveStageOverride=" + packageName + ":" + stageName);
+
        Process::Ptr process = new Process(Process::PrepareCommand(args));
        process->SetTimeout(300);
        process->Run(std::bind(&TryActivateStageCallback, _1, packageName, stageName, reload));