Skip to content

ROX-32714: Enable feature flag by default (Still updating failing tests. Do not review)#18539

Open
charmik-redhat wants to merge 15 commits intomasterfrom
ROX-32714/enable-flatten-image-data-flag
Open

ROX-32714: Enable feature flag by default (Still updating failing tests. Do not review)#18539
charmik-redhat wants to merge 15 commits intomasterfrom
ROX-32714/enable-flatten-image-data-flag

Conversation

@charmik-redhat
Copy link
Copy Markdown
Contributor

@charmik-redhat charmik-redhat commented Jan 19, 2026

Description

Updating failing tests. Do not review yet.

User-facing documentation

Testing and quality

  • the change is production ready: the change is GA, or otherwise the functionality is gated by a feature flag
  • CI results are inspected

Automated testing

  • added unit tests
  • added e2e tests
  • added regression tests
  • added compatibility tests
  • modified existing tests

How I validated my change

change me!

@charmik-redhat charmik-redhat requested a review from a team as a code owner January 19, 2026 12:45
@rhacs-bot
Copy link
Copy Markdown
Contributor

rhacs-bot commented Jan 19, 2026

Images are ready for the commit at 6a2db38.

To use with deploy scripts, first export MAIN_IMAGE_TAG=4.11.x-515-g6a2db389ec.

@charmik-redhat charmik-redhat force-pushed the ROX-32714/enable-flatten-image-data-flag branch from 4de3b21 to f90b80a Compare January 23, 2026 22:00
@charmik-redhat charmik-redhat requested review from a team as code owners January 26, 2026 09:48
@charmik-redhat charmik-redhat force-pushed the ROX-32714/enable-flatten-image-data-flag branch from bedba7d to 531cfdf Compare February 19, 2026 00:39
@charmik-redhat charmik-redhat force-pushed the ROX-32714/enable-flatten-image-data-flag branch from 531cfdf to 48fa70f Compare March 9, 2026 20:55
@charmik-redhat
Copy link
Copy Markdown
Contributor Author

/retest

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Sorry @github-actions[bot], your pull request is larger than the review limit of 150000 diff characters

@charmik-redhat charmik-redhat force-pushed the ROX-32714/enable-flatten-image-data-flag branch from bed2196 to 1dfb3d6 Compare March 25, 2026 16:59
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 31, 2026

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • New Features

    • Expanded image data model support to accommodate both legacy and flattened representations.
    • Image lookups now support UUID-based identifiers alongside existing digest-based IDs.
  • Tests

    • Enhanced test suites to validate functionality with both image data formats.
    • Updated test fixtures and mocked responses for improved test coverage.
    • Enabled flattened image data by default in test environments.

Walkthrough

The pull request adds conditional support for a flattened v2 image data model controlled by the FlattenImageData feature flag. Backend components, tests, and UI code are updated to selectively use either v1 legacy image storage/structures or new v2 structures based on the flag state. Default flag state in tests/config is changed from disabled to enabled.

Changes

Cohort / File(s) Summary
Feature Flag Enablement
pkg/features/list.go, tests/e2e/lib.sh
FlattenImageData feature flag now supplies the enabled parameter to registerFeature() and defaults to "true" in test environments, enabling v2 image data model support by default.
Central View Tests
central/views/deployments/view_test.go, central/views/imagecve/view_test.go, central/views/imagecveflat/view_test.go
Introduced testImage interface abstraction with GetId, GetName, GetScan methods; refactored image handling to use testImage slices and predicates instead of []*storage.Image. SetupSuite now conditionally initializes either v1 or v2 image datastores based on feature flag, loads corresponding test fixtures, and updates filter/assertion logic to operate on the abstracted interface.
Test Data Fixtures
pkg/jsonutil/test/testdata/compat.alert.json, pkg/jsonutil/test/testdata/pretty.alert.json, roxctl/central/export/deployments/serialized_test_deployment.json
Added idV2 field to containers[].image objects in JSON test fixtures to support v2 image representation alongside existing id and name fields.
Image Fixture Utilities
pkg/fixtures/image/reader.go
Added GetTestImagesV2(t *testing.T) function that converts loaded v1 test images to v2 format via imageUtils.ConvertToV2 for use in flattened data model tests.
Image Service Logic
central/image/service/service_impl.go, central/image/service/service_impl_test.go
GetImage now detects UUID-based ImageV2 IDs and passes them unchanged; non-UUID IDs are normalized as digests. Added TestGetImage_IDNormalization to validate UUID pass-through and digest normalization behavior.
Image Datastore Access
central/image/datastore/singleton.go
Removed FlattenImageData feature gate from Singleton(), ensuring v1 datastore always initializes regardless of feature flag state; deleted unused features import.
PostgreSQL Datastore Updates
central/cve/image/v2/datastore/store/postgres/store.go, central/imagecomponent/v2/datastore/store/postgres/store.go
Wrapped obj.GetImageId() with pgutils.NilOrString(...) in insert/upsert value lists for both ImageCVEV2 and ImageComponentV2 to properly handle null image_id values.
Proto Schema Updates
proto/storage/cve.proto, proto/storage/image_component.proto
Added allow-null directive to deprecated image_id fields in ImageCVEV2 and ImageComponentV2 messages to permit null foreign key values.
QA Test Infrastructure
qa-tests-backend/src/main/groovy/util/Helpers.groovy, qa-tests-backend/src/test/groovy/BaseSpecification.groovy
Added newV5FromNonUUIDs and generateImageV2ID utilities for deterministic UUIDv5 generation. Introduced flattenImageDataEnabled flag and TEST_IMAGE_V2_ID constant in base test class; feature flag is read from ROX_FLATTEN_IMAGE_DATA during global setup.
QA Test Conditionals
qa-tests-backend/src/test/groovy/AdmissionControllerTest.groovy, qa-tests-backend/src/test/groovy/CSVTest.groovy, qa-tests-backend/src/test/groovy/ImageManagementTest.groovy, qa-tests-backend/src/test/groovy/SACTest.groovy, qa-tests-backend/src/test/groovy/VulnMgmtTest.groovy
Updated image lookups and search category expectations to conditionally use v2 image IDs (TEST_IMAGE_V2_ID) or v1 SHA identifiers based on flattenImageDataEnabled. Modified GlobalSearch.groovy to expect IMAGES_V2 category when flag is enabled.
Cypress UI Tests
ui/apps/platform/cypress/fixtures/vulnerabilities/workloadCves/multipleCvesForImageV2.json, ui/apps/platform/cypress/integration/vulnerabilities/workloadCves/WorkloadCves.helpers.js, ui/apps/platform/cypress/integration/vulnerabilities/workloadCves/imageSingle.test.ts
Added new multipleCvesForImageV2.json fixture with v2 image schema. Updated helper and test files to select fixtures and mock response fields (imageV2 vs image, ImageV2 typename) based on ROX_FLATTEN_IMAGE_DATA feature flag; adjusted GraphQL assertions to handle both response shapes.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is incomplete with placeholder text ('change me!') in critical sections and lacks detailed explanation of changes, validation steps, and checklist completion. Complete the description with detailed explanation of changes, validation approach, and mark relevant checklist items. Remove the note requesting no review if the PR is ready.
Docstring Coverage ⚠️ Warning Docstring coverage is 39.29% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly indicates the main change: enabling a feature flag by default. However, it includes a note in parentheses stating the PR should not be reviewed yet.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ROX-32714/enable-flatten-image-data-flag

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
central/views/imagecveflat/view_test.go (1)

145-197: Drive this suite with an explicit flag mode instead of ambient global state.

After the default flip, normal CI will only exercise one of these setup branches, so the other path becomes dead test scaffolding. The helpers also keep consulting the global flag after setup. If both modes still matter, parameterize the suite and force the flag on/off per run; otherwise cache the chosen mode on ImageCVEFlatViewTestSuite and drop the unused branch.

As per coding guidelines, "Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

Also applies to: 211-225

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@central/views/imagecveflat/view_test.go` around lines 145 - 197, The test
setup branches are driven by the global features.FlattenImageData flag which
makes one branch dead in CI; add an explicit mode on the test suite (e.g., a
bool field on ImageCVEFlatViewTestSuite like flattenMode) and use that instead
of calling features.FlattenImageData.Enabled() in the setup block; set
flattenMode when registering/running the suite to force the desired branch for
each run, then update any helpers and later checks that currently call
features.FlattenImageData.Enabled() to read s.flattenMode (affecting the setup
code paths using imageV2DS.GetTestPostgresDataStore,
imageDS.GetTestPostgresDataStore, setCVSSMetrics, and construction of
s.testImages/deployments).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@central/views/imagecveflat/view_test.go`:
- Around line 145-197: The test setup branches are driven by the global
features.FlattenImageData flag which makes one branch dead in CI; add an
explicit mode on the test suite (e.g., a bool field on ImageCVEFlatViewTestSuite
like flattenMode) and use that instead of calling
features.FlattenImageData.Enabled() in the setup block; set flattenMode when
registering/running the suite to force the desired branch for each run, then
update any helpers and later checks that currently call
features.FlattenImageData.Enabled() to read s.flattenMode (affecting the setup
code paths using imageV2DS.GetTestPostgresDataStore,
imageDS.GetTestPostgresDataStore, setCVSSMetrics, and construction of
s.testImages/deployments).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: c6e5ce07-cfbe-4ae4-9830-62b2dc9c2f48

📥 Commits

Reviewing files that changed from the base of the PR and between 72d7354 and 34cfdcc.

📒 Files selected for processing (13)
  • central/deployment/datastore/internal/store/postgres/full_store.go
  • central/deployment/datastore/test/datastore_sac_test.go
  • central/graphql/resolvers/images_test.go
  • central/splunk/vm.go
  • central/views/deployments/view_test.go
  • central/views/imagecve/view_test.go
  • central/views/imagecveflat/view_test.go
  • pkg/features/list.go
  • pkg/fixtures/image/reader.go
  • pkg/jsonutil/test/testdata/compat.alert.json
  • pkg/jsonutil/test/testdata/pretty.alert.json
  • roxctl/central/export/deployments/serialized_test_deployment.json
  • tests/e2e/lib.sh
💤 Files with no reviewable changes (4)
  • central/splunk/vm.go
  • central/graphql/resolvers/images_test.go
  • central/deployment/datastore/test/datastore_sac_test.go
  • central/deployment/datastore/internal/store/postgres/full_store.go

@charmik-redhat charmik-redhat force-pushed the ROX-32714/enable-flatten-image-data-flag branch from 34cfdcc to 69e578f Compare March 31, 2026 19:16
@charmik-redhat charmik-redhat requested a review from a team as a code owner March 31, 2026 22:50
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@central/views/deployments/view_test.go`:
- Around line 133-146: The test currently ignores the persisted ImageV2 returned
by imageV2Store.GetImage and continues using the pre-conversion *storage.Image
fixture (via imageUtils.ConvertToV2), which lets conversion/persistence bugs
slip through; change the loop so that after calling
imageV2Store.GetImage(imageV2ID) you use the retrieved V2 record as the source
of truth (or derive expectations from the component/CVE tables) — i.e.,
standardize and assign images[idx] from the fetched V2 payload instead of the
original pre-conversion fixture, keeping calls to imageV2Store.GetImage,
imageUtils.ConvertToV2, and standardizeImages as reference points when updating
the logic.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 08dd3757-4037-4a76-bde3-ea3032cd378c

📥 Commits

Reviewing files that changed from the base of the PR and between 34cfdcc and a363077.

📒 Files selected for processing (15)
  • central/deployment/datastore/internal/store/postgres/full_store.go
  • central/deployment/datastore/test/datastore_sac_test.go
  • central/graphql/resolvers/images_test.go
  • central/splunk/vm.go
  • central/views/deployments/view_test.go
  • central/views/imagecve/view_test.go
  • central/views/imagecveflat/view_test.go
  • pkg/features/list.go
  • pkg/fixtures/image/reader.go
  • pkg/jsonutil/test/testdata/compat.alert.json
  • pkg/jsonutil/test/testdata/pretty.alert.json
  • roxctl/central/export/deployments/serialized_test_deployment.json
  • tests/e2e/lib.sh
  • ui/apps/platform/cypress/fixtures/vulnerabilities/workloadCves/multipleCvesForImageV2.json
  • ui/apps/platform/cypress/integration/vulnerabilities/workloadCves/WorkloadCves.helpers.js
💤 Files with no reviewable changes (4)
  • central/splunk/vm.go
  • central/graphql/resolvers/images_test.go
  • central/deployment/datastore/internal/store/postgres/full_store.go
  • central/deployment/datastore/test/datastore_sac_test.go
✅ Files skipped from review due to trivial changes (4)
  • pkg/fixtures/image/reader.go
  • roxctl/central/export/deployments/serialized_test_deployment.json
  • tests/e2e/lib.sh
  • ui/apps/platform/cypress/fixtures/vulnerabilities/workloadCves/multipleCvesForImageV2.json
🚧 Files skipped from review as they are similar to previous changes (4)
  • pkg/jsonutil/test/testdata/pretty.alert.json
  • pkg/jsonutil/test/testdata/compat.alert.json
  • pkg/features/list.go
  • central/views/imagecve/view_test.go

@charmik-redhat charmik-redhat requested a review from janisz as a code owner April 1, 2026 06:55
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 1, 2026

Codecov Report

❌ Patch coverage is 76.62338% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.26%. Comparing base (6a9c388) to head (4b48b2b).

Files with missing lines Patch % Lines
..._deployment_containers_imageidv2/migration_impl.go 73.52% 12 Missing and 6 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #18539      +/-   ##
==========================================
- Coverage   49.58%   49.26%   -0.33%     
==========================================
  Files        2766     2768       +2     
  Lines      208540   208612      +72     
==========================================
- Hits       103408   102776     -632     
- Misses      97460    98297     +837     
+ Partials     7672     7539     -133     
Flag Coverage Δ
go-unit-tests 49.26% <76.62%> (-0.33%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

ci_export ROX_NETWORK_GRAPH_AGGREGATE_EXT_IPS "${ROX_NETWORK_GRAPH_AGGREGATE_EXT_IPS:-true}"
ci_export ROX_NETWORK_GRAPH_EXTERNAL_IPS "${ROX_NETWORK_GRAPH_EXTERNAL_IPS:-false}"
ci_export ROX_FLATTEN_IMAGE_DATA "${ROX_FLATTEN_IMAGE_DATA:-false}"
ci_export ROX_FLATTEN_IMAGE_DATA "${ROX_FLATTEN_IMAGE_DATA:-true}"
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.

For our future selves, the procedure is 2 occurrrences of true in lib.sh file when we add a feature flag, so integration tests work when enabled in pkg/features/list.go file.

Unexpected test failures almost because a last minute blocker to enable base images feature.

https://github.com/stackrox/stackrox/tree/master/ui/apps/platform#add-a-feature-flag-to-frontend-code

@charmik-redhat charmik-redhat force-pushed the ROX-32714/enable-flatten-image-data-flag branch from 94454b2 to 7496043 Compare April 2, 2026 18:48
@charmik-redhat charmik-redhat removed request for a team April 2, 2026 18:54
@charmik-redhat charmik-redhat removed the request for review from janisz April 2, 2026 18:54
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🚀 Build Images Ready

Images are ready for commit 4b48b2b. To use with deploy scripts:

export MAIN_IMAGE_TAG=4.11.x-601-g4b48b2bd12

@charmik-redhat
Copy link
Copy Markdown
Contributor Author

/retest

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
central/views/imagecveflat/view_test.go (1)

565-577: ⚠️ Potential issue | 🟠 Major

Build the parent CVE scope from the same image as the outer scope.

Line 576 uses wordpressLatest.GetId() while the enclosing image scope is wordpressDebian. V2 component/CVE IDs include the image ID, so once flattening is enabled those scopes stop referring to the same record and this case can empty out unexpectedly.

Possible fix
-						}, wordpressLatest.GetId(), 0), 0)},
+						}, wordpressDebian.GetId(), 0), 0)},
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@central/views/imagecveflat/view_test.go` around lines 565 - 577, The parent
CVE scope is built using wordpressLatest.GetId() while the outer scope uses
wordpressDebian, causing mismatched V2 component/CVE IDs; update the parent
scope construction so getTestComponentID(..., wordpressLatest.GetId(), 0)
becomes getTestComponentID(..., wordpressDebian.GetId(), 0) (i.e., ensure the
parent scoped.Scope uses wordpressDebian.GetId()) so
getTestCVEID/getTestComponentID, scoped.Context and scoped.Scope refer to the
same image.
central/views/imagecve/view_test.go (1)

1277-1294: ⚠️ Potential issue | 🟠 Major

Query TestImageCVEUnknownSeverity with the mode-specific image key.

When FlattenImageData is enabled, Lines 1279-1289 insert V2 images, but Lines 1292-1294 still search with search.ImageSHA = "sha1". That no longer addresses the inserted record, so the unknown-severity assertions can go false-negative as soon as the flag is on.

Possible fix
 	// Upsert test images using the appropriate datastore.
 	images := testImages()
+	queryID := "sha1"
 	if features.FlattenImageData.Enabled() {
 		imageV2Store := imageV2DS.GetTestPostgresDataStore(t, testDB.DB)
 		for _, image := range images {
-			assert.NoError(t, imageV2Store.UpsertImage(ctx, imageUtils.ConvertToV2(image)))
+			v2 := imageUtils.ConvertToV2(image)
+			if image.GetId() == "sha1" {
+				queryID = v2.GetId()
+			}
+			assert.NoError(t, imageV2Store.UpsertImage(ctx, v2))
 		}
 	} else {
 		imageStore := imageDS.GetTestPostgresDataStore(t, testDB.DB)
 		for _, image := range images {
 			assert.NoError(t, imageStore.UpsertImage(ctx, image))
@@
 	cveView := NewCVEView(testDB.DB)
 	query := search.NewQueryBuilder().
-		AddExactMatches(search.ImageSHA, "sha1").
+		AddExactMatches(imageSearchField(), queryID).
 		ProtoQuery()
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@central/views/imagecve/view_test.go` around lines 1277 - 1294, The test
inserts images via imageStore.UpsertImage or imageV2Store.UpsertImage depending
on features.FlattenImageData, but the query always uses
AddExactMatches(search.ImageSHA, "sha1"); change the test to pick the
mode-specific search key based on features.FlattenImageData.Enabled() (e.g., use
search.ImageSHA when false and the V2 image key when true) and call
AddExactMatches with that key so the query targets the record you inserted;
update the block around NewCVEView and
search.NewQueryBuilder().AddExactMatches(...) to select the correct search key
at runtime.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@central/cve/image/v2/datastore/store/postgres/store.go`:
- Line 105: The code is passing pgutils.NilOrString(obj.GetImageId()) into the
DB while the generated GORM struct for ImageID in image_cves_v2.go is a
non-nullable string, causing NOT NULL constraint violations; regenerate the GORM
schema so the proto's allow-null for image_id is respected (ImageID should
become *string), or update the generator/schema so ImageID is a pointer type,
then re-run code generation to sync image_cves_v2.go with cve.proto and ensure
upserts using pgutils.NilOrString(...)/pgutils.NilOrString(obj.GetImageId())
work without violating constraints.

In `@qa-tests-backend/src/test/groovy/CSVTest.groovy`:
- Around line 238-240: The CSV test filters still use the hardcoded digest
(TEST_IMAGE_SHA) while the test's id can be TEST_IMAGE_V2_ID and images are
flattened; update the CSV filter to use the same flattened image identity used
by the GraphQL call (e.g., build the query string from getTestImageId() or
TEST_IMAGE_V2_ID instead of TEST_IMAGE_SHA) so the CSV export and GraphQL lookup
reference the identical image key (adjust the line constructing "Image
Sha:${TEST_IMAGE_SHA}+Fixable:true" to use the flattened id variable).

---

Outside diff comments:
In `@central/views/imagecve/view_test.go`:
- Around line 1277-1294: The test inserts images via imageStore.UpsertImage or
imageV2Store.UpsertImage depending on features.FlattenImageData, but the query
always uses AddExactMatches(search.ImageSHA, "sha1"); change the test to pick
the mode-specific search key based on features.FlattenImageData.Enabled() (e.g.,
use search.ImageSHA when false and the V2 image key when true) and call
AddExactMatches with that key so the query targets the record you inserted;
update the block around NewCVEView and
search.NewQueryBuilder().AddExactMatches(...) to select the correct search key
at runtime.

In `@central/views/imagecveflat/view_test.go`:
- Around line 565-577: The parent CVE scope is built using
wordpressLatest.GetId() while the outer scope uses wordpressDebian, causing
mismatched V2 component/CVE IDs; update the parent scope construction so
getTestComponentID(..., wordpressLatest.GetId(), 0) becomes
getTestComponentID(..., wordpressDebian.GetId(), 0) (i.e., ensure the parent
scoped.Scope uses wordpressDebian.GetId()) so getTestCVEID/getTestComponentID,
scoped.Context and scoped.Scope refer to the same image.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: c99715a1-814e-4182-bcdb-fa7438b494f6

📥 Commits

Reviewing files that changed from the base of the PR and between a363077 and 126fc01.

⛔ Files ignored due to path filters (2)
  • generated/storage/cve.pb.go is excluded by !**/*.pb.go, !**/generated/**
  • generated/storage/image_component.pb.go is excluded by !**/*.pb.go, !**/generated/**
📒 Files selected for processing (27)
  • central/cve/image/v2/datastore/store/postgres/store.go
  • central/image/datastore/singleton.go
  • central/image/service/service_impl.go
  • central/image/service/service_impl_test.go
  • central/imagecomponent/v2/datastore/store/postgres/store.go
  • central/views/deployments/view_test.go
  • central/views/imagecve/view_test.go
  • central/views/imagecveflat/view_test.go
  • pkg/features/list.go
  • pkg/fixtures/image/reader.go
  • pkg/jsonutil/test/testdata/compat.alert.json
  • pkg/jsonutil/test/testdata/pretty.alert.json
  • proto/storage/cve.proto
  • proto/storage/image_component.proto
  • qa-tests-backend/src/main/groovy/util/Helpers.groovy
  • qa-tests-backend/src/test/groovy/AdmissionControllerTest.groovy
  • qa-tests-backend/src/test/groovy/BaseSpecification.groovy
  • qa-tests-backend/src/test/groovy/CSVTest.groovy
  • qa-tests-backend/src/test/groovy/GlobalSearch.groovy
  • qa-tests-backend/src/test/groovy/ImageManagementTest.groovy
  • qa-tests-backend/src/test/groovy/SACTest.groovy
  • qa-tests-backend/src/test/groovy/VulnMgmtTest.groovy
  • roxctl/central/export/deployments/serialized_test_deployment.json
  • tests/e2e/lib.sh
  • ui/apps/platform/cypress/fixtures/vulnerabilities/workloadCves/multipleCvesForImageV2.json
  • ui/apps/platform/cypress/integration/vulnerabilities/workloadCves/WorkloadCves.helpers.js
  • ui/apps/platform/cypress/integration/vulnerabilities/workloadCves/imageSingle.test.ts
💤 Files with no reviewable changes (1)
  • central/image/datastore/singleton.go
✅ Files skipped from review due to trivial changes (4)
  • pkg/jsonutil/test/testdata/pretty.alert.json
  • roxctl/central/export/deployments/serialized_test_deployment.json
  • pkg/jsonutil/test/testdata/compat.alert.json
  • ui/apps/platform/cypress/fixtures/vulnerabilities/workloadCves/multipleCvesForImageV2.json
🚧 Files skipped from review as they are similar to previous changes (5)
  • ui/apps/platform/cypress/integration/vulnerabilities/workloadCves/WorkloadCves.helpers.js
  • pkg/features/list.go
  • tests/e2e/lib.sh
  • pkg/fixtures/image/reader.go
  • central/views/deployments/view_test.go

@charmik-redhat charmik-redhat force-pushed the ROX-32714/enable-flatten-image-data-flag branch from 126fc01 to 09f9a74 Compare April 7, 2026 23:07
@charmik-redhat charmik-redhat force-pushed the ROX-32714/enable-flatten-image-data-flag branch from 09f9a74 to 8770500 Compare April 7, 2026 23:38
@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Apr 8, 2026

@charmik-redhat: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/ocp-4-20-compliance-e2e-tests 531cfdf link false /test ocp-4-20-compliance-e2e-tests
ci/prow/ocp-4-12-compliance-e2e-tests 531cfdf link false /test ocp-4-12-compliance-e2e-tests
ci/prow/ocp-4-20-scanner-v4-install-tests bed2196 link false /test ocp-4-20-scanner-v4-install-tests
ci/prow/ocp-4-20-ui-e2e-tests bed2196 link false /test ocp-4-20-ui-e2e-tests
ci/prow/ocp-4-20-nongroovy-e2e-tests bed2196 link false /test ocp-4-20-nongroovy-e2e-tests
ci/prow/ocp-4-20-qa-e2e-tests bed2196 link false /test ocp-4-20-qa-e2e-tests
ci/prow/ocp-4-20-operator-e2e-tests bed2196 link false /test ocp-4-20-operator-e2e-tests
ci/prow/gke-qa-e2e-tests 4b48b2b link false /test gke-qa-e2e-tests
ci/prow/gke-upgrade-tests 4b48b2b link false /test gke-upgrade-tests
ci/prow/ocp-4-12-qa-e2e-tests 4b48b2b link false /test ocp-4-12-qa-e2e-tests
ci/prow/ocp-4-21-qa-e2e-tests 4b48b2b link false /test ocp-4-21-qa-e2e-tests
ci/prow/ocp-4-21-ui-e2e-tests 4b48b2b link false /test ocp-4-21-ui-e2e-tests

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants