Skip to content

feat: add DBInstanceParameterGroupName field to DBCluster - #293

Open
michaelhtm wants to merge 1 commit into
aws-controllers-k8s:mainfrom
michaelhtm:feat/add-db-instance-parameter-group-name-to-db-cluster
Open

feat: add DBInstanceParameterGroupName field to DBCluster#293
michaelhtm wants to merge 1 commit into
aws-controllers-k8s:mainfrom
michaelhtm:feat/add-db-instance-parameter-group-name-to-db-cluster

Conversation

@michaelhtm

@michaelhtm michaelhtm commented May 26, 2026

Copy link
Copy Markdown
Member

Description of changes:
The field is sourced from ModifyDBCluster and passed to AWS only during
major engine version upgrades, enabling Aurora clusters with custom
instance parameter groups to upgrade successfully.

Mark field with compare.is_ignored to prevent infinite reconciliation
since AWS never returns it in DescribeDBClusters.

Resolves aws-controllers-k8s/community#2778

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ack-prow
ack-prow Bot requested review from gustavodiaz7722 and sapphirew May 26, 2026 19:01
@ack-prow

ack-prow Bot commented May 26, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: michaelhtm

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:

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

@ack-prow ack-prow Bot added the approved label May 26, 2026
@michaelhtm
michaelhtm force-pushed the feat/add-db-instance-parameter-group-name-to-db-cluster branch from a09cb2e to 30ba1dc Compare May 26, 2026 19:07
}
if requireEngineVersionUpdate(desired.ko.Spec.EngineVersion, latest.ko.Spec.EngineVersion, autoMinorVersionUpgrade) {
res.EngineVersion = desired.ko.Spec.EngineVersion
if desired.ko.Spec.DBInstanceParameterGroupName != nil {

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.

Q: From the API docs it sounds like this field is only valid during a major version upgrade. Do we need to check that DBInstanceParameterGroupName is in the delta before including it to prevent an error during a subsequent minor version upgrade?

assert.Nil(t, input.PreferredBackupWindow)
}

func TestNewCustomUpdateRequestPayload_DBInstanceParameterGroupName_MajorUpgrade(t *testing.T) {

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.

Do we need a test for the below scenarios?

  1. No engine version change
  2. A minor version engine change.

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.

Would be good to have an e2e test for the major version engine upgrade case.

@michaelhtm
michaelhtm force-pushed the feat/add-db-instance-parameter-group-name-to-db-cluster branch 2 times, most recently from 9ece93b to 0eb40ca Compare June 4, 2026 21:12
@michaelhtm
michaelhtm force-pushed the feat/add-db-instance-parameter-group-name-to-db-cluster branch from 0eb40ca to f1dc271 Compare June 26, 2026 00:19
The field is sourced from ModifyDBCluster and passed to AWS only during
major engine version upgrades, enabling Aurora clusters with custom
instance parameter groups to upgrade successfully.

Mark field with compare.is_ignored to prevent infinite reconciliation
since AWS never returns it in DescribeDBClusters. Add negative unit
tests for no-engine-change and minor-upgrade scenarios, and an e2e test
for the full major version upgrade path.

Resolves aws-controllers-k8s/community#2778
@michaelhtm
michaelhtm force-pushed the feat/add-db-instance-parameter-group-name-to-db-cluster branch from f1dc271 to 0e89455 Compare June 26, 2026 01:20
@ack-prow

ack-prow Bot commented Jun 26, 2026

Copy link
Copy Markdown

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

Test name Commit Details Required Rerun command
rds-kind-e2e 0e89455 link true /test rds-kind-e2e

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ACK RDS Controller: Support DBInstanceParameterGroupName in DBCluster for Aurora major version upgrade

2 participants