Skip to main content
Version: 3.4.x

Release Notes

3.4.11

Bug Fixes

  • CLOUD-3206: Updated the bootstrap container's entrypoint.sh script to always clear the local Terraform state that manages the backend S3 bucket. This change is to avoid error message like kubernetes-bootstrap | Error: error deleting S3 Bucket (bucketname): BucketNotEmpty: The bucket you tried to delete is not empty that might occur when running docker-compose up.
  • CLOUD-3623: Updated the multi-purpose-commerce-tool Jenkins job to use a dedicated activeMqResourcingProfile parameter for ActiveMQ deployments, separate from Commerce stack resourcing. Added early validation to ensure the selected ActiveMQ profile exists in terraform/activemq/env-file, with clear error messaging when the profile is missing.
  • CLOUD-3661: Updated ActiveMQ deployments to use the Kubernetes Recreate strategy during updates. This prevents a second broker pod from being started during rollout, which avoids KahaDB lock contention.

New Features

  • CLOUD-3688: Added support for deploying an internal Eclipse P2 caching proxy service and for configuring Jenkins builds to use it. This change is to improve Self-Managed Commerce build stability by drastically reducing external Eclipse downloads across builds. It is not enabled by default. For more information about enabling it, see Eclipse P2 Caching Proxy.

3.4.10

New Features

  • CLOUD-3098: Added the adoptExistingDatabaseSecret parameter to the use-existing-database-server Jenkins job, and parameter doNotManageDatabaseSecret to the other database-management jobs, to facilitate switching database servers. See Switching Databases for more information.

Deprecations & Removals

  • CLOUD-3640: Remove the Kubernetes Dashboard from CloudOps for Kubernetes. The Kubernetes Dashboard project has been retired and archived, and is no longer being maintained. For more information, see the Kubernetes Dashboard project page.

3.4.9

Bug Fixes

  • CLOUD-3539: Increased the cortex endpoint payload ceiling from about 14KB to 40KB when using the provided optional ModSecurity WAF. With this change, requests exceeding 40KB will be blocked. The change also disables body-inspection for payloads greater than 8KB, to reduce false positives on complex JSON structures. The change introduces a new custom-rules.conf file where client-specific and environment-specific ModSecurity rule customizations can be made without modifying core WAF configuration. This change has no effect on users who are not using ModSecurity WAF.
  • SUP-5555: Updated the build display name in Jenkins job commerce-branch-validation to use the pattern #<build-number> - <triggering user>. This fixes an issue where the job number wasn't displayed and scheduled builds showed the triggering user as null. Scheduled builds now list the user as automation, making it obvious when the job ran manually versus by schedule.
  • CLOUD-3511: Updated several Jenkins jobs and related Groovy functions to properly pass and accept the epCommerceCredentialID parameter, to ensure that child jobs use the Git credentials specified by the caller. This resolves an issue where image build jobs could fail to obtain the ops-spec.json file from the ep-commerce project and then incorrectly use the fall-back file. Also refined some Jenkins job parameter descriptions.
  • CLOUD-3540: Fixed a bug in the update-waf Jenkins job which, when disabling the WAF with the deleteWAF parameter, introduced a breaking character in the configmap that caused new haproxy-ingress pods to fail to start.
  • CLOUD-3544: Updated code to improve the reliability of resource cleanup when running docker-compose up with TF_VAR_bootstrap_mode set to force-cleanup in docker-compose.override.yml.

New Features

  • CLOUD-3548: Updated the version of Rocky Linux used in the maven-agent container image.

3.4.8

New Features

  • CLOUD-3448: Updated the Maven command in Jenkins job run-cortex-system-tests to exclude setup-local-integration-test, for compatibility with the newest Self-Managed Commerce releases.

3.4.7

New Features

  • CLOUD-3449: Added a variable to docker-compose.yml for disabling version 1 of the AWS Instance Metadata Service on the EKS nodes. The default value for disable_imds_v1 is false, which keeps the behaviour consistent with previous versions of CloudOps for Kubernetes. Setting disable_imds_v1 to true would leave Instance Metadata Service version 2 enabled, which requires the use of a temporary token when accessing the metadata service. Out of the box functionality is compatible with both version 1 and version 2.
  • SUP-5050: Added a checksum annotation to the Jenkins Helm values file, which will trigger a Jenkins pod redeployment during docker-compose up if a variable value is changed. The checksum value is based on the Jenkins-specific variables defined in docker-compose.override.yml.
  • SUP-5090: Added a ModSecurity Web Application Firewall rule resolving an intermittent JSON parsing issue with incoming Jenkins webhook events. This rule only applies to webhooks configured with the generic-webhook-trigger plugin.
  • CLOUD-3464: Removed the PhantomJS binary from the Jenkins maven-agent image. This resolves maven-agent build failures related to PhantomJS downloads, and PhantomJS is no longer needed with recent Self-Managed Commerce releases.
  • CLOUD-3163: Added the create-and-manage-bastion-instance Jenkins job, which can be used to create a bastion instance in your environment. The bastion instance includes Kubernetes management tools, and access to the Elastic Kubernetes Service (EKS) cluster nodes.
  • CLOUD-3334: Added the extensionJob field to the commerce-branch-validation Jenkins job. This field can be used to trigger an additional Jenkins job to be run after the Cortex system tests complete.
  • CLOUD-3469: Added -Dsun.net.client.defaultConnectTimeout=10000 -Dsun.net.client.defaultReadTimeout=10000 to MAVEN_OPTS in the build-deployment-package, run-cortex-system-tests, run-recursive-commerce-tests, and run-select-commerce-tests Jenkins jobs. These timeout values should cause Maven HTTP transactions that become unresponsive to fail quickly rather than only failing when the Jenkins job timeout is reached.
  • CLOUD-3455: Added the stopServicesDuringDataPop parameter to the run-data-pop-tool Jenkins job. Setting this parameter to true will stop all Elastic Path Commerce application services before running the Data Population database operations. Selecting this option will cause an application outage.

Bug Fixes

  • SUP-4999: Changed the ActiveMQ pod liveness and readiness probes to use a status query command rather than a TCP connection test. In addition to providing a more complete healthcheck, this eliminates EOFException log messages caused by the previous TCP check.

3.4.6

New Features

  • CLOUD-3416: Added variables to docker-compose.yml for configuring HAProxy connection timeout values. If these variables are not defined in docker-compose.override.yml, the default values shipped with HAProxy will be used.
  • CLOUD-3406: Added Resource Profiles to the create-or-delete-activemq-container Jenkins job. The ActiveMQ Resource Profile allows specifying additional Java Virtual Machine (JVM) parameters with the EP_ACTIVEMQ_X_JVM_ARGS variable. See Configure ActiveMQ Container for more information.
  • CLOUD-3401: Added the MAXIMUM_CONNECTIONS variable to the ActiveMQ Resource Profile. This variable allows specifying the maximum simultaneous incoming connections accepted by ActiveMQ. See Configure ActiveMQ Container for more information.

Bug Fixes

  • SUP-4974: Resolved an issue with the commerce-branch-validation Jenkins job where setting the build description failed when it is triggered by a custom pipeline.

3.4.5

Bug Fixes

  • SUP-4905: Updated the service account configuration used by recent versions of the Kubernetes Dashboard Helm chart. See Post Bootstrap Tasks for updated login instructions.
  • CLOUD-3412: Revised the EKS cluster configuration to remove the vpc-cni add-on. This add-on is replaced by cilium-cni during the cluster creation process, and is not needed. Additionally, updated the kube-proxy and coredns add-ons for compatibility with the next EKS upgrade in CloudOps for Kubernetes 3.5.x.

3.4.4

New Features

  • CLOUD-3377: Updated the create-and-managed-database-server Jenkins job to set the PostgreSQL RDS recommended version to 14.15. This change only applies if databaseType is set to postgres-rds and useRecommendedVersion is set to true.

3.4.3

Bug Fixes

  • SUP-4747: Resolved an issue that prevented the New Relic pods from collecting and sending metrics when TF_VAR_enable_new_relic_k8s_data is set to false in docker-compose.override.yml.

3.4.2

New Features

  • CLOUD-3293: Added a new TF_VAR_enable_new_relic_k8s_data variable to docker-compose.yml, which allows operators to configure the New Relic agent to stop sending Kubernetes metrics data to New Relic, if desired. By default, this variable is set to false, keeping the behaviour consistent with previous CloudOps for Kubernetes releases.
  • SUP-4694: Updated the build-data-pop Jenkins job to support using amazonlinux-java as the base image. This feature requires version 4.4.7 or later of the Elastic Path Docker project.
  • CLOUD-3339: Updated cert-manager Terraform code to allow complete removal of resources when running docker-compose up with TF_VAR_bootstrap_mode set to either cleanup or force-cleanup in docker-compose.override.yml.

3.4.1

New Features

  • SUP-4522: Added a new TF_VAR_jenkins_overwrite_config variable to docker-compose.yml, which allows you to control whether the base Jenkins configuration is reset to the shipped defaults on each pod start. Setting this variable to true will overwrite custom configurations made through the Jenkins UI. By default, this variable is set to false.

3.4.0

New Features

  • CLOUD-2793: Updated the Amazon EKS Kubernetes version to 1.31. For more information on the changes, see End of Support for EKS 1.29.
  • CLOUD-3062: Added the ability to identify the currently installed CloudOps for Kubernetes version as well as the version used to configure some AWS resources. For more information, see Identifying your CloudOps Version.
  • CLOUD-3006: Updated the Kubernetes cluster nodes to Amazon Linux 2023. By default, when rebuilding the cluster node groups, the latest Amazon Linux 2023 EKS Amazon Machine Image (AMI) will be used by the new cluster members.
  • CLOUD-3131: Added a page to the documentation describing how to update CloudOps for Kubernetes container images. See Update CloudOps for Kubernetes Container Images.
  • SUP-3891: Added support for Commerce application-specific Java Virtual Machine (JVM) arguments. With this change you can now specify additional JVM arguments for the Commerce applications. To enable this you must also consume, and build your application container images with, a release of the Elastic Path Docker project that contains the corresponding SUP-3891 changes.
  • CLOUD-3205: Updated the Maven memory values used in the following Commerce build jobs: build-deployment-package, run-cortex-system-tests and run-select-commerce-tests. The JVM maximum heap size was increased from 2048m to the recommended 4000m, and native memory requests for the maven containers was increased from 5632Mi to 8Gi.
  • CLOUD-3210: Exposed parameters in the docker-compose.yml file that can be used to change the Jenkins administrator password. For more information on changing the Jenkins administrator password, see Login Credentials.
  • CLOUD-3238: Updated the default EC2 instance type from c5.2xlarge to c6a.2xlarge. Amazon's on-demand pricing for c6a.2xlarge instances is less than the on-demand pricing for c5.2xlarge instances. Self Managed Commerce build times and Self Managed Commerce application performance are both improved with the c6a.2xlarge instances as compared to c5.2xlarge instances. For information about changing the cluster instance type, see Update EKS Node Groups.
  • CLOUD-3246: Added permissions to the NodeGroupPolicy so that authorized users can access the EKS cluster members using AWS Session Manager. For information about using Session Manager, see Access and Tools.

Bug Fixes

  • CLOUD-2949: Updated the Maven Jenkins agent Dockerfile to resolve intermittent failures in the phantomjs download step.
  • SUP-3907: Updated the ModSecurity Web Application Firewall rules to resolve an issue where special characters in password and cookie header fields are blocked.
  • CLOUD-3237: Specified a missing Terraform dependency related to cert-manager configuration, to improve the reliability of the CloudOps for Kubernetes setup process.
  • SUP-4272: Added back the version line to the docker-compose.yml file to maintain backwards compatibility with older versions of Docker.
  • CLOUD-3269: Removed a line from the nexus.xml template file that had no current function but caused additional and unnecessary output in the Nexus log. The change will take effect on newly-deployed Nexus services.

Deprecations & Removals

  • CLOUD-3240: Support for Cilium is deprecated and will be removed in a future CloudOps for Kubernetes release.
  • CLOUD-2817: Obsolete upgrade tools were removed. These tools were previously used when upgrading older CloudOps for Kubernetes releases and are no longer needed.

See Deprecations and Removals.

Upgrade Instructions

For upgrade instructions, see Upgrading CloudOps for Kubernetes.