Skip to content

Conversation

nmvk
Copy link
Contributor

@nmvk nmvk commented Mar 30, 2022

Support for MDB cluster resource.

  • Ensure that we invoke update API if there delta
  • Scale up before scale in, Scale out before scale down
  • Use annotation to rollback in case of async failures
  • E2E tests to cover Create/Update/Rollback
  • TerminalConditions for User errors
  • Wait for delete to be completed
  • Perform engineversion upgrade and scale up/down whenever possible

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

@nmvk nmvk requested a review from kumargauravsharma March 30, 2022 22:24
@nmvk nmvk force-pushed the mdbc branch 3 times, most recently from ed8959f to 07fbcc0 Compare March 30, 2022 22:40
Copy link
Contributor

@RedbackThomson RedbackThomson left a comment

Choose a reason for hiding this comment

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

I haven't taken a chance to look at the tests yet, but really happy with the hook code you've added. It seems like there is a lot of complexity in these APIs and you've done a good job of separating it out into manageable chunks. I've left some comments inline regarding common code practices and some touchups. I'll take a look at tests and a little further into how we could re-use some of this code on the next review.

Support for MDB cluster resource.

- Ensure that we invoke update API if there delta
- Scale up before scale in, Scale out before scale down
- Use annotation to rollback in case of async failures
- E2E tests to cover Create/Update/Rollback
- TerminalConditions for User errors
- Wait for delete to be completed
- Perform engineversion upgrade and scale up/down whenever possible
Additionally used new code-gen and runtime.
Copy link
Contributor

@RedbackThomson RedbackThomson left a comment

Choose a reason for hiding this comment

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

Just a few small nits and then I'm happy.

I do have a bit of a problem with these declarative tests in that we are only checking the fields of the K8s resource. We never describe the state of the actual MemoryDB cluster. It feels like it's kind of defeating the purpose of an e2e test, if we don't test what we're integrating with. This probably needs to be figured out before we can push declarative tests through to all controllers

nmvk added 2 commits April 6, 2022 12:03
Fix constants, error message, and reque upon
error.
Use latest version
@RedbackThomson
Copy link
Contributor

Thank you!
/lgtm

@ack-bot ack-bot added the lgtm Indicates that a PR is ready to be merged. label Apr 6, 2022
@ack-bot
Copy link
Collaborator

ack-bot commented Apr 6, 2022

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: nmvk, RedbackThomson

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:
  • OWNERS [RedbackThomson,nmvk]

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

@ack-bot ack-bot merged commit 6f19c7e into aws-controllers-k8s:main Apr 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants