Skip to content

Conversation

knottnt
Copy link

@knottnt knottnt commented Sep 16, 2025

Issue #, if available:

Description of changes:

  • Add .vscode to .gitignore
  • Omit unchanged field from update payload
  • Only set spec fields included in delta in sdkUpdate
  • late initialize fields to load default values after broker creation
  • Add delta pre-compare hook to match EngineVersion by prefix instead of exact match
  • Add e2e test validating creation of RabbitMQ broker with non-default security group becomes synced
  • Add tests for delta comparison of EngineVersion
  • Update create/delete e2e test to validate update behavior

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

Copy link

ack-prow bot commented Sep 16, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@ack-prow ack-prow bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 16, 2025
@ack-prow ack-prow bot requested review from michaelhtm and rushmash91 September 16, 2025 01:17
Copy link

ack-prow bot commented Sep 16, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: knottnt

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

The pull request process is described here

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 Sep 16, 2025
@knottnt
Copy link
Author

knottnt commented Sep 16, 2025

/test all

1 similar comment
@knottnt
Copy link
Author

knottnt commented Sep 18, 2025

/test all

- Add .vscode to .gitignore
- Enable late_initialize for fields not set by the Create API's response
- Set omit_unchanged_fields to true
- Set only_set_unchanged_fields to true
- Add custom hook to check that latest EngineVersion has Spec.EngineVersion as prefix instead of checking for exact match.
- Add e2e test to ensure that the ACK resource syncs when creating a RabbitMQ broker with a non-default security group
- Move creation of broker to fixture
- Add test logic for validating update of broker
@knottnt
Copy link
Author

knottnt commented Sep 24, 2025

/test mq-kind-e2e

@knottnt knottnt force-pushed the rabbitmq-security-groups branch from 7dcabd0 to 402a132 Compare September 25, 2025 03:52
@knottnt
Copy link
Author

knottnt commented Sep 25, 2025

/test all

@knottnt knottnt marked this pull request as ready for review September 25, 2025 04:08
@ack-prow ack-prow bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 25, 2025
@ack-prow ack-prow bot requested a review from a-hilaly September 25, 2025 04:08
@knottnt
Copy link
Author

knottnt commented Sep 26, 2025

/hold
for code-gen change to be merged.

@ack-prow ack-prow bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 26, 2025
- method: Update
ignore: true
MaintenanceWindowStartTime:
late_initialize: {}
Copy link
Member

Choose a reason for hiding this comment

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

should we add a late_initialize_all field at the Resource level in code-gen?

Copy link
Author

Choose a reason for hiding this comment

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

Hmm, that could be useful. Not sure if I want to block this PR on that code-gen feature though.

Comment on lines +30 to +31
# UpdateBroker API returns nil for values not set in the request.
only_set_unchanged_fields: true
Copy link
Member

Choose a reason for hiding this comment

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

should we consider ignoring the update output completely? and do late_initialize only?

Copy link
Author

Choose a reason for hiding this comment

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

Hmm, the update output does have relevant information, but only for the fields that were non-nil in the input shape. What would the benefit of relying on late_initialize only? Also, for late_initialization don't we only set nil fields? The fields in the delta will already be set so the updated values won't be reflected.

Copy link
Member

Choose a reason for hiding this comment

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

I was thinking late_initialize would just patch all the necessary updated fields from AWS.

If the response you get from update output is the same as the update input, i don't think we need to set those fields again..

Copy link
Author

Choose a reason for hiding this comment

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

There are some cases where we AWS does slightly modify the input value in the output that we want to pick-up to avoid errant drift detection. For example if you send a maintenance window day of "Monday" the Update operation will return MONDAY. We could try catching all of those cases in the delta function, but that would require quite a bit of custom code.

Copy link
Member

Choose a reason for hiding this comment

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

that makes sense

- Add test case for delta when engine version differs by patch version
@knottnt knottnt requested a review from michaelhtm September 26, 2025 20:07
Copy link

ack-prow bot commented Sep 29, 2025

@knottnt: 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
mq-verify-attribution 40da041 link false /test mq-verify-attribution

Full PR test history. Your PR dashboard.

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/test-infra repository. I understand the commands that are listed here.

@knottnt
Copy link
Author

knottnt commented Sep 29, 2025

/unhold

@ack-prow ack-prow bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 29, 2025
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.

2 participants