diff --git a/apis/v1/gateway_types.go b/apis/v1/gateway_types.go index 3d3535a7d4..f08fa9a356 100644 --- a/apis/v1/gateway_types.go +++ b/apis/v1/gateway_types.go @@ -1398,8 +1398,10 @@ type ListenerStatus struct { // attachment semantics can be found in the documentation on the various // Route kinds ParentRefs fields). Listener or Route status does not impact // successful attachment, i.e. the AttachedRoutes field count MUST be set - // for Listeners with condition Accepted: false and MUST count successfully - // attached Routes that may themselves have Accepted: false conditions. + // for Listeners with condition Accepted: false but MUST count successfully + // only attached Routes that may themselves have Accepted: true conditions. + // Attached Routes whose Accepted condition is False or Unknown (or that + // do not have an Accepted condition set) MUST NOT be included in this count. // // Uses for this field include troubleshooting Route attachment and // measuring blast radius/impact of changes to a Listener. diff --git a/apisx/v1alpha1/xlistenerset_types.go b/apisx/v1alpha1/xlistenerset_types.go index a8a7b80f28..e6214d339e 100644 --- a/apisx/v1alpha1/xlistenerset_types.go +++ b/apisx/v1alpha1/xlistenerset_types.go @@ -279,10 +279,12 @@ type ListenerEntryStatus struct { // AND the Route has a valid ParentRef selecting the whole Gateway // resource or a specific Listener as a parent resource (more detail on // attachment semantics can be found in the documentation on the various - // Route kinds ParentRefs fields). Listener or Route status does not impact + // Route kinds ParentRefs fields). Listener status does not impact // successful attachment, i.e. the AttachedRoutes field count MUST be set - // for Listeners with condition Accepted: false and MUST count successfully - // attached Routes that may themselves have Accepted: false conditions. + // for Listeners with condition Accepted: false but MUST count successfully + // only attached Routes that may themselves have Accepted: true conditions. + // Attached Routes whose Accepted condition is False or Unknown (or that + // do not have an Accepted condition set) MUST NOT be included in this count. // // Uses for this field include troubleshooting Route attachment and // measuring blast radius/impact of changes to a Listener. diff --git a/config/crd/experimental/gateway.networking.k8s.io_gateways.yaml b/config/crd/experimental/gateway.networking.k8s.io_gateways.yaml index e528f5e09f..4bb5013d90 100644 --- a/config/crd/experimental/gateway.networking.k8s.io_gateways.yaml +++ b/config/crd/experimental/gateway.networking.k8s.io_gateways.yaml @@ -1493,8 +1493,10 @@ spec: attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set - for Listeners with condition Accepted: false and MUST count successfully - attached Routes that may themselves have Accepted: false conditions. + for Listeners with condition Accepted: false but MUST count successfully + only attached Routes that may themselves have Accepted: true conditions. + Attached Routes whose Accepted condition is False or Unknown (or that + do not have an Accepted condition set) MUST NOT be included in this count. Uses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener. @@ -3096,8 +3098,10 @@ spec: attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set - for Listeners with condition Accepted: false and MUST count successfully - attached Routes that may themselves have Accepted: false conditions. + for Listeners with condition Accepted: false but MUST count successfully + only attached Routes that may themselves have Accepted: true conditions. + Attached Routes whose Accepted condition is False or Unknown (or that + do not have an Accepted condition set) MUST NOT be included in this count. Uses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener. diff --git a/config/crd/experimental/gateway.networking.x-k8s.io_xlistenersets.yaml b/config/crd/experimental/gateway.networking.x-k8s.io_xlistenersets.yaml index 3b5f3c126a..06e181b1c4 100644 --- a/config/crd/experimental/gateway.networking.x-k8s.io_xlistenersets.yaml +++ b/config/crd/experimental/gateway.networking.x-k8s.io_xlistenersets.yaml @@ -640,10 +640,12 @@ spec: AND the Route has a valid ParentRef selecting the whole Gateway resource or a specific Listener as a parent resource (more detail on attachment semantics can be found in the documentation on the various - Route kinds ParentRefs fields). Listener or Route status does not impact + Route kinds ParentRefs fields). Listener status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set - for Listeners with condition Accepted: false and MUST count successfully - attached Routes that may themselves have Accepted: false conditions. + for Listeners with condition Accepted: false but MUST count successfully + only attached Routes that may themselves have Accepted: true conditions. + Attached Routes whose Accepted condition is False or Unknown (or that + do not have an Accepted condition set) MUST NOT be included in this count. Uses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener. diff --git a/config/crd/standard/gateway.networking.k8s.io_gateways.yaml b/config/crd/standard/gateway.networking.k8s.io_gateways.yaml index a6e17954f8..249cc978c4 100644 --- a/config/crd/standard/gateway.networking.k8s.io_gateways.yaml +++ b/config/crd/standard/gateway.networking.k8s.io_gateways.yaml @@ -1018,8 +1018,10 @@ spec: attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set - for Listeners with condition Accepted: false and MUST count successfully - attached Routes that may themselves have Accepted: false conditions. + for Listeners with condition Accepted: false but MUST count successfully + only attached Routes that may themselves have Accepted: true conditions. + Attached Routes whose Accepted condition is False or Unknown (or that + do not have an Accepted condition set) MUST NOT be included in this count. Uses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener. @@ -2146,8 +2148,10 @@ spec: attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set - for Listeners with condition Accepted: false and MUST count successfully - attached Routes that may themselves have Accepted: false conditions. + for Listeners with condition Accepted: false but MUST count successfully + only attached Routes that may themselves have Accepted: true conditions. + Attached Routes whose Accepted condition is False or Unknown (or that + do not have an Accepted condition set) MUST NOT be included in this count. Uses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener. diff --git a/geps/gep-1713/index.md b/geps/gep-1713/index.md index dbcb56ea8b..5a815f3fac 100644 --- a/geps/gep-1713/index.md +++ b/geps/gep-1713/index.md @@ -303,9 +303,11 @@ type ListenerEntryStatus struct { // resource or a specific Listener as a parent resource (more detail on // attachment semantics can be found in the documentation on the various // Route kinds ParentRefs fields). Listener or Route status does not impact - // successful attachment, i.e. the AttachedRoutes field count MUST be set - // for Listeners with condition Accepted: false and MUST count successfully - // attached Routes that may themselves have Accepted: false conditions. + // successful attachment, i.e. the AttachedRoutes field count MUST be set + // for Listeners with condition Accepted: false but MUST count successfully + // only attached Routes that may themselves have Accepted: true conditions. + // Attached Routes whose Accepted condition is False or Unknown (or that + // do not have an Accepted condition set) MUST NOT be included in this count. // // Uses for this field include troubleshooting Route attachment and // measuring blast radius/impact of changes to a Listener. diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index cb85d5bb95..7368c865a6 100644 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -5942,7 +5942,7 @@ func schema_sigsk8sio_gateway_api_apis_v1_ListenerStatus(ref common.ReferenceCal }, "attachedRoutes": { SchemaProps: spec.SchemaProps{ - Description: "AttachedRoutes represents the total number of Routes that have been successfully attached to this Listener.\n\nSuccessful attachment of a Route to a Listener is based solely on the combination of the AllowedRoutes field on the corresponding Listener and the Route's ParentRefs field. A Route is successfully attached to a Listener when it is selected by the Listener's AllowedRoutes field AND the Route has a valid ParentRef selecting the whole Gateway resource or a specific Listener as a parent resource (more detail on attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set for Listeners with condition Accepted: false and MUST count successfully attached Routes that may themselves have Accepted: false conditions.\n\nUses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener.", + Description: "AttachedRoutes represents the total number of Routes that have been successfully attached to this Listener.\n\nSuccessful attachment of a Route to a Listener is based solely on the combination of the AllowedRoutes field on the corresponding Listener and the Route's ParentRefs field. A Route is successfully attached to a Listener when it is selected by the Listener's AllowedRoutes field AND the Route has a valid ParentRef selecting the whole Gateway resource or a specific Listener as a parent resource (more detail on attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set for Listeners with condition Accepted: false but MUST count successfully only attached Routes that may themselves have Accepted: true conditions. Attached Routes whose Accepted condition is False or Unknown (or that do not have an Accepted condition set) MUST NOT be included in this count.\n\nUses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener.", Default: 0, Type: []string{"integer"}, Format: "int32", @@ -8944,7 +8944,7 @@ func schema_sigsk8sio_gateway_api_apisx_v1alpha1_ListenerEntryStatus(ref common. }, "attachedRoutes": { SchemaProps: spec.SchemaProps{ - Description: "AttachedRoutes represents the total number of Routes that have been successfully attached to this Listener.\n\nSuccessful attachment of a Route to a Listener is based solely on the combination of the AllowedRoutes field on the corresponding Listener and the Route's ParentRefs field. A Route is successfully attached to a Listener when it is selected by the Listener's AllowedRoutes field AND the Route has a valid ParentRef selecting the whole Gateway resource or a specific Listener as a parent resource (more detail on attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set for Listeners with condition Accepted: false and MUST count successfully attached Routes that may themselves have Accepted: false conditions.\n\nUses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener.", + Description: "AttachedRoutes represents the total number of Routes that have been successfully attached to this Listener.\n\nSuccessful attachment of a Route to a Listener is based solely on the combination of the AllowedRoutes field on the corresponding Listener and the Route's ParentRefs field. A Route is successfully attached to a Listener when it is selected by the Listener's AllowedRoutes field AND the Route has a valid ParentRef selecting the whole Gateway resource or a specific Listener as a parent resource (more detail on attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set for Listeners with condition Accepted: false but MUST count successfully only attached Routes that may themselves have Accepted: true conditions. Attached Routes whose Accepted condition is False or Unknown (or that do not have an Accepted condition set) MUST NOT be included in this count.\n\nUses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener.", Default: 0, Type: []string{"integer"}, Format: "int32",