Skip to content

[Fleet] Fix fleet server policy creation with non es default output#214590

Merged
nchaulet merged 10 commits intoelastic:mainfrom
nchaulet:fix-fleet-server-policy-creation-logstash-host
Mar 17, 2025
Merged

[Fleet] Fix fleet server policy creation with non es default output#214590
nchaulet merged 10 commits intoelastic:mainfrom
nchaulet:fix-fleet-server-policy-creation-logstash-host

Conversation

@nchaulet
Copy link
Copy Markdown
Member

@nchaulet nchaulet commented Mar 14, 2025

Summary

Resolve #208024

User were not able to create a fleet server policy when using a default logstash output without an enterprise license, this was due to a few bug in our validations, and no errors were displayed as we were missing error handling here.

That PR fix that by showing error message, and fixing the validation rules to allow a user to be able to create a fleet server policy in the advanced section with a custom output.

I considered trying to "magically" fix this by creating a ES output if none exists or trying to select one, but it seems to me we should probably not make that decision for the user, and having a better error reporting and fixing bugs in our form should do it. In my mind if they want to use a logstash output, they are a little familiar on how to create/select output.

Where should we backport that one? 9.0 and 8.18?

How to tests

With 2 outputs, one default logstash and one es, and no enterprise license
Screenshot 2025-03-14 at 10 18 34 AM
Trying to create a policy with the quick start fail with an explict message
Screenshot 2025-03-14 at 9 53 13 AM
Trying to create a policy from the advanced section also display an error message
Screenshot 2025-03-14 at 10 01 55 AM
The error is correctable and we allow to select an ES output
Screenshot 2025-03-14 at 10 05 18 AM Screenshot 2025-03-14 at 10 07 23 AM

Todo

  • update unit tests

@nchaulet nchaulet added release_note:skip Skip the PR/issue when compiling release notes Team:Fleet Team label for Observability Data Collection Fleet team backport:prev-minor backport:version Backport to applied version labels v8.18.1 labels Mar 14, 2025
@nchaulet nchaulet self-assigned this Mar 14, 2025
@nchaulet nchaulet requested a review from a team as a code owner March 14, 2025 14:22
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/fleet (Team:Fleet)

…t --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/streams --include-path /api/fleet --include-path /api/dashboards --update'
Copy link
Copy Markdown
Contributor

@jen-huang jen-huang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree on the approach here where we explicitly tell the user what went wrong. I think we should backport to all open branches.

LGTM 🚀

…ub.com:nchaulet/kibana into fix-fleet-server-policy-creation-logstash-host
@nchaulet
Copy link
Copy Markdown
Member Author

@elasticmachine merge upstream

@nchaulet
Copy link
Copy Markdown
Member Author

@elasticmachine merge upstream

@elasticmachine
Copy link
Copy Markdown
Contributor

💚 Build Succeeded

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
fleet 1.7MB 1.7MB +698.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
fleet 158.9KB 159.3KB +449.0B

History

cc @nchaulet

@nchaulet nchaulet merged commit 6ed6d02 into elastic:main Mar 17, 2025
10 checks passed
@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 8.18, 9.0

https://github.com/elastic/kibana/actions/runs/13907951013

@kibanamachine
Copy link
Copy Markdown
Contributor

💔 All backports failed

Status Branch Result
8.18 Backport failed because of merge conflicts
9.0 Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 214590

Questions ?

Please refer to the Backport tool documentation

@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Mar 18, 2025
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

1 similar comment
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

9 similar comments
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

5 similar comments
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 214590 locally

nchaulet added a commit to nchaulet/kibana that referenced this pull request Apr 18, 2025
…lastic#214590)

(cherry picked from commit 6ed6d02)

# Conflicts:
#	x-pack/platform/plugins/shared/fleet/public/hooks/use_request/agent_policy.ts
#	x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts
@nchaulet
Copy link
Copy Markdown
Member Author

💚 All backports created successfully

Status Branch Result
9.0
8.18

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

nchaulet added a commit to nchaulet/kibana that referenced this pull request Apr 18, 2025
…lastic#214590)

(cherry picked from commit 6ed6d02)

# Conflicts:
#	oas_docs/bundle.json
#	oas_docs/bundle.serverless.json
#	oas_docs/output/kibana.yaml
#	x-pack/platform/plugins/shared/fleet/public/hooks/use_request/agent_policy.ts
#	x-pack/platform/plugins/shared/fleet/server/routes/schema/errors.ts
#	x-pack/platform/plugins/shared/fleet/server/services/agent_policy.ts
#	x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts
@kibanamachine
Copy link
Copy Markdown
Contributor

Looks like this PR has backport PRs but they still haven't been merged. Please merge them ASAP to keep the branches relatively in sync.

nchaulet added a commit that referenced this pull request Apr 22, 2025
…utput (#214590) (#218656)

# Backport

This will backport the following commits from `main` to `8.18`:
- [[Fleet] Fix fleet server policy creation with non es default output
(#214590)](#214590)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Nicolas
Chaulet","email":"nicolas.chaulet@elastic.co"},"sourceCommit":{"committedDate":"2025-03-17T19:14:25Z","message":"[Fleet]
Fix fleet server policy creation with non es default output
(#214590)","sha":"6ed6d02f37c67935cfb25aa9bb075096d4b6351a","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","Team:Fleet","backport:prev-minor","backport:version","v9.1.0","v8.18.1"],"title":"[Fleet]
Fix fleet server policy creation with non es default
output","number":214590,"url":"https://github.com/elastic/kibana/pull/214590","mergeCommit":{"message":"[Fleet]
Fix fleet server policy creation with non es default output
(#214590)","sha":"6ed6d02f37c67935cfb25aa9bb075096d4b6351a"}},"sourceBranch":"main","suggestedTargetBranches":["8.18"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/214590","number":214590,"mergeCommit":{"message":"[Fleet]
Fix fleet server policy creation with non es default output
(#214590)","sha":"6ed6d02f37c67935cfb25aa9bb075096d4b6351a"}},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
nchaulet added a commit that referenced this pull request Apr 22, 2025
…tput (#214590) (#218655)

# Backport

This will backport the following commits from `main` to `9.0`:
- [[Fleet] Fix fleet server policy creation with non es default output
(#214590)](#214590)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Nicolas
Chaulet","email":"nicolas.chaulet@elastic.co"},"sourceCommit":{"committedDate":"2025-03-17T19:14:25Z","message":"[Fleet]
Fix fleet server policy creation with non es default output
(#214590)","sha":"6ed6d02f37c67935cfb25aa9bb075096d4b6351a","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","Team:Fleet","backport:prev-minor","backport:version","v9.1.0","v8.18.1"],"title":"[Fleet]
Fix fleet server policy creation with non es default
output","number":214590,"url":"https://github.com/elastic/kibana/pull/214590","mergeCommit":{"message":"[Fleet]
Fix fleet server policy creation with non es default output
(#214590)","sha":"6ed6d02f37c67935cfb25aa9bb075096d4b6351a"}},"sourceBranch":"main","suggestedTargetBranches":["8.18"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/214590","number":214590,"mergeCommit":{"message":"[Fleet]
Fix fleet server policy creation with non es default output
(#214590)","sha":"6ed6d02f37c67935cfb25aa9bb075096d4b6351a"}},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
@kibanamachine kibanamachine added v9.0.1 and removed backport missing Added to PRs automatically when the are determined to be missing a backport. labels Apr 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels release_note:skip Skip the PR/issue when compiling release notes Team:Fleet Team label for Observability Data Collection Fleet team v8.18.1 v9.0.1 v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unable to create fleet server policy with default logstash output

4 participants