Release Notes
2.11.8
Bug fixes
CLOUD-2975: Set Alpine Linux container image version to3.18.5for compatibility with the AWS CLI.
2.11.7
Bug fixes
SUP-2584: Updatedcluster-autoscalerimage source to replace deprecatedgcr.ioURL.
2.11.6
Bug fixes
CLOUD-2784: Hard coded themoversion to2.4.1because the latest release is incompatible with the version of bash used by CloudOps for Kubernetes.CLOUD-2781: Updated URL formoto bypass an HTTP redirect and improve the reliability of the download.
2.11.5
Bug fixes
CLOUD-2711: Install the bash package before building the Jenkins jobbuild-jenkins-agentsto fix the errorenv: can't execute 'bash': No such file or directorywhen building the Jenkins agents.
2.11.4
Bug fixes
CLOUD-2709: Adjusted how theloginToAWSfunction attempts retries on failure.
2.11.3
Bug fixes
CLOUD-2695: Addedsleep(10)before code checkouts in Jenkins jobs to reduce the occurrence of anunable to create new native threaderror that causes jobs to occasionally fail. This workaround was described in Jenkins issue JENKINS-65873.SUP-2070: Updated the wait-for-pod.sh script to retry the AWS authentication whenawscli commands return with an error. This will make Jenkins jobs, including therun-data-pop-tooljob, more resilient to AWS API errors.
2.11.2
Bug fixes
SUP-1670: Fixed a bug in the ActiveMQ and Self Managed Commerce deployments in themulti-purpose-commerce-toolJenkins ifallowOpenAccessis set to true for a0.0.0.0/0allow list.SUP-1690: Fixed a bug in the bootstrap setup process of CloudOps for Kuberenetes, where AWS CodeCommit URLs were interpreted as invalid.
2.11.1
Bug fixes
CLOUD-2604Fixed a bug with Kubernetes API version mismatching that caused warnings to appear in job logs.CLOUD-2611: Fixed a bug in the setup of the cluster, where the old and undocumented method of setting up Extensions repositories was corrupting theextensions-configConfigMap and breaking Jenkins jobs.SUP-1670: Changed the URL of thekube-state-metricsimage.
2.11.0
New features
CLOUD-362: Build and run the Self Managed Commerce images with the non-root userapp_runnerwith user ID 10001. This includes the creation of a user home directory,/home/app_runner.
Ensure that you do the following while upgrading to CloudOps for Kubernetes release 2.11.x:
- CloudOps for Kubernetes release `2.11.x` requires non-root Self Managed Commerce containers due to security context changes. All containerized Self Managed Commerce services must run as a user with user ID 10001. As a result, CloudOps for Kubernetes release `2.11.x` requires that you upgrade your Elastic Path Docker release to `4.2.x`.
- You must rebuild all container images with Elastic Path Docker release `4.2.x`
- You must update the containers of all components in your Self Managed Commerce environments to use the new non-root containers. This includes Self Managed Commerce services deployed by the `deploy-or-delete-commerce-stack` Jenkins job, ActiveMQ services deployed by the `create-or-delete-activemq-container` job, and any containerized MySQL database services deployed by the `create-or-delete-mysql-container` job.
For information on how to upgrade from CloudOps for Kubernetes v2.10.x and update any existing EP Commerce stacks, see Update from version 2.10.0.
CLOUD-501: Added a PersistentVolumeClaim to all Commerce services so that Java heap dumps will be available to troubleshoot errors such as OutOfMemory errors. For information on how to retrieve the heap dump files see Getting the Heap Dump of a Self Managed Commerce Application.CLOUD-2389: Introduced individualmax_surgeandmax_unavailablevalues to the Self Managed Commerce services, excluding search master.CLOUD-2514: Added a new Jenkins job calleduse-existing-database-serverthat will create a new database or register an existing database on an existing database server to be used in a Self Managed Commerce deployment.CLOUD-2551: Updated the Jenkins IAM policy and removed any unused permissions.CLOUD-2564: Updated the implementation of themulti-purpose-commerce-toolJenkins job to find the cause of failures easily. The job no longer rely on the functions in the job, and makes getting information about each job and the failed child job easier. The job is also updated so that the log of child jobs is not printed in the console of the parent job, which shows the failed job in the parent job log. Finally, the functions that call the child jobs are from the shared librarylib/buildlib.groovy, simplifying the Jenkinsfile of themulti-purpose-commerce-tooljob.CLOUD-2558: Added thecreate-and-manage-database-serverJenkins job. This job supports the creation and management of Aurora MySQL RDS clusters as well as PostgresSQL RDS database instances. Self Managed Commerce version8.3and later supports PostgresSQL database servers. For more information on the creation and management of these database servers, see here.CLOUD-2578: Removed theHADeploydeployment option from thecreate-or-delete-activemq-containerJenkins job. This disables the Highly Available (HA) deployment option and forces all new deployments to be single instance with an Elastic File System (EFS) volume. Existing HA ActiveMQ deployments can be migrated from the Jenkins job through a multi-step confirmation process. Existing single instance ActiveMQ deployments with an Elastic Block Store (EBS) volume cannot be migrated and must be destroyed and recreated in a new single instance EFS volume format. The architecture change was applied to prevent the scenario where an EFS volume is disconnected. This might lead to multiple active brokers and a corrupted ActiveMQ state. For detailed explanation of the scenario and the Self Managed Commerce Outbox Pattern patch, see here.CLOUD-2462Removed the options to deploy Grafana and Prometheus tools.CLOUD-2481Added themanage-secure-configJenkins job in theCommerce Deployview. This job manages a Kubernetes secret that stores all of the necessary information that is created in the Injecting Commerce Configuration at Runtime documentation. Themanage-secure-configJenkins job is now the recommended way to manage the credentials and the repository configuration used in secure Self Managed Commerce deployments. Therun-data-pop-toolJenkins job can also now optionally consume the secret created by themanage-secure-configJenkins job when thedata-poptool is ran. Using the parameters for secure Self Managed Commerce deployments in thedeploy-or-delete-commerce-stack, Jenkins job is now deprecated.CLOUD-2527Introduced a new Extensions framework that allows users to extend the capabilities of CloudOps for Kubernetes. The framework allows users to create and use Extensions Git repositories with custom Jenkins jobs. For steps to import and configure an Extensions repository, see here. For more documentation describing the benefits of using the Extensions framework to extend CloudOps for Kubernetes, see here. Jobs written for Extensions repositories can be used to store custom configuration values to wrap around default jobs in CloudOps for Kubernetes, or can contain custom functionality and infrastructure code for completely new jobs that are not supported in CloudOps for Kubernetes. An Extensions repository follows a specific architecture to be properly consumed and tracked by the Extensions framework. For more information about the architecture behind the framework and an Extensions repository, see here. We recommend you to write your own Extensions repository to bring customization in CloudOps for Kubernetes clusters. For more information on how to write an Extensions repository, see here.CLOUD-2572: Upgraded ActiveMQ in the Docker repository to version to5.16.4. If you want to consume theCLOUD-2572change in an existing ActiveMQ deployment in CloudOps for Kubernetes, do the following steps outlined here.SUP-1158: Decreased the frequency of thecleanup-release-artifactsJenkins job. ThenumberOfVersionsToKeepandCleanup EP-Release ArtifactsNexus configuration value was increased from0to10. To change thenumberOfVersionsToKeep, the Nexus configuration change must be applied through a configuration reset. For more information on the management of Nexus and the new Jenkins job, see Manage Nexus Artifacts. Added themodify-cleanup-release-artifacts-scheduleJenkins job to the newNexusview in Jenkins. The new job configures the schedule that thecleanup-release-artifactsruns in a persistent way so that it is not overwritten to the default when Jenkins restarts or thebootstrapJenkins job runs.
Bug fixes
CLOUD-2117: ChangedMAVEN_OPTSto use a smaller default heap size for maven containers.CLOUD-2464: Updated the implementation of thecommerce-branch-validationandcommerce-test-and-deployJenkins jobs to find the cause of failures easily. The jobs no longer rely on themulti-purpose-commerce-tooljob, instead the job calls child jobs directly, and makes getting information about each job and the failed child job easier. The jobs are also updated so that the log of child jobs is not printed in the console of the parent job, which shows the failed job in the parent job log. Finally, the functions that call the child jobs are added into the shared librarylib/buildlib.groovy, simplifying the Jenkinsfiles of thecommerce-branch-validationandcommerce-test-and-deployJenkins jobs.CLOUD-2517: Removed the importation of theeplibgroovy library from thebuildlibgroovy library.CLOUD-2518: Updated minimum Identity and Access Management (IAM) policy to exclude Web Application Firewall (WAF) and Shield resources.CLOUD-2519: Added specific exceptions to the ModSecurity Web Application Firewall (WAF) rules for Grafana.CLOUD-2539: Added custom rules to the ModSecurity Web Application Firewall (WAF) to mitigate against Log4Shell CVE-2021-44228.CLOUD-2577: Updated thedeploy-or-delete-commerce-stackJenkins job, so that web links, to access services of the deployed Self Managed Commerce stack, are printed in the job’s build console output. Corrected some minor spelling and text formatting errors in the descriptions of various Jenkins jobs and parameters, in the Jenkins user interface.CLOUD-2591: Hard coded theeksctlversion to0.90.0to avoid sending theoverrideBootstrapCommandcommands to theeksctltemplate.CLOUD-2604: Hard coded thekubectlversion to1.21in the Jenkins agent containers and the bootstrap container to match the version of the Kubernetes cluster.SUP-1014: Adjusted theJAVA_OPTSenvironment variable in the Jenkins agent containers to correct thejava.lang.OutOfMemoryError: unable to create new native threaderror.SUP-1158: Fixed a bug in thecleanup-release-artifactsJenkins job when referencing the wrong Jenkins view.SUP-1607: Work aroundaws-clibug 6920 that causeskubectlcommands to fail due to an improperly-formatted kubeconfig file.