Skip to content

Fix flaky test on commonk8slogaudit tasks#388

Merged
kyasbal merged 16 commits into
GoogleCloudPlatform:epic/issue-373from
kyasbal:epic/issue-373-fix-flaky-test
Dec 2, 2025
Merged

Fix flaky test on commonk8slogaudit tasks#388
kyasbal merged 16 commits into
GoogleCloudPlatform:epic/issue-373from
kyasbal:epic/issue-373-fix-flaky-test

Conversation

@kyasbal

@kyasbal kyasbal commented Dec 2, 2025

Copy link
Copy Markdown
Member

No description provided.

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs
…from Cloud Logging (GoogleCloudPlatform#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist
* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs
* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs
…and resourcepaths

This commit includes contract related changes of the later task implementations.
@kyasbal kyasbal added the bug Something isn't working label Dec 2, 2025
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @kyasbal, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces significant refactoring and new capabilities for processing Kubernetes audit logs, focusing on more accurate and detailed tracking of resource states. It renames the generic "Status" concept to "Condition" for better alignment with Kubernetes terminology and adds explicit support for tracking Pod lifecycle phases. These changes are part of an effort to enhance the reliability and granularity of audit log analysis, particularly within the context of a new version of the audit log inspection tasks, and include improvements to the parsing of GCP audit logs to prevent flakiness.

Highlights

  • Refactored Resource Condition Handling: The generic 'Status' concept has been renamed to 'Condition' across the codebase, including enum values, resource path functions, and their usage in audit log recorders, to better align with Kubernetes terminology.
  • Introduced Pod Phase Tracking: New ParentRelationship and RevisionState enums have been added to explicitly track Kubernetes Pod phases (Pending, Running, Succeeded, Failed, Unknown), along with a dedicated resource path function for PodPhase, enabling more granular lifecycle monitoring.
  • Enhanced Kubernetes Audit Log Processing (v2): A new commonlogk8sauditv2 package has been introduced, outlining a more structured task graph for processing Kubernetes audit logs, including specific history modifiers for Pod phases and conditions.
  • Improved GCP Audit Log Parsing: The logic for parsing Kubernetes operation details from GCP audit logs has been made more robust, particularly in handling various resource name and method name formats, which likely addresses previous flakiness in test scenarios.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request addresses a flaky test, but also introduces a significant number of changes related to refactoring and adding new features for v2 of the Kubernetes audit log processing. The PR title is therefore a bit misleading given the broad scope of changes. Ideally, these changes should be split into smaller, more focused pull requests. The most critical issue I found is the introduction of code in a new file that could cause a panic due to unguarded slice access. This appears to be an accidental copy-paste of an older, unfixed version of a function during refactoring. I've also included a few suggestions to improve the clarity of the new documentation.

Comment on lines +78 to +104
switch {
case methodNameFragments[4] == "namespaces": // This log is to modify "Namespace" resource itself
namespace = "cluster-scope"
name = resourceNameFragments[3]
pluralKind = "namespaces"
if len(resourceNameFragments) > 4 {
subResourceName = resourceNameFragments[4]
}
case resourceNameFragments[2] == "namespaces" && len(resourceNameFragments) >= 5:
namespace = resourceNameFragments[3]
pluralKind = resourceNameFragments[4]
if len(resourceNameFragments) > 5 {
name = resourceNameFragments[5]
}
if len(resourceNameFragments) > 6 {
subResourceName = resourceNameFragments[6]
}
case len(resourceNameFragments) >= 3:
namespace = "cluster-scope"
if len(resourceNameFragments) > 3 {
name = resourceNameFragments[3]
}
pluralKind = resourceNameFragments[2]
if len(resourceNameFragments) > 4 {
subResourceName = resourceNameFragments[4]
}
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

critical

This switch block contains several unguarded slice accesses which could lead to a panic at runtime. For instance, methodNameFragments[4] on line 79 and resourceNameFragments[3] on line 81 are accessed without first checking if the slices are long enough. This can occur if methodName or resourceName have fewer segments than expected.

A corrected version of this logic with proper boundary checks already exists in the modifications for pkg/task/inspection/googlecloudlogk8saudit/contract/fieldset.go. Please apply the same robust checks here to prevent potential panics.

switch {
	case len(methodNameFragments) > 4 && methodNameFragments[4] == "namespaces": // This log is to modify "Namespace" resource itself
		namespace = "cluster-scope"
		if len(resourceNameFragments) > 3 {
			name = resourceNameFragments[3]
		}
		pluralKind = "namespaces"
		if len(resourceNameFragments) > 4 {
			subResourceName = resourceNameFragments[4]
		}
	case len(resourceNameFragments) >= 5 && resourceNameFragments[2] == "namespaces":
		if len(resourceNameFragments) > 3 {
			namespace = resourceNameFragments[3]
		}
		if len(resourceNameFragments) > 4 {
			pluralKind = resourceNameFragments[4]
		}
		if len(resourceNameFragments) > 5 {
			name = resourceNameFragments[5]
		}
		if len(resourceNameFragments) > 6 {
			subResourceName = resourceNameFragments[6]
		}
	case len(resourceNameFragments) >= 3:
		namespace = "cluster-scope"
		if len(resourceNameFragments) > 3 {
			name = resourceNameFragments[3]
		}
		pluralKind = resourceNameFragments[2]
		if len(resourceNameFragments) > 4 {
			subResourceName = resourceNameFragments[4]
		}
	}


These tasks generate the actual timeline events (revisions) for the resources.

- **`LogSummaryHistoryModifierTask`**: Generates a simple summary of log events (verb, URI) for the timeline. Summaries are handled in this task. The other tasks mustn't generate summaries.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

For improved formality and clarity in technical documentation, it's preferable to use "must not" instead of the contraction "mustn't".

Suggested change
- **`LogSummaryHistoryModifierTask`**: Generates a simple summary of log events (verb, URI) for the timeline. Summaries are handled in this task. The other tasks mustn't generate summaries.
- **`LogSummaryHistoryModifierTask`**: Generates a simple summary of log events (verb, URI) for the timeline. Summaries are handled in this task. The other tasks must not generate summaries.

- **`PodPhaseHistoryModifierTask`**: Tracks the phase of Pods (Pending, Running, Succeeded, Failed) and their node assignment.
- **`ContainerHistoryModifierTask`**: Tracks the status of containers within Pods (Waiting, Running, Terminated) and their state details (reason, exit code).
- **`ConditionHistoryModifierTask`**: Tracks the `status.conditions` of resources, generating revisions when conditions change (e.g., NodeReady, PodScheduled).
- **`NamespaceRequestHistoryModifierTask`**: Records events for requests against entire resources in namespace.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The current description is slightly ambiguous. Rephrasing it could provide more clarity on what kind of requests are being recorded.

Suggested change
- **`NamespaceRequestHistoryModifierTask`**: Records events for requests against entire resources in namespace.
- **`NamespaceRequestHistoryModifierTask`**: Records events for requests against all resources of a specific type within a namespace.

@kyasbal kyasbal merged commit 0944747 into GoogleCloudPlatform:epic/issue-373 Dec 2, 2025
7 of 8 checks passed
@kyasbal kyasbal deleted the epic/issue-373-fix-flaky-test branch December 2, 2025 04:31
kyasbal added a commit that referenced this pull request Dec 4, 2025
…types (#399)

* feat: Dynamically generate Cloud Logging resource name input forms based on active tasks in the task graph. (#374) (#376)

* feat: Dynamically generate Cloud Logging resource name input forms based on active tasks in the task graph.

This is a fix of bug input forms weren't disappeared once it was added even a feature requesting it was turned off.

* fix issue pointed by gemini-code-assist

* Adding several minor changes to improve testability before migrating the existing k8s audit parser to the new audit parser (#375)

* Added NewLogSorterByTimeTask and test utilities for inspectiontaskbase package

* feat: Show orphaned log when no parser associated the log to any timeline and add namespace level timeline

* fix issues pointed out by gemini-code-assist

* Adding tasks for log summary generation and history modifier for error audit logs (#377)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding tasks related to merge manifests from audit logs (#379)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Add ManifestGenerator related tasks

* fix issues pointed by gemini-code-assist

* Adding testchangeset utility (#382)

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* Fix flaky test on commonk8slogaudit tasks (#388)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* Adding new type definitions in contract, enum values of history data and resourcepaths

This commit includes contract related changes of the later task implementations.

* fix issue pointed by gemini-code-assist

* fix flaky test because of string list order

* Add task IDs, types used in task output, new revision state types and README about the new  k8saudit tasks (#384)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* Adding new type definitions in contract, enum values of history data and resourcepaths

This commit includes contract related changes of the later task implementations.

* fix issue pointed by gemini-code-assist

* Revision sort criteria wasn't right (#386)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* Adding new type definitions in contract, enum values of history data and resourcepaths

This commit includes contract related changes of the later task implementations.

* fix issue pointed by gemini-code-assist

* fix bug the revision sort criteria was not right

* Added comments on existing task types (#387)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* Adding new type definitions in contract, enum values of history data and resourcepaths

This commit includes contract related changes of the later task implementations.

* fix issue pointed by gemini-code-assist

* Add comments on existing tasks

* Adding the basic revision recorder for k8s audit log (#389)

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* Adding manifest based history-modifier tasks and manifest utils

* Add the basic revision recording tasks for k8s audit logs

* fix issues pointed by gemini-code-assist

* Migrate pseudo subresource recorder in the previous k8s audit log parser tasks to the newly implemented k8s audit parser (#390)

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* Adding manifest based history-modifier tasks and manifest utils

* Add the basic revision recording tasks for k8s audit logs

* fix issues pointed by gemini-code-assist

* Migrate pseudo recorders to the v2 k8s audit log parser tasks

---------

Signed-off-by: kyasbal <ikakeru@google.com>

* Adding new PodPhase recorder and register all defined tasks for k8s audit log parser package (#391)

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* Add podphase task and task registrations for the v2 audit parser

* fix issue pointed by gemini-code-assist

* Remove unused legacy parsers and migrate OSS log parsers to depend on the new audit log parsers (#392)

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Remove the unused legacy parsers and migrated OSS parsers to depend on the new parser

* fix issue pointed by gemini-code-assist

* Refactor inventory task base types (#394)

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Refactored relationship task and now it's named as InventoryTask

* Update pkg/core/inspection/taskbase/inventory_task.go

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: kyasbal <kyasbal1994@gmail.com>

* fix issue pointed by gemini-code-assist

---------

Signed-off-by: kyasbal <kyasbal1994@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Adding node name inventory and refactored resource grouping logic (#395)

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Refactored relationship task and now it's named as InventoryTask

* Update pkg/core/inspection/taskbase/inventory_task.go

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: kyasbal <kyasbal1994@gmail.com>

* fix issue pointed by gemini-code-assist

* Adding nodename inventory task and refactored resource groups not to operate raw string

* fix issue pointed by gemini-code-assist

---------

Signed-off-by: kyasbal <kyasbal1994@gmail.com>
Signed-off-by: kyasbal <ikakeru@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Improved container ID discovery tasks and implemented pod uid discovery tasks (#396)

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* fix issue pointed by gemini-code-assist

* Migrate containerID discovery tasks to use the inventory task and implemented resource UID inventory

* Improved containerd,kubelet and controlplane ID matchers to use inventory tasks

* Adding inventory tasks for IP leasing history and NEG names (#397)

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging  (#378)

* Added new fieldset related tasks and history modifiers for error audit logs

* fix issues pointed by gemini-code-assist

* Added new fieldset related tasks and history modifiers for error audit logs

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Adding k8s audit log parser tasks

* Added LogSorterTask that sorts logs before ingesting them to the manifest generator
* Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log
* Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs

* fix issues pointed by gemini-code-assist

* Added several test asserter for changeset testing

* fix issues pointed by gemini-code-assist

* fix issues pointed by gemini-code-assist

* Implemented inventory for IP leases and NEG names

* fix issues pointed by gemini-code-assist

* bug: deletionGracePeriodSeconds=0 was always treated as completely removed even when finalizers exists (#398)

---------

Signed-off-by: kyasbal <ikakeru@google.com>
Signed-off-by: kyasbal <kyasbal1994@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants