diff --git a/build/Makefile b/build/Makefile index f506d663fe..c9d4e381d6 100644 --- a/build/Makefile +++ b/build/Makefile @@ -64,7 +64,7 @@ KIND_CONTAINER_NAME=$(KIND_PROFILE)-control-plane GS_TEST_IMAGE ?= us-docker.pkg.dev/agones-images/examples/simple-game-server:0.22 # Enable all alpha feature gates. Keep in sync with `false` (alpha) entries in pkg/util/runtime/features.go:featureDefaults -ALPHA_FEATURE_GATES ?= "PlayerAllocationFilter=true&PlayerTracking=true&CountsAndLists=true&FleetAllocationOverflow=true&DisableResyncOnSDKServer=true&Example=true" +ALPHA_FEATURE_GATES ?= "PlayerAllocationFilter=true&PlayerTracking=true&CountsAndLists=true&DisableResyncOnSDKServer=true&Example=true" # Build with Windows support WITH_WINDOWS=1 diff --git a/cloudbuild.yaml b/cloudbuild.yaml index d3d6850d87..e031dfeaa0 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -296,10 +296,10 @@ steps: region=${versionsAndRegions[$version]} if [ $cloudProduct = generic ] then - featureWithGate="PlayerAllocationFilter=true&PlayerTracking=true&ResetMetricsOnDelete=false&SplitControllerAndExtensions=false&FleetAllocationOverflow=true&CountsAndLists=true&DisableResyncOnSDKServer=true&Example=true" + featureWithGate="PlayerAllocationFilter=true&PlayerTracking=true&ResetMetricsOnDelete=false&SplitControllerAndExtensions=false&FleetAllocationOverflow=false&CountsAndLists=true&DisableResyncOnSDKServer=true&Example=true" testCluster="standard-e2e-test-cluster-${version//./-}" else - featureWithGate="PlayerAllocationFilter=true&PlayerTracking=true&ResetMetricsOnDelete=false&SplitControllerAndExtensions=true&FleetAllocationOverflow=true&CountsAndLists=true&DisableResyncOnSDKServer=true&Example=true" + featureWithGate="PlayerAllocationFilter=true&PlayerTracking=true&ResetMetricsOnDelete=false&SplitControllerAndExtensions=true&FleetAllocationOverflow=false&CountsAndLists=true&DisableResyncOnSDKServer=true&Example=true" testCluster="gke-autopilot-e2e-test-cluster-${version//./-}" fi featureWithoutGate="" diff --git a/examples/fleet.yaml b/examples/fleet.yaml index 6b26efb719..81304ea9af 100644 --- a/examples/fleet.yaml +++ b/examples/fleet.yaml @@ -50,17 +50,17 @@ spec: maxSurge: 25% # the amount to decrements GameServers by. Defaults to 25% maxUnavailable: 25% - # [Stage:Alpha] + # [Stage:Beta] # [FeatureFlag:FleetAllocationOverflow] # Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers exceeds # the desired replicas in the underlying `GameServerSet` - # Commented out since Alpha, and disabled by default - # allocationOverflow: - # labels: - # mykey: myvalue - # version: "" # empty an existing label value - # annotations: - # otherkey: setthisvalue + # Now in Beta, and enabled by default + allocationOverflow: + labels: + mykey: myvalue + version: "" # empty an existing label value + annotations: + otherkey: setthisvalue # # [Stage:Alpha] # [FeatureFlag:CountsAndLists] diff --git a/install/helm/agones/defaultfeaturegates.yaml b/install/helm/agones/defaultfeaturegates.yaml index 079826ddd6..54312550f4 100644 --- a/install/helm/agones/defaultfeaturegates.yaml +++ b/install/helm/agones/defaultfeaturegates.yaml @@ -15,13 +15,13 @@ # Default values for feature gates. Keep in sync with pkg/util/runtime/features.go:featureDefaults # Beta features +FleetAllocationOverflow: true ResetMetricsOnDelete: true SplitControllerAndExtensions: true # Alpha features PlayerAllocationFilter: false PlayerTracking: false -FleetAllocationOverflow: false DisableResyncOnSDKServer: false # Pre-Alpha features diff --git a/pkg/apis/agones/v1/fleet.go b/pkg/apis/agones/v1/fleet.go index 22168673f8..876a397d50 100644 --- a/pkg/apis/agones/v1/fleet.go +++ b/pkg/apis/agones/v1/fleet.go @@ -59,7 +59,7 @@ type FleetList struct { type FleetSpec struct { // Replicas are the number of GameServers that should be in this set. Defaults to 0. Replicas int32 `json:"replicas"` - // [Stage: Alpha] + // [Stage: Beta] // [FeatureFlag:FleetAllocationOverflow] // Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more // than the desired replicas on the underlying `GameServerSet` diff --git a/pkg/apis/agones/v1/gameserverset.go b/pkg/apis/agones/v1/gameserverset.go index 7ddfd9fe40..ec1cc89292 100644 --- a/pkg/apis/agones/v1/gameserverset.go +++ b/pkg/apis/agones/v1/gameserverset.go @@ -59,7 +59,7 @@ type GameServerSetList struct { type GameServerSetSpec struct { // Replicas are the number of GameServers that should be in this set Replicas int32 `json:"replicas"` - // [Stage: Alpha] + // [Stage: Beta] // [FeatureFlag:FleetAllocationOverflow] // Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below // the desired replicas on the underlying `GameServerSet` diff --git a/pkg/util/runtime/features.go b/pkg/util/runtime/features.go index c2fcfed703..88571447e3 100644 --- a/pkg/util/runtime/features.go +++ b/pkg/util/runtime/features.go @@ -98,11 +98,11 @@ var ( // In each of these, keep the feature sorted by descending maturity then alphabetical featureDefaults = map[Feature]bool{ // Beta features + FeatureFleetAllocateOverflow: true, FeatureResetMetricsOnDelete: true, FeatureSplitControllerAndExtensions: true, // Alpha features - FeatureFleetAllocateOverflow: false, FeaturePlayerAllocationFilter: false, FeaturePlayerTracking: false, FeatureDisableResyncOnSDKServer: false, diff --git a/site/content/en/docs/Guides/feature-stages.md b/site/content/en/docs/Guides/feature-stages.md index 90b35fac92..e126980068 100644 --- a/site/content/en/docs/Guides/feature-stages.md +++ b/site/content/en/docs/Guides/feature-stages.md @@ -40,12 +40,12 @@ The current set of `alpha` and `beta` feature gates: {{% feature publishVersion="1.37.0" %}} | Feature Name | Gate | Default | Stage | Since | |-----------------------------------------------------------------------------------------------------------------------|--------------------------------|----------|---------|--------| +| [Allocated GameServers are notified on relevant Fleet Updates][fleet-updates] | `FleetAllocationOverflow` | Enabled | `Beta` | 1.37.0 | | [Reset Metric Export on Fleet / Autoscaler deletion]({{% relref "./metrics.md#dropping-metric-labels" %}}) | `ResetMetricsOnDelete` | Enabled | `Beta` | 1.32.0 | | [Split `agones-controller` ](https://github.com/googleforgames/agones/issues/2797) | `SplitControllerAndExtensions` | Enabled | `Beta` | 1.32.0 | | [GameServer player capacity filtering on GameServerAllocations](https://github.com/googleforgames/agones/issues/1239) | `PlayerAllocationFilter` | Disabled | `Alpha` | 1.14.0 | | [Player Tracking]({{< ref "/docs/Guides/player-tracking.md" >}}) | `PlayerTracking` | Disabled | `Alpha` | 1.6.0 | -| [Allocated GameServers are notified on relevant Fleet Updates][fleet-updates] | `FleetAllocationOverflow` | Disabled | `Alpha` | 1.32.0 | -| [DisableResyncOnSDKServer](https://github.com/googleforgames/agones/issues/3377) | `DisableResyncOnSDKServer` | Disabled | `Alpha` | 1.37.0 | +| [DisableResyncOnSDKServer](https://github.com/googleforgames/agones/issues/3377) | `DisableResyncOnSDKServer` | Disabled | `Alpha` | 1.37.0 | | Example Gate (not in use) | `Example` | Disabled | None | 0.13.0 | {{% /feature %}} diff --git a/site/content/en/docs/Guides/fleet-updates.md b/site/content/en/docs/Guides/fleet-updates.md index f08dd1b441..d7fa067479 100644 --- a/site/content/en/docs/Guides/fleet-updates.md +++ b/site/content/en/docs/Guides/fleet-updates.md @@ -127,7 +127,13 @@ the rate that you deem fit for your specific rollout. ## Notifying GameServers on Fleet Update/Downscale +{{% feature expiryVersion="1.37.0" %}} {{< alpha title="Allocated GameSever Overflow Notification" gate="FleetAllocationOverflow" >}} +{{% /feature %}} + +{{% feature publishVersion="1.37.0" %}} +{{< beta title="Allocated GameSever Overflow Notification" gate="FleetAllocationOverflow" >}} +{{% /feature %}} When `Allocated` `GameServers` are utilised for a long time, such as a Lobby `GameServer`, or a `GameServer` that is being reused multiple times in a row, it can be useful diff --git a/site/content/en/docs/Reference/agones_crd_api_reference.html b/site/content/en/docs/Reference/agones_crd_api_reference.html index 1db38ceb4f..3acffa009a 100644 --- a/site/content/en/docs/Reference/agones_crd_api_reference.html +++ b/site/content/en/docs/Reference/agones_crd_api_reference.html @@ -3,7 +3,7 @@ description="Detailed list of Agones Custom Resource Definitions available" +++ -{{% feature expiryVersion="1.36.0" %}} +{{% feature expiryVersion="1.37.0" %}}

Packages: