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

FleetAutoscaler can be targeted at Non Existent Fleets #416

Merged
merged 1 commit into from
Nov 19, 2018

Conversation

markmandel
Copy link
Member

This removes some previous restrictions with the FleetAutoscaler,
as well as cleaning up a couple of items.

  • FleetAutoscalers can now have a Fleet target that doesn't exit.
    • If the target doesn't exist, this will be recorded as a warning event of type FailedGetFleet, rather than ScalingLimited status item, as it allows a human readable message, as well as give us data on how often this occurs, and it is readable by stat/alerting packages.
  • FleetAutoscalers can now have their Fleet target edited. This means that FleetAutoscalers can be transitioned from one Fleet to another. This may be useful in scenarios like red-green deployments, or if you wish to temporarily disable an Autoscaler, but not delete it.
  • FleetAutoscaler.Status.ScalingLimited was also replaced by a ScalingLimited Event, as it allows a human readable message, as well as give us data on how often this occurs, and it is readable by stat/alerting packages.

Closes #406

@markmandel markmandel added kind/cleanup Refactoring code, fixing up documentation, etc area/user-experience Pertaining to developers trying to use Agones, e.g. SDK, installation, etc labels Nov 15, 2018
@markmandel markmandel added this to the 0.6.0 milestone Nov 15, 2018
@markmandel
Copy link
Member Author

/cc @victor-prodan - I made some decisions here, just to get a sacrificial draft in place -- please definitely let me know if you see issues.

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 47c6b1ee-3227-4561-87cd-8eed8d1e98a5

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

(experimental) To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/416/head:pr_416 && git checkout pr_416
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.6.0-ab3eed5

if fas.Spec.Policy.Type == BufferPolicyType {
causes = fas.Spec.Policy.Buffer.ValidateAutoScalingBufferPolicy(causes)
}
return causes
}

//ValidateAutoScalingSettings validates the FleetAutoscaler Buffer policy settings
//Validate validates the FleetAutoscaler Buffer policy settings
func (b *BufferPolicy) ValidateAutoScalingBufferPolicy(causes []metav1.StatusCause) []metav1.StatusCause {
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think you meant to change the name of the function too.

Copy link
Member Author

Choose a reason for hiding this comment

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

Actually no - but that comment shouldn't be changed. Weird the linter didn't pick that up?

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed comment. Intellij got a little aggressive with an automatic refactor. Thanks for the pickup!

Copy link
Member Author

Choose a reason for hiding this comment

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

Or actually, are you saying this should be something like ValidateBufferPolicy ? (That would make more sense)

Copy link
Member Author

Choose a reason for hiding this comment

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

Gentle bump on this - I think this is the last issue - and would love to get this in before RC release tomorrow.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I just wanted the name to match. ValidateBufferPolicy works for me.

Copy link
Member Author

Choose a reason for hiding this comment

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

SGTM! Will make the change. Thanks for the quick response.

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 2f5d47b2-c287-4d35-a29d-85d24dcd9742

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

(experimental) To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/416/head:pr_416 && git checkout pr_416
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.6.0-b172344

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: b7c9dbb4-d385-493b-aac3-a3f2ac06c5d4

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

(experimental) To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/416/head:pr_416 && git checkout pr_416
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.6.0-75f01bd

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: d927e64f-01e2-4197-bdb5-05db27a0e54a

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

(experimental) To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/416/head:pr_416 && git checkout pr_416
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.6.0-79c0a68

This removes some previous restrictions with the FleetAutoscaler,
as well as cleaning up a couple of items.

- FleetAutoscalers can now have a Fleet target that doesn't exit.
  - If the target doesn't exist, this will be recorded as a warning event
    of type `FailedGetFleet`, as it allows a human readable message, as
    well as give us data on how often this occurs, and it is readable by
    stat/alerting packages.
- FleetAutoscalers can now have their Fleet target edited. This
  means that FleetAutoscalers can be transitioned from one Fleet
  to another. This may be useful in scenarios like red-green deployments, or
  if you wish to temporarily disable an Autoscaler, but not delete it.
- `FleetAutoscaler.Status.ScalingLimited` has an added
  Event, as it allows a human readable message, as well as give us data on how
  often this occurs, and it is readable by stat/alerting packages.

Closes googleforgames#406
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: f5425a52-ddbc-4039-96c6-9e2ca84b861d

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

(experimental) To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/416/head:pr_416 && git checkout pr_416
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.6.0-cd2b7c8

@markmandel markmandel merged commit 6dbf59c into googleforgames:master Nov 19, 2018
@markmandel markmandel deleted the bug/decouple-fa branch November 19, 2018 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/user-experience Pertaining to developers trying to use Agones, e.g. SDK, installation, etc kind/cleanup Refactoring code, fixing up documentation, etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants