Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for autoscaling API changes #26

Merged
merged 19 commits into from
Dec 2, 2019
Merged

Conversation

kianjones4
Copy link
Collaborator

  • Checks aws error message instead of error code when looking for instance not found exception for TerminateInstanceInAutoScalingGroup calls, since the error code is different from the code we were previously using in EC2

  • Added throttling fix to retry when upgrade manager gets throttled by rate limiting.

@@ -7,6 +7,7 @@ COPY go.mod go.mod
COPY go.sum go.sum
# cache deps before building and copying source so that we don't need to re-download as much
# and so that source changes don't invalidate our downloaded layer
COPY pkg pkg
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why was this needed?

@@ -321,7 +322,7 @@ func TestTerminateNodeErrorNotFound(t *testing.T) {
ruObj := &upgrademgrv1alpha1.RollingUpgrade{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}
rcRollingUpgrade := &RollingUpgradeReconciler{ClusterState: NewClusterState()}
mockAutoscalingGroup := MockAutoscalingGroup{errorFlag: true, awsErr: awserr.New("InvalidInstanceID.NotFound",
"some message",
"ValidationError: Instance Id not found - No managed instance found for instance ID i-0bba",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nice!

@@ -0,0 +1,200 @@
package log
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why is this needed?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is so that we can log the retries if the rollup controller autoscalling API calls get throttled. Similar to the way it was implemented in lifecycle manager https://github.com/keikoproj/lifecycle-manager/blob/7661ea7bd6fc4f5ddd92243252500a8e634ebc57/cmd/serve.go#L156-L159

@shrinandj shrinandj merged commit b3c6957 into keikoproj:master Dec 2, 2019
kianjones4 added a commit to kianjones4/upgrade-manager that referenced this pull request Dec 9, 2019
* check error message instead of code for instance not found

* fix test

* Fixes for autoscaling API changes (keikoproj#26)

* Add semaphore.yml

* build

* build

* squashed commits

* remove badge

* readme

* test

* pr

* fix kafka issue

* update to fix potential throttling issue

* Mod fix (#7)

* revert go sum

* fix mod build

* add go mod files for logger

* Fix terminate error (#8)

* check error message instead of code for instance not found

* fix test

* add build badge

* fix image

* Release v0.2 (keikoproj#28)

* Bump version to 0.3-dev. (keikoproj#29)

* Fix keikoproj#30 and release v0.3 (keikoproj#31)

Testing Done:

- Verified that the new docker image can be built with aws-sdk v1.25.0
- Verified that rolling upgrade actually completed.

* Bump version to 0.4-dev. (keikoproj#32)

* Added uniformAcrossAzUpdate strategy (keikoproj#27)

* Modified ClusterState to capture AZ details of a node

* - Added UniformAcrossAzUpdate strategy
- Added Unit tests (More to come)

* Added Unit tests

* Updated validation

* Added uniformAcrossAzUpdate update strategy sample

* Updated README

* Externalize node selectors behind interface

* Removed unnecessary comments

* Log maxUnavailable value
shrinandj pushed a commit that referenced this pull request Dec 19, 2019
* Add semaphore.yml

* build

* build

* squashed commits

* remove badge

* readme

* test

* pr

* fix kafka issue

* update to fix potential throttling issue

* Mod fix (#7)

* revert go sum

* fix mod build

* add go mod files for logger

* Fix terminate error (#8)

* check error message instead of code for instance not found

* fix test

* Add badge (#9)

* check error message instead of code for instance not found

* fix test

* Fixes for autoscaling API changes (#26)

* Add semaphore.yml

* build

* build

* squashed commits

* remove badge

* readme

* test

* pr

* fix kafka issue

* update to fix potential throttling issue

* Mod fix (#7)

* revert go sum

* fix mod build

* add go mod files for logger

* Fix terminate error (#8)

* check error message instead of code for instance not found

* fix test

* add build badge

* fix image

* Release v0.2 (#28)

* Bump version to 0.3-dev. (#29)

* Fix #30 and release v0.3 (#31)

Testing Done:

- Verified that the new docker image can be built with aws-sdk v1.25.0
- Verified that rolling upgrade actually completed.

* Bump version to 0.4-dev. (#32)

* Added uniformAcrossAzUpdate strategy (#27)

* Modified ClusterState to capture AZ details of a node

* - Added UniformAcrossAzUpdate strategy
- Added Unit tests (More to come)

* Added Unit tests

* Updated validation

* Added uniformAcrossAzUpdate update strategy sample

* Updated README

* Externalize node selectors behind interface

* Removed unnecessary comments

* Log maxUnavailable value

* Add badge (#10)

* check error message instead of code for instance not found

* fix test

* add build badge

* fix image

* update readme

* readme

* Add badge (#11)

* check error message instead of code for instance not found

* fix test

* add build badge

* fix image

* update readme

* fix mod
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants