Skip to content

OADP-5777: Require region in BSL validation when s3Url is set, fix nil config skipping region auto-detection#2109

Merged
openshift-merge-bot[bot] merged 7 commits intoopenshift:oadp-devfrom
kaovilai:fix/bsl-require-region-with-s3url
Apr 30, 2026
Merged

OADP-5777: Require region in BSL validation when s3Url is set, fix nil config skipping region auto-detection#2109
openshift-merge-bot[bot] merged 7 commits intoopenshift:oadp-devfrom
kaovilai:fix/bsl-require-region-with-s3url

Conversation

@kaovilai
Copy link
Copy Markdown
Member

@kaovilai kaovilai commented Feb 27, 2026

Why the changes were made

This PR addresses two related issues with AWS BSL region handling:

1. Fix nil config skipping region auto-detection (OADP-5777)

Root cause: When DPA backupLocations has no config: section, bslSpec.Config is nil. The UpdateBackupStorageLocation function guarded all AWS-specific logic (region auto-detection, checksumAlgorithm defaults) behind if bslSpec.Config != nil, so when config was omitted entirely, none of that logic ran.

This is why PR #1740's auto-detection fix didn't work in practice — the nil config guard skipped it. Verified by reproducing Tareq's exact scenario (DPA with AWS provider, no config section, no region) on a live cluster.

Fix: Initialize bslSpec.Config to an empty map when nil, so AWS logic runs regardless of whether user specifies a config section.

2. Require region when s3Url is set

When a custom s3Url is configured, the BSL points to a non-AWS S3-compatible service (e.g. IBM Cloud Object Storage, MinIO) where region auto-discovery via AWS HeadBucket API is not valid. Previously, region was only enforced when s3ForcePathStyle was true or AWS discovery failed.

Fix: Validate that region is specified at DPA validation time when s3Url is set, with context-specific error messages.

3. Add logging to region auto-detection

Added logr.Logger parameter to UpdateBackupStorageLocation so auto-detection success/failure is visible in operator logs instead of silently falling through.

Fixes: https://issues.redhat.com/browse/OADP-5777
Fixes: #2108

How to test the changes made

Unit tests

go test -v ./pkg/common/... -run TestUpdateBackupStorageLocation
go test -v ./internal/controller/... -run TestValidateBackupStorageLocations

Manual verification (nil config fix)

  1. Create DPA with AWS provider, no config section, no region:
spec:
  backupLocations:
  - velero:
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: <your-bucket>
        prefix: velero
      provider: aws
  1. Check operator logs — should see: Auto-detected AWS bucket region {"bucket": "...", "region": "..."}
  2. Check BSL — should have config.region and config.checksumAlgorithm set

Verified on cluster

  • OCP 4.22 ARM64 cluster on AWS
  • DPA with no config section, bucket tkaovila-sts-oadp
  • Before fix: BSL had no config at all (nil config guard skipped everything)
  • After fix: BSL has region: us-east-1 and checksumAlgorithm: "" auto-populated

Note

Responses generated with Claude

Summary by CodeRabbit

  • Bug Fixes
    • Validation now requires an explicit region when an S3 URL is provided, when s3ForcePathStyle is true, or when bucket-region discovery fails; error messages were clarified to indicate the specific missing-region reason and guide users to set the region in the backup storage location configuration.
  • Tests
    • Added/updated tests covering S3 URL, s3ForcePathStyle, and region presence scenarios and expected error messages.
  • Chores
    • Improved logging around bucket-region auto-detection to surface detection failures and reported regions.

When a custom s3Url is configured, the BSL points to a non-AWS
S3-compatible service (e.g. IBM Cloud Object Storage, MinIO) where
region auto-discovery via AWS HeadBucket API is not valid. Previously,
region was only enforced when s3ForcePathStyle was true or AWS
discovery failed. This allowed validation to pass with a missing
region if a same-named bucket happened to exist on AWS, causing
Velero to fail at runtime.

Fixes: openshift#2108

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings February 27, 2026 18:17
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 27, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Require explicit AWS region for BackupStorageLocation when a custom s3Url is set; split the previous combined condition into distinct branches that return specific errors for missing region when s3Url is set, when s3ForcePathStyle is "true", or when bucket region discovery fails. Added tests and updated an E2E assertion.

Changes

Cohort / File(s) Summary
Region validation & controller
internal/controller/bsl.go
Replaced a combined boolean check with a switch that enforces region when s3Url is set, when s3ForcePathStyle is "true", or when bucket region discovery fails; returns distinct error messages per case. updateBSLFromSpec now passes the reconciler logger into common.UpdateBackupStorageLocation.
Unit tests for BSL validation
internal/controller/bsl_test.go
Added three test cases: s3Url+no-region (expect fail), s3Url+region (expect success), and s3Url+s3ForcePathStyle+no-region (expect fail). Tests include secret setup and Velero Cloud/StorageLocation configs to exercise validation branches.
Common helper & tests
pkg/common/common.go, pkg/common/common_test.go
UpdateBackupStorageLocation signature now accepts a logr.Logger; ensures bslSpec.Config is initialized, logs bucket region discovery success/failure, and sets detected region when non-empty. Tests updated to pass logr.Discard() and include additional region-detection scenarios.
E2E test assertion
tests/e2e/dpa_deployment_suite_test.go
Adjusted expected error message text in a negative E2E test to match new phrasing requiring region when s3ForcePathStyle is true.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 11 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (11 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes: requiring region when s3Url is set and fixing nil config affecting region auto-detection.
Linked Issues check ✅ Passed The code changes fully address the linked issue #2108 by requiring region when s3Url is set, improving validation logic with context-specific error messages, and preventing false validation pass-throughs for non-AWS S3 endpoints.
Out of Scope Changes check ✅ Passed All code changes are scoped to BSL region validation and related logging improvements. Changes to validation logic, tests, and logging in UpdateBackupStorageLocation directly support the stated objectives without introducing unrelated modifications.
Stable And Deterministic Test Names ✅ Passed All test names in the PR are stable and deterministic with no dynamic values, generated identifiers, timestamps, or variable content.
Test Structure And Quality ✅ Passed Test code demonstrates good quality with table-driven patterns, proper mock setup, Ginkgo patterns, appropriate timeouts, and maintains single responsibility principle across all modified test files.
Microshift Test Compatibility ✅ Passed PR does not add new Ginkgo e2e tests; only standard Go unit tests and a message update in existing test.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added in this PR. The changes to the e2e test file consist only of a single-line modification updating an expected error message in an existing test. The three new test cases are unit tests in internal/controller/bsl_test.go, not e2e tests.
Topology-Aware Scheduling Compatibility ✅ Passed PR contains only validation logic for BSL configuration and controller code changes. No topology-aware scheduling constraints, affinity rules, or deployment manifest changes are introduced.
Ote Binary Stdout Contract ✅ Passed PR does not violate OTE Binary Stdout Contract. All logging is within test blocks or uses injected logger parameters, not direct stdout writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added in this pull request. Only one line of an existing test assertion was modified.
Description check ✅ Passed The PR description follows the template structure with clear explanations of three related changes: nil config fix, region requirement for s3Url, and logging additions.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 27, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR enhances BSL (BackupStorageLocation) validation to require an explicit region parameter when a custom s3Url is configured for AWS-provider BSLs. This prevents scenarios where the operator incorrectly attempts AWS region auto-discovery for non-AWS S3-compatible services (e.g., IBM Cloud Object Storage, MinIO), which can lead to validation passing with incorrect configuration but Velero failing at runtime.

Changes:

  • Added validation logic to require region when s3Url is set in AWS BSL configuration
  • Updated error message to be more direct ("is required" vs "not automatically discoverable")
  • Added comprehensive test cases for the new validation rule

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
internal/controller/bsl.go Added check for s3Url in region validation logic and updated error message
internal/controller/bsl_test.go Added three test cases covering s3Url with/without region and combination with s3ForcePathStyle

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@kaovilai
Copy link
Copy Markdown
Member Author

/retest

1 similar comment
@kaovilai
Copy link
Copy Markdown
Member Author

/retest

@kaovilai
Copy link
Copy Markdown
Member Author

/retest required

@kaovilai
Copy link
Copy Markdown
Member Author

/test all

@mpryc
Copy link
Copy Markdown
Contributor

mpryc commented Apr 22, 2026

/lgtm

mpryc
mpryc previously approved these changes Apr 22, 2026
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Apr 22, 2026
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD c927a46 and 2 for PR HEAD 3719b24 in total

@kaovilai
Copy link
Copy Markdown
Member Author

/override ci/prow/4.21-e2e-test-aws ci/prow/4.21-e2e-test-hcp-aws ci/prow/4.21-e2e-test-kubevirt-aws

we dont have 4.21 tests defined so retest wont do anything there.

@kaovilai
Copy link
Copy Markdown
Member Author

/test ci/prow/4.23-e2e-test-aws

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 22, 2026

@kaovilai: Overrode contexts on behalf of kaovilai: ci/prow/4.21-e2e-test-aws, ci/prow/4.21-e2e-test-hcp-aws, ci/prow/4.21-e2e-test-kubevirt-aws

Details

In response to this:

/override ci/prow/4.21-e2e-test-aws ci/prow/4.21-e2e-test-hcp-aws ci/prow/4.21-e2e-test-kubevirt-aws

we dont have 4.21 tests defined so retest wont do anything there.

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.

@kaovilai
Copy link
Copy Markdown
Member Author

/test 4.23-e2e-test-aws

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 6b0f5b1 and 1 for PR HEAD 3719b24 in total

…configuration

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Apr 23, 2026
Copy link
Copy Markdown
Member

@shubham-pampattiwar shubham-pampattiwar left a comment

Choose a reason for hiding this comment

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

This is the right fix, but it tightens validation in a way that could break existing DPA configs on operator upgrade. Users with s3Url but no region who happened to have a discoverable bucket name will go from "working" to "validation error" after upgrading. Worth adding a line in the commit message or PR description acknowledging this as an intentional breaking change. No code change needed, just want to make sure QE covers the upgrade path.

Comment thread internal/controller/bsl.go Outdated
Split the generic "region is required" error into three distinct
messages based on the trigger condition: s3Url configured,
s3ForcePathStyle enabled, or region auto-discovery failure.
This gives users actionable feedback about why region is needed.

Update E2E test expectation to match the s3ForcePathStyle path.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Apr 28, 2026
@kaovilai kaovilai changed the title Require region in BSL validation when s3Url is set Require region in BSL validation when s3Url is set, add logging to region detection Apr 28, 2026
@kaovilai
Copy link
Copy Markdown
Member Author

added logging to help test https://redhat.atlassian.net/browse/OADP-5777

@kaovilai
Copy link
Copy Markdown
Member Author

/cherry-pick oadp-1.6

@openshift-cherrypick-robot
Copy link
Copy Markdown
Contributor

@kaovilai: once the present PR merges, I will cherry-pick it on top of oadp-1.6 in a new PR and assign it to you.

Details

In response to this:

/cherry-pick oadp-1.6

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.

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)
pkg/common/common_test.go (1)

584-585: Capture and assert the returned error in the test call.

At Line 584, checking the returned error will make this test fail fast if UpdateBackupStorageLocation starts returning non-nil errors in future changes.

Suggested test hardening
-			UpdateBackupStorageLocation(bslCopy, *bslSpecCopy, logr.Discard())
+			err := UpdateBackupStorageLocation(bslCopy, *bslSpecCopy, logr.Discard())
+			if err != nil {
+				t.Fatalf("UpdateBackupStorageLocation() returned error: %v", err)
+			}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/common/common_test.go` around lines 584 - 585, The test currently calls
UpdateBackupStorageLocation(bslCopy, *bslSpecCopy, logr.Discard()) without
checking its return; modify the test to capture the returned error from
UpdateBackupStorageLocation (e.g., err := UpdateBackupStorageLocation(...)) and
add an assertion that err is nil (using t.Fatalf/t.Errorf or your test helper)
so the test fails immediately if UpdateBackupStorageLocation returns a non-nil
error in the future.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@pkg/common/common_test.go`:
- Around line 584-585: The test currently calls
UpdateBackupStorageLocation(bslCopy, *bslSpecCopy, logr.Discard()) without
checking its return; modify the test to capture the returned error from
UpdateBackupStorageLocation (e.g., err := UpdateBackupStorageLocation(...)) and
add an assertion that err is nil (using t.Fatalf/t.Errorf or your test helper)
so the test fails immediately if UpdateBackupStorageLocation returns a non-nil
error in the future.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 827e9c2d-7c5a-4178-97fc-124b52664ce6

📥 Commits

Reviewing files that changed from the base of the PR and between 18a4526 and 9868ffe.

📒 Files selected for processing (3)
  • internal/controller/bsl.go
  • pkg/common/common.go
  • pkg/common/common_test.go

@kaovilai
Copy link
Copy Markdown
Member Author

/retest

When DPA backupLocations has no config section, bslSpec.Config is nil,
causing UpdateBackupStorageLocation to skip all AWS-specific logic
including region auto-detection and checksumAlgorithm defaults. This
is the root cause of OADP-5777 still reproducing after PR openshift#1740.

Initialize config map when nil so AWS logic runs regardless of whether
user specifies a config section. Add test coverage for nil config with
both discoverable and undiscoverable buckets.

Fixes: https://issues.redhat.com/browse/OADP-5777

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
@kaovilai kaovilai changed the title Require region in BSL validation when s3Url is set, add logging to region detection OADP-5777: Require region in BSL validation when s3Url is set, fix nil config skipping region auto-detection Apr 28, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 28, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Apr 28, 2026

@kaovilai: This pull request references OADP-5777 which is a valid jira issue.

Details

In response to this:

Why the changes were made

This PR addresses two related issues with AWS BSL region handling:

1. Fix nil config skipping region auto-detection (OADP-5777)

Root cause: When DPA backupLocations has no config: section, bslSpec.Config is nil. The UpdateBackupStorageLocation function guarded all AWS-specific logic (region auto-detection, checksumAlgorithm defaults) behind if bslSpec.Config != nil, so when config was omitted entirely, none of that logic ran.

This is why PR #1740's auto-detection fix didn't work in practice — the nil config guard skipped it. Verified by reproducing Tareq's exact scenario (DPA with AWS provider, no config section, no region) on a live cluster.

Fix: Initialize bslSpec.Config to an empty map when nil, so AWS logic runs regardless of whether user specifies a config section.

2. Require region when s3Url is set

When a custom s3Url is configured, the BSL points to a non-AWS S3-compatible service (e.g. IBM Cloud Object Storage, MinIO) where region auto-discovery via AWS HeadBucket API is not valid. Previously, region was only enforced when s3ForcePathStyle was true or AWS discovery failed.

Fix: Validate that region is specified at DPA validation time when s3Url is set, with context-specific error messages.

3. Add logging to region auto-detection

Added logr.Logger parameter to UpdateBackupStorageLocation so auto-detection success/failure is visible in operator logs instead of silently falling through.

Fixes: https://issues.redhat.com/browse/OADP-5777
Fixes: #2108

How to test the changes made

Unit tests

go test -v ./pkg/common/... -run TestUpdateBackupStorageLocation
go test -v ./internal/controller/... -run TestValidateBackupStorageLocations

Manual verification (nil config fix)

  1. Create DPA with AWS provider, no config section, no region:
spec:
 backupLocations:
 - velero:
     credential:
       key: cloud
       name: cloud-credentials
     default: true
     objectStorage:
       bucket: <your-bucket>
       prefix: velero
     provider: aws
  1. Check operator logs — should see: Auto-detected AWS bucket region {"bucket": "...", "region": "..."}
  2. Check BSL — should have config.region and config.checksumAlgorithm set

Verified on cluster

  • OCP 4.22 ARM64 cluster on AWS
  • DPA with no config section, bucket tkaovila-sts-oadp
  • Before fix: BSL had no config at all (nil config guard skipped everything)
  • After fix: BSL has region: us-east-1 and checksumAlgorithm: "" auto-populated

[!Note]
Responses generated with Claude

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 openshift-eng/jira-lifecycle-plugin repository.

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.

Caution

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

⚠️ Outside diff range comments (1)
pkg/common/common.go (1)

352-354: ⚠️ Potential issue | 🟡 Minor

Handle empty s3Url as “not configured” in auto-detect gating.

Right now the branch checks only key existence. If s3Url is present but empty, region auto-detection is skipped unintentionally.

Proposed fix
-			if _, hasS3Url := bslSpec.Config["s3Url"]; !hasS3Url {
+			s3Url, hasS3Url := bslSpec.Config["s3Url"]
+			if !hasS3Url || strings.TrimSpace(s3Url) == "" {
 				if _, hasRegion := bslSpec.Config["region"]; !hasRegion {
 					if bslSpec.ObjectStorage != nil && bslSpec.ObjectStorage.Bucket != "" {
 						// Attempt to auto-detect the bucket's region
 						// AWS Security confirmed that GetBucketRegion works with anonymous credentials
 						// for both public and private buckets (Engagement ID: CACenGS4Mha_KeJ=e3jBSLD6rPZ2iNtfuJUv9QJViaCOt7GVNDg)
 						detectedRegion, err := aws.GetBucketRegion(bslSpec.ObjectStorage.Bucket)
 						if err != nil {
 							logger.Error(err, "Failed to auto-detect AWS bucket region", "bucket", bslSpec.ObjectStorage.Bucket)
 						} else if detectedRegion != "" {
 							logger.Info("Auto-detected AWS bucket region", "bucket", bslSpec.ObjectStorage.Bucket, "region", detectedRegion)
 							bslSpec.Config["region"] = detectedRegion
 						}
 					}
 				}
 			}

Also applies to: 358-363

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

In `@pkg/common/common.go` around lines 352 - 354, The gating currently treats any
present "s3Url" key as configured even if its value is an empty string; update
the checks around bslSpec.Config["s3Url"] (and the similar block at the other
occurrence) to treat empty string as not configured by checking both existence
and that the value is non-empty (e.g., ensure val, ok :=
bslSpec.Config["s3Url"]; ok && val != "" before skipping region autodetect), so
the subsequent region auto-detection using bslSpec.Config["region"] and
bslSpec.ObjectStorage.Bucket runs when s3Url is absent or empty.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@pkg/common/common.go`:
- Around line 352-354: The gating currently treats any present "s3Url" key as
configured even if its value is an empty string; update the checks around
bslSpec.Config["s3Url"] (and the similar block at the other occurrence) to treat
empty string as not configured by checking both existence and that the value is
non-empty (e.g., ensure val, ok := bslSpec.Config["s3Url"]; ok && val != ""
before skipping region autodetect), so the subsequent region auto-detection
using bslSpec.Config["region"] and bslSpec.ObjectStorage.Bucket runs when s3Url
is absent or empty.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 0ea6f568-d7f4-4b9c-8d7e-486fcfeaa778

📥 Commits

Reviewing files that changed from the base of the PR and between 9868ffe and ea99f9b.

📒 Files selected for processing (2)
  • pkg/common/common.go
  • pkg/common/common_test.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • pkg/common/common_test.go

Update TestDPAReconciler_updateBSLFromSpec to expect checksumAlgorithm
in config when bslSpec.Config starts nil, matching the new behavior.
Add mock for GetBucketRegionFunc to prevent real AWS calls in test.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
@kaovilai
Copy link
Copy Markdown
Member Author

/override ci/prow/4.23-e2e-test-aws

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 28, 2026

@kaovilai: Overrode contexts on behalf of kaovilai: ci/prow/4.23-e2e-test-aws

Details

In response to this:

/override ci/prow/4.23-e2e-test-aws

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.

weshayutin
weshayutin previously approved these changes Apr 28, 2026
Reuse previously auto-detected region from existing BSL instead of
calling AWS GetBucketRegion on every reconcile. Without this, each
reconcile reads DPA spec (no region) → auto-detects → updates BSL →
triggers new reconcile in a loop.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
@kaovilai
Copy link
Copy Markdown
Member Author

/retest

Pod scheduling timeout.  

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 28, 2026

@kaovilai: 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/4.21-e2e-test-kubevirt-aws 3719b24 link true /test 4.21-e2e-test-kubevirt-aws
ci/prow/4.21-e2e-test-aws 3719b24 link true /test 4.21-e2e-test-aws
ci/prow/4.21-e2e-test-hcp-aws 3719b24 link true /test 4.21-e2e-test-hcp-aws
ci/prow/4.23-e2e-test-aws 8788e9c link false /test 4.23-e2e-test-aws

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.

Copy link
Copy Markdown
Contributor

@weshayutin weshayutin left a comment

Choose a reason for hiding this comment

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

/LGTM
override 4.23 e2e

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Apr 29, 2026
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 30, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kaovilai, shubham-pampattiwar, weshayutin

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [kaovilai,shubham-pampattiwar]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit 36d616e into openshift:oadp-dev Apr 30, 2026
14 of 15 checks passed
@openshift-cherrypick-robot
Copy link
Copy Markdown
Contributor

@kaovilai: new pull request created: #2182

Details

In response to this:

/cherry-pick oadp-1.6

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.

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

Labels

ai-gen-bugfix ai-generated-test approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BSL validation should require region when s3Url is set to a non-AWS endpoint

7 participants