-
Notifications
You must be signed in to change notification settings - Fork 924
Promote PortPolicyNone Feature Gate from Beta to Stable #4587
Copy link
Copy link
Labels
good first issueThese are great first issues. If you are looking for a place to start, start here!These are great first issues. If you are looking for a place to start, start here!help wantedWe would love help on these issues. Please come help us!We would love help on these issues. Please come help us!kind/cleanupRefactoring code, fixing up documentation, etcRefactoring code, fixing up documentation, etc
Metadata
Metadata
Assignees
Labels
good first issueThese are great first issues. If you are looking for a place to start, start here!These are great first issues. If you are looking for a place to start, start here!help wantedWe would love help on these issues. Please come help us!We would love help on these issues. Please come help us!kind/cleanupRefactoring code, fixing up documentation, etcRefactoring code, fixing up documentation, etc
Type
Fields
Give feedbackNo fields configured for issues without a type.
What does this feature do?
PortPolicyNoneenables aportPolicy: Noneoption on GameServer port definitions. When set:hostPortfield is ignoredstatus.ports[].portreturns thecontainerPortvalue rather than a dynamically assigned host portCurrent state: Beta (enabled by default since 1.49.0)
Acceptance Criteria / Tasks
FeaturePortPolicyNoneandPortPolicyNoneto confirm all usage sites — the list below may not be exhaustiveFeaturePortPolicyNonefeature gate check frompkg/apis/agones/v1/gameserver.go— fold the gated logic to always-true (unconditionally allowportPolicy: Noneand returncontainerPortin status)PortPolicyNoneinpkg/cloudproduct/gke/gke.goFeaturePortPolicyNonefrom// Beta featuresto// Stable featuresinpkg/util/runtime/features.go(keep it infeatureDefaultsastrueso old feature-gate strings don't fail to parse)PortPolicyNonefrom Beta to Stable section ininstall/helm/agones/defaultfeaturegates.yamlPortPolicyNonefromBETA_FEATURE_GATESinbuild/MakefilePortPolicyNone=falsefrom the inverted e2e-runner config incloudbuild.yamlsite/content/en/docs/Guides/feature-stages.md— move row from Beta table to Stable tabletest/upgrade/versionMap.yaml— add entry showing PortPolicyNone moves to stable gates in this releaseFeaturePortPolicyNone(e.g.,TestGameServerPortPolicyNoneintest/e2e/gameserver_test.go, tests inpkg/apis/agones/v1/gameserver_test.go)Files to change
pkg/util/runtime/features.goFeaturePortPolicyNoneconst + default to Stable sectionpkg/apis/agones/v1/gameserver.goFeatureEnabled(FeaturePortPolicyNone)guards; fold logic unconditionallypkg/cloudproduct/gke/gke.goFeaturePortPolicyNonecheckpkg/apis/agones/v1/gameserver_test.gopkg/cloudproduct/gke/gke_test.gotest/e2e/gameserver_test.got.Skipguard onTestGameServerPortPolicyNoneinstall/helm/agones/defaultfeaturegates.yamlbuild/MakefileBETA_FEATURE_GATEScloudbuild.yamlPortPolicyNone=falsefrom inverted e2e configsite/content/en/docs/Guides/feature-stages.mdtest/upgrade/versionMap.yamlVerification
make lint test-gopasses with no skipped PortPolicyNone-gated test casesTestGameServerPortPolicyNoneruns without any feature-gate skipportPolicy: Nonecan be created without needing to set the feature gatePortPolicyNone=trueorPortPolicyNone=falsein the feature gate string must not cause a parse error (covered by keeping the const infeatureDefaults)