fix(sources): fallback to file path metadata when pod annotation fails in kubernetes_logs#25834
Open
vparfonov wants to merge 1 commit into
Open
fix(sources): fallback to file path metadata when pod annotation fails in kubernetes_logs#25834vparfonov wants to merge 1 commit into
vparfonov wants to merge 1 commit into
Conversation
…s in kubernetes_logs When the kubernetes_logs source fails to annotate an event with pod metadata (e.g. pod already deleted before Vector could look it up), the event is sent downstream with no kubernetes metadata at all. This causes issues in downstream transforms that expect fields like namespace_name to be present. The file path (/var/log/pods/<ns>_<pod>_<uid>/<container>/<n>.log) always contains the basic metadata. This change makes the annotator fall back to populating pod_name, pod_namespace, pod_uid, and container_name from the parsed file path when the pod is not found in the API store, instead of returning None and skipping all enrichment. Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f28c798f59
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When the
kubernetes_logssource fails to annotate an event with pod metadata (e.g. pod already deleted before Vector could look it up), the event is sent downstream with no kubernetes metadata at all.This causes issues in downstream transforms or sinks that expect fields like
namespace_nameto be present.The file path (
/var/log/pods/<ns>_<pod>_<uid>/<container>/<n>.log) always contains the basic metadata. This change makes the annotator fall back to populatingnamespace_name,pod_name,pod_uid, andcontainer_namefrom the parsed file path when the pod is not found in the API store, instead of returning None and skipping all enrichment.Vector configuration
Standard kubernetes_logs source — no special configuration needed.
How did you test this PR?
test_annotate_from_file_pathChange Type
Is this a breaking change?
Does this PR include user facing changes?
no-changeloglabel to this PR.References
Notes
@vectordotdev/vectorto reach out to us regarding this PR.pre-pushhook, please see this template.make fmtmake check-clippy(if there are failures it's possible some of them can be fixed withmake clippy-fix)make testgit merge origin masterandgit push.Cargo.lock), pleaserun
make build-licensesto regenerate the license inventory and commit the changes (if any). More details on the dd-rust-license-tool.