Skip to content

Tags: valerena/ack-runtime

Tags

v0.19.3

Toggle v0.19.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
update log message when requeueing with no error (aws-controllers-k8s#99

)

Description of changes:
* When a resource was being requeued without any error, the debug log message reads `requeue needed after error {... , "error": null, "after": "10h0m0s"...}` , which is a red herring for users when debugging controller issues.
* This PR updates the log message correctly to not say `requeue needed after error`, when the resource is being requeued with no error.
* Resource can be requeued without any error for drift remediation.

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

v0.19.2

Toggle v0.19.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
By default requeue the resource with 10 hour delay (aws-controllers-k…

…8s#97)

Issue #, if available: aws-controllers-k8s/community#1355

Description of changes:
* implement ReSync using `requeue.NeededAfter` instead of upstream controlle-runime's `SyncPeriod`
* ACK controllers do not use cached go-client for reading objects from APIServer, hence upstream controller-runime ReSync was not working. Upstream controller-runtime ReSync only works for cached objects.
* As part of this change, whenever the `RequeueOnSuccess` duration for an ACK resource is 0 , requeue it with a 10 hour delay to trigger ReSync.
* I did not change the default value of `RequeueOnSuccessSeconds` from 0 to 10 hours because RequeueOnSuccessSeconds = 0 still means resource will not be requeued again to the developers. This 10 hour ReSync is an ACK runtime behavior and hence i only made change in ACK runtime. There will no change needed in existing ACK controllers. 

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

v0.19.1

Toggle v0.19.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Revert "Patch metadata and spec when handling errors (aws-controllers…

…-k8s#92)" (aws-controllers-k8s#96)

This reverts commit de27382.

Description of changes:
Adding a patch in `HandleReconcileError` caused subsequent test failures in the EKS controller, and ultimately did not fix the issue in the RDS controller. This PR is to revert that change so that we can roll back to a known good state for any other controllers that may have been affected.

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

v0.19.0

Toggle v0.19.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update `rm.EnsureTags` to accept controller metadata (aws-controllers…

…-k8s#91)

Issue #, if available: aws-controllers-k8s/community#1261

Description of changes:
* Pass `acktypes.ServiceControllerMetadata` parameter to `rm.EnsureTags` so that tag formats like `%CONTROLLER_VERSION%` can be resolved.
* ACK controller metadata required to expand tag formats is present inside `ServiceControllerMetadata` object.
* Change the return type of `ackrt.GetDefaultTags` method from `map[string]string` to `acktags.Tags` .

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

v0.18.6

Toggle v0.18.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Patch metadata and spec when handling errors (aws-controllers-k8s#92)

Description of changes:
If any update hook code tried to return a requeue error, the reconciler would short circuit and never patch the metadata and spec. As a result, fields returned by the API server were never being persisted back into the K8s API - which in turn lead to the delta finding differences every loop. This is the root cause for aws-controllers-k8s/community#1251. 

This pull request adds patching into the `HandleReconcileError` method, which sits at the end of the call stack where we handle the re-queuing errors. Therefore, even if an error is returned, as long as the error is not terminal, the spec will be patched.

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

v0.18.5

Toggle v0.18.5's commit message
v0.18.5

* Skips FieldExport reconciler if CRD is not present (aws-controllers-k8s#85)
* Adds Delta.DifferentExcept() method (aws-controllers-k8s#86)

v0.18.3

Toggle v0.18.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update `NewTerminalError` method to be not instance method (aws-contr…

…ollers-k8s#83)

Cannot instantiate without this change.

v0.18.2

Toggle v0.18.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add `New` method to `TerminalError` (aws-controllers-k8s#82)

This method helps to throw terminal error from the controller.

Controller code can throw errors like

```
	if *latestStatus == "create-failed" {
		return nil, ackerr.TerminalError.New(errors.New("cluster cannot be updated as its status is not 'available'."))
	}
```

Code generator changes - aws-controllers-k8s/code-generator#318

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

v0.18.1

Toggle v0.18.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Resolve references again only when resource is patched with finalizer (

…aws-controllers-k8s#80)

Issue #, if available: aws-controllers-k8s/community#1234

Description of changes:

* Keeps existing functionality but adds a condition to check for finalizer before adding the finalizer and resolving the references again.
* If the resource is not getting patched again, there is no need for resolving the references again
* Adds Unit test cases for Create behavior of both managed and unmanaged resources

----

* Original issue [#1187](aws-controllers-k8s/community#1187) explaining why references are resolved again during resource creation.

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