diff --git a/docs/RELEASE-NOTES.rst b/docs/RELEASE-NOTES.rst index bf76c88ad..260f7382c 100644 --- a/docs/RELEASE-NOTES.rst +++ b/docs/RELEASE-NOTES.rst @@ -1,33 +1,36 @@ Release Notes for Container Ingress Services for Kubernetes & OpenShift ======================================================================= -Next Release +2.15.0 ------------- Added Functionality ``````````````````` **What's new:** * Multi Cluster - * Support for a/b deployment custom persistence in ratio mode with cluster mode + * Support for a/b deployment custom persistence in ratio mode with cluster mode. See `Example `_ + * Add support for cluster AdminState. See `Example `_ * Next Generation Routes - * Moved from pod liveness probe based health monitor to readiness probe based health monitor for autoMonitor - * Support for new route annotation **virtual-server.f5.com/pod-concurrent-connections**, See `Example `_ + * Moved from pod liveness probe based health monitor to readiness probe based health monitor for autoMonitor. See `Example `_ + * Support for new route annotation **virtual-server.f5.com/pod-concurrent-connections**, See `Example `_ * CRD - * `Issue 3062 `_: Support ConnectionMirroring in virtualserver and Transportserver CR + * `Issue 3062 `_: Support ConnectionMirroring in virtualserver and Transportserver CR, See `Example `_ * `Issue 2963 `_: Support MinimumMonitors in virtualserver CR - * `Issue 3126 `_: VirtualServer with hostGroup and ipamLabel set returns the wrong vsAddress status - * Support for AS3 GTM agent with separate GTM server - * Support for /ready endpoint to check the CIS health + * Support for dedicated AS3 GTM agent for GTM Server + * Support for new CIS health check endpoint /ready * Support for configuring node network CIDR for ovn-k8s CNI with staticRoutingMode.See `Documentation `_ - * Add support for AS3 3.48.0 + * CIS compatible with OpenShift 4.13, Kubernetes 1.28 and AS3 3.48 + * Improved Operator support for OpenShift 4.13 + Bug Fixes ```````````` -* `Issue 3057 `_: Support for pool settings for reslect with policy CR. +* `Issue 3057 `_: Support for pool settings for reselect with policy CR. * `Issue 3061 `_: Provide stable pool name in multi cluster mode * `Issue 3079 `_: Fix logic for node not ready check * `Issue 3073 `_: Fix AS3 config map multi port service issue * `Issue 2985 `_: Improve CIS primary and secondary coordination -* `Issue 3066 `_: Support for a/b deployment custom persistence in CRD, nextGen routes with cluster mode +* `Issue 3066 `_: Support for a/b deployment custom persistence in CRD, nextGen routes with cluster mode. See `Example `_ +* `Issue 3126 `_: VirtualServer with hostGroup and ipamLabel set returns the wrong vsAddress status Upgrade notes `````````````` diff --git a/docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml b/docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml index 234ef4cd1..198d16c11 100644 --- a/docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml +++ b/docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml @@ -41,6 +41,9 @@ spec: snat: type: string pattern: '^$|^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)+$' + connectionMirroring: + type: string + enum: [ none, L4 ] tlsProfileName: type: string pattern: '^[a-zA-Z]+[-A-z0-9_.:]+[A-z0-9]+$' @@ -283,6 +286,11 @@ spec: reference: type: string enum: [bigip] + minimumMonitors: + x-kubernetes-int-or-string: true + anyOf: + - type: integer + - type: string reselectTries: type: integer minimum: 0 @@ -372,7 +380,7 @@ spec: jsonPath: .metadata.creationTimestamp subresources: status: {} - + --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -480,7 +488,7 @@ spec: policyName: type: string pattern: '^([A-z0-9-_+])*([A-z0-9])$' - mode: + mode: type: string enum: [standard, performance] type: @@ -489,6 +497,9 @@ spec: snat: type: string pattern: '^$|^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)+$' + connectionMirroring: + type: string + enum: [ none, L4 ] profiles: type: object properties: @@ -592,25 +603,25 @@ spec: items: type: object properties: - type: - type: string - enum: [ tcp, udp, http, https ] - interval: - type: integer - timeout: - type: integer - targetPort: - type: integer - name: - type: string - pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$' - reference: - type: string - enum: [bigip] - send: - type: string - recv: - type: string + type: + type: string + enum: [ tcp, udp, http, https ] + interval: + type: integer + timeout: + type: integer + targetPort: + type: integer + name: + type: string + pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$' + reference: + type: string + enum: [bigip] + send: + type: string + recv: + type: string reselectTries: type: integer minimum: 0 @@ -635,8 +646,8 @@ spec: - type: integer - type: string required: - - service - - servicePort + - service + - servicePort required: - virtualServerPort - pool @@ -651,37 +662,37 @@ spec: type: string default: Pending additionalPrinterColumns: - - name: virtualServerAddress - type: string - description: IP address of virtualServer - jsonPath: .spec.virtualServerAddress - - name: virtualServerPort - type: integer - description: Port of virtualServer - jsonPath: .spec.virtualServerPort - - name: pool - type: string - description: Name of service - jsonPath: .spec.pool.service - - name: poolPort - type: string - description: Port of service - jsonPath: .spec.pool.servicePort - - name: ipamLabel - type: string - description: ipamLabel for transport server - jsonPath: .spec.ipamLabel - - name: IPAMVSAddress - type: string - description: IP address of transport server - jsonPath: .status.vsAddress - - name: STATUS - type: string - description: status of TransportServer - jsonPath: .status.status - - name: Age - type: date - jsonPath: .metadata.creationTimestamp + - name: virtualServerAddress + type: string + description: IP address of virtualServer + jsonPath: .spec.virtualServerAddress + - name: virtualServerPort + type: integer + description: Port of virtualServer + jsonPath: .spec.virtualServerPort + - name: pool + type: string + description: Name of service + jsonPath: .spec.pool.service + - name: poolPort + type: string + description: Port of service + jsonPath: .spec.pool.servicePort + - name: ipamLabel + type: string + description: ipamLabel for transport server + jsonPath: .spec.ipamLabel + - name: IPAMVSAddress + type: string + description: IP address of transport server + jsonPath: .status.vsAddress + - name: STATUS + type: string + description: status of TransportServer + jsonPath: .status.status + - name: Age + type: date + jsonPath: .metadata.creationTimestamp subresources: status: { } --- @@ -1031,4 +1042,27 @@ spec: enum: [ default, auto, disable ] snat: type: string - pattern: '^$|^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)+$' \ No newline at end of file + pattern: '^$|^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)+$' + poolSettings: + type: object + properties: + reselectTries: + type: integer + minimum: 0 + maximum: 65535 + serviceDownAction: + type: string + slowRampTime: + type: integer + minimum: 0 + maximum: 900 + multiPoolPersistence: + type: object + properties: + method: + type: string + enum: [ uieSourceAddress, hashSourceAddress ] + timeOut: + type: integer + minimum: 1 + default: 180 \ No newline at end of file diff --git a/docs/config_examples/multicluster/README.md b/docs/config_examples/multicluster/README.md index 4164081cb..82f3322ac 100644 --- a/docs/config_examples/multicluster/README.md +++ b/docs/config_examples/multicluster/README.md @@ -503,6 +503,9 @@ while computing the final ratio.
**Note:** * Cluster wise ratio for traffic distribution is supported in HA as well as non-HA CIS environment. * Ratio is only supported for NextGen Routes and Virtual Server CR. +* Setting cluster adminState in conjunction with cluster ratio will affect the overall traffic distribution across clusters. + As the clusters marked as disable or offline will not receive traffic, so any ratio defined for these clusters will be rendered ineffective. + Thus, in such a scenario it's recommended to set the cluster ratio to 0 for all the clusters marked with disable/offline. ### Cluster adminState to enable/disable/offline a cluster adminState can be provided for a cluster to dictate the state of a particular cluster. diff --git a/docs/upgradeProcess.md b/docs/upgradeProcess.md index 22795671d..0dafa0b4f 100644 --- a/docs/upgradeProcess.md +++ b/docs/upgradeProcess.md @@ -41,7 +41,7 @@ Compatibility Matrix | v2.13.0 | v16.0 | v1.27 | v4.12.0* | Yes | Yes | v3.45 | v0.1.9 | v0.0.4 | v0.0.25 | Red Hat Enterprise Linux release 9.1 (Plow) | | v2.13.1 | v16.0 | v1.27 | v4.12.0* | Yes | Yes | v3.45 | v0.1.9 | v0.0.4 | v0.0.25 | Red Hat Enterprise Linux release 9.1 (Plow) | | v2.14.0 | v17.0 | v1.27 | v4.12.0* | Yes | Yes | v3.45 | v0.1.9 | v0.0.4 | v0.0.26 | Red Hat Enterprise Linux release 9.1 (Plow) | -| v2.15.0 | v17.0 | v1.27 | v4.12.0* | Yes | Yes | v3.48 | v0.1.9 | v0.0.4 | v0.0.26 | Red Hat Enterprise Linux release 9.1 (Plow) | +| v2.15.0 | v17.0 | v1.28 | v4.13.0* | Yes | Yes | v3.48 | v0.1.9 | v0.0.4 | v0.0.27 | Red Hat Enterprise Linux release 9.1 (Plow) | Note: For OCP version 4.12, CIS is compatible with IPv4 and dual stack IPv4. @@ -51,7 +51,7 @@ Compatibility Matrix for Multi Cluster Support | CIS Version | BIG-IP Version | Kubernetes Version | OpenShift Version | NodePort | SDN | OVN (Cluster Mode) | AS3 Version | CIS Chart Version | |-------------|----------------|--------------------|-------------------|----------|-----|--------------------|-------------|-------------------| | v2.14.0 | v16.0 | v1.27 | v4.12.0 | Yes | No | Yes | v3.45 | v0.0.26 | -| v2.15.0 | v16.0 | v1.27 | v4.12.0 | Yes | No | Yes | v3.48 | v0.0.26 | +| v2.15.0 | v16.0 | v1.28 | v4.13.0 | Yes | No | Yes | v3.48 | v0.0.27 | CIS Features and Examples @@ -344,4 +344,6 @@ Refer Release Notes for [CIS v2.13.1](https://github.com/F5Networks/k8s-bigip-ct ### **Upgrading from 2.14.0 to 2.15.0:** * Disabled default health monitoring with routes, use autoMonitor support for NextGenRoutes. See `Example `_ -* `Issue 777 `_: Cluster adminState in multiCluster mode doesn't work properly with AS3 (v3.47 and v3.48) as updating pool member adminState from enable to offline fails with 422 error with AS3 (v3.47 and v3.48). If customer needs this feature, we recommend to use AS3 v3.46 or lower on BIGIP. \ No newline at end of file +* `Issue 777 `_: Cluster adminState in multiCluster mode doesn't work properly with AS3 (v3.47 and v3.48) as updating pool member adminState from enable to offline fails with 422 error with AS3 (v3.47 and v3.48). If customer needs this feature, we recommend to use AS3 v3.46 or lower on BIGIP. + +Refer Release Notes for [CIS v2.15](https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/docs/RELEASE-NOTES.rst) \ No newline at end of file diff --git a/helm-charts/f5-bigip-ctlr/Chart.yaml b/helm-charts/f5-bigip-ctlr/Chart.yaml index 83030d023..bed6dfd39 100644 --- a/helm-charts/f5-bigip-ctlr/Chart.yaml +++ b/helm-charts/f5-bigip-ctlr/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 description: Deploy the F5 Networks BIG-IP Controller for Kubernetes and OpenShift (k8s-bigip-ctlr). name: f5-bigip-ctlr -version: 0.0.26 +version: 0.0.27