mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 17:08:53 +00:00
fix: return a better message when checking status of async script (#16611)
> Related issue: #16431 # Checklist for submitter If some of the following don't apply, delete the relevant line. <!-- Note that API documentation changes are now addressed by the product design team. --> - [x] Changes file added for user-visible changes in `changes/` or `orbit/changes/`. See [Changes files](https://fleetdm.com/docs/contributing/committing-changes#changes-files) for more information. - [x] Added/updated tests - [x] Manual QA for all new/changed functionality
This commit is contained in:
parent
e1dbbda706
commit
cf9f83604f
4 changed files with 10 additions and 3 deletions
1
changes/16431-scripts-result-message
Normal file
1
changes/16431-scripts-result-message
Normal file
|
|
@ -0,0 +1 @@
|
|||
- Fixes issue where an inaccurate message was returned after running an async (queued) script.
|
||||
|
|
@ -546,6 +546,7 @@ const (
|
|||
RunScriptScriptsDisabledGloballyErrMsg = "Running scripts is disabled in organization settings."
|
||||
RunScriptDisabledErrMsg = "Scripts are disabled for this host. To run scripts, deploy the fleetd agent with scripts enabled."
|
||||
RunScriptScriptTimeoutErrMsg = "Timeout. Fleet stopped the script after 5 minutes to protect host performance."
|
||||
RunScriptAsyncScriptEnqueuedErrMsg = "Script is running or will run when the host comes online."
|
||||
|
||||
// End user authentication
|
||||
EndUserAuthDEPWebURLConfiguredErrMsg = `End user authentication can't be configured when the configured automatic enrollment (DEP) profile specifies a configuration_web_url.` // #nosec G101
|
||||
|
|
|
|||
|
|
@ -223,6 +223,11 @@ func (hsr HostScriptResult) UserMessage(hostTimeout bool) string {
|
|||
if hsr.HostTimeout(scripts.MaxServerWaitTime) {
|
||||
return RunScriptHostTimeoutErrMsg
|
||||
}
|
||||
|
||||
if !hsr.SyncRequest {
|
||||
return RunScriptAsyncScriptEnqueuedErrMsg
|
||||
}
|
||||
|
||||
return RunScriptAlreadyRunningErrMsg
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4466,7 +4466,7 @@ func (s *integrationEnterpriseTestSuite) TestRunHostScript() {
|
|||
require.Equal(t, "echo", scriptResultResp.ScriptContents)
|
||||
require.Nil(t, scriptResultResp.ExitCode)
|
||||
require.False(t, scriptResultResp.HostTimeout)
|
||||
require.Contains(t, scriptResultResp.Message, fleet.RunScriptAlreadyRunningErrMsg)
|
||||
require.Contains(t, scriptResultResp.Message, fleet.RunScriptAsyncScriptEnqueuedErrMsg)
|
||||
|
||||
// an async script doesn't care about timeouts
|
||||
now := time.Now()
|
||||
|
|
@ -4483,7 +4483,7 @@ func (s *integrationEnterpriseTestSuite) TestRunHostScript() {
|
|||
require.Equal(t, "echo", scriptResultResp.ScriptContents)
|
||||
require.Nil(t, scriptResultResp.ExitCode)
|
||||
require.False(t, scriptResultResp.HostTimeout)
|
||||
require.Contains(t, scriptResultResp.Message, fleet.RunScriptAlreadyRunningErrMsg)
|
||||
require.Contains(t, scriptResultResp.Message, fleet.RunScriptAsyncScriptEnqueuedErrMsg)
|
||||
|
||||
// Disable scripts and verify that there are no Orbit notifs
|
||||
acr := appConfigResponse{}
|
||||
|
|
@ -4749,7 +4749,7 @@ func (s *integrationEnterpriseTestSuite) TestRunHostSavedScript() {
|
|||
require.Equal(t, "echo 'no team'", scriptResultResp.ScriptContents)
|
||||
require.Nil(t, scriptResultResp.ExitCode)
|
||||
require.False(t, scriptResultResp.HostTimeout)
|
||||
require.Contains(t, scriptResultResp.Message, fleet.RunScriptAlreadyRunningErrMsg)
|
||||
require.Contains(t, scriptResultResp.Message, fleet.RunScriptAsyncScriptEnqueuedErrMsg)
|
||||
require.NotNil(t, scriptResultResp.ScriptID)
|
||||
require.Equal(t, savedNoTmScript.ID, *scriptResultResp.ScriptID)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue