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

Flaky: Fix test for TestGameServerUnhealthyAfterDeletingPod #758

Conversation

markmandel
Copy link
Member

Change in behaviour on Unhealthy GameServers that are not in Fleets (deleted vs just being marked as Unhealthy), caused this e2e test to be flaky.

Added a TODO to review if we are still happy with this, since release is coming up, and having stable tests is most important right now.

Change in behaviour on Unhealthy GameServers that are not in Fleets
(deleted vs just being marked as Unhealthy), caused this e2e test
to be flaky.

Added a TODO to review if we are still happy with this, since
release is coming up, and having stable tests is most important right
now.
@markmandel markmandel added kind/bug These are bugs. area/tests Unit tests, e2e tests, anything to make sure things don't break labels May 6, 2019
@markmandel
Copy link
Member Author

/cc @ilkercelikyilmaz just a heads up about this - we might want to review this behaviour at some point. Originally GameServers not in fleet that dropped into Unhealthy did not get deleted (sorry I didn't pick up on this in review).

But maybe this is fine, and we can leave it as is 🤷‍♂️

Just wanted to put it on your radar, in case you had thoughts. In theory the gameserverset controller should have taken care of this for the issue you were facing, but for some strange reason it didn't 😢

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 15a8bfe8-2dd1-48e2-b09a-3919337dd009

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/758/head:pr_758 && git checkout pr_758
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.10.0-50f4fa7


if err != nil {
logrus.WithError(err).Warn("error retrieving gameserver")
return false, nil
Copy link
Member

Choose a reason for hiding this comment

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

Should this be return false, err? The func returns (bool, error) but none of the cases actually return a non-nil error.

Copy link
Member Author

Choose a reason for hiding this comment

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

That's a good question - looking at the code, if any error is returned from the function, then PollImmeadiate will fail, and return an error - in this case, I don't think we actually want that to happen, we want it to retry and try again if something weird happens - because it may be a timing issue or self resolve?

@roberthbailey
Copy link
Member

lgtm overall, just one nit on error handling.

@ilkercelikyilmaz
Copy link
Contributor

/cc @ilkercelikyilmaz just a heads up about this - we might want to review this behaviour at some point. Originally GameServers not in fleet that dropped into Unhealthy did not get deleted (sorry I didn't pick up on this in review).

But maybe this is fine, and we can leave it as is

Just wanted to put it on your radar, in case you had thoughts. In theory the gameserverset controller should have taken care of this for the issue you were facing, but for some strange reason it didn't

I was hoping that GameserverSet controller to take care of this but it wasn't. Actually it was taking care of it when the Pod restarted.

Copy link
Collaborator

@cyriltovena cyriltovena left a comment

Choose a reason for hiding this comment

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

LGTM

@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: 91b84eb0-0dec-4c84-860f-245aa2b3a310

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: 457ca927-1e6b-45ed-8b8e-258f7457f353

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: 4982ba19-2ef0-4d52-91b1-e00e98e41a83

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 3809452d-9026-474e-bc18-a9a4eef7edc8

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/758/head:pr_758 && git checkout pr_758
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.10.0-b7c2492

@markmandel markmandel merged commit 521be13 into googleforgames:master May 7, 2019
@markmandel markmandel deleted the flaky/TestGameServerUnhealthyAfterDeletingPod branch May 7, 2019 18:34
@markmandel markmandel added this to the 0.10.0 milestone May 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/tests Unit tests, e2e tests, anything to make sure things don't break kind/bug These are bugs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants