Skip to main content
Version: 3.2.x

Update to Version 3.0

Overview

CloudOps for Kubernetes release 3.0 does not contain significant infrastructure or architectural changes as compared to release 2.14. The approach and processes to upgrade from CloudOps for Kubernetes 2.14.x to 3.0.x are the same as recent 2.x releases.

The significant changes in release 3.0 are related to how software stack specifications are defined, as described in Operations Specification (ops-spec.json), to allow CloudOps for Kubernetes 3.0 to support multiple build and deployment stacks. Most of the code changes in release 3.0 are related to how the Jenkins jobs consume stack specifications. The changes are primarily changes to docker-compose.yml parameters, Jenkins job parameters, and default image tag values. Review the changes summarized below, and how they may impact your customizations or processes.

Prerequisites

Complete the upgrade to CloudOps for Kubernetes release 2.14.x before upgrading to release 3.0.x. For instructions on upgrading to release 2.14.x, see Update to version 2.14.

Preparation

  1. Review all upgrade steps and requirements described in this document.

  2. Review your custom Jenkins jobs to determine if any of them call the modified CloudOps for Kubernetes jobs listed below in Jenkins job parameter changes. If you find any such custom jobs, make plans to update them as part of the upgrade to ensure they continue to work with release 3.0.x.

  3. Remove the obsolete parameters from your docker-compose.override.yml file. The obsolete parameters are listed below in docker-compose.yml parameter changes.

  4. If you have been using customized or non-default Java, Maven or ActiveMQ versions and you want to continue using those, ensure that you update the appropriate ops-spec.json file accordingly when merging the code changes. For more information about the ops-spec.json file, see Operations Specification (ops-spec.json).

  5. If you directly customized or modified any CloudOps for Kubernetes Jenkins jobs or Groovy library files, set aside more time for code merging, as it may require more effort than in previous upgrades.

    note

    For information on the recommended approach to customizing Jenkins jobs, see Customizing Jenkins.

What Has Changed

For a list of the changes in the release, see Release Notes.

docker-compose.yml parameter changes

The docker-compose.yml file has been updated to remove some variables that are now obsolete. Review your docker-compose.override.yml file to see if you have defined the variables there. These variables have been replaced by values contained in the new ops-spec.json file. If these variables are present in docker-compose.override.yml, they will be ignored, and should be removed for consistency with this and future releases.

The following variables are affected:

  • TF_VAR_oracle_jdk_download_url
  • TF_VAR_jdk_folder_name
  • TF_VAR_maven_download_url
  • TF_VAR_maven_folder_name
  • TF_VAR_tomcat_version

Jenkins job parameter changes

Several Jenkins jobs have parameter changes in CloudOps for Kubernetes 3.0.0. Review whether you have any custom jobs that call or invoke the affected jobs and update your custom jobs where appropriate.

The Jenkins jobs with parameter changes in CloudOps for Kubernetes 3.0.0 are listed below.

Jenkins JobParameters AddedParameters Removed
build-core-imagesepCommerceBranchtomcatVersion
build-base-imageepCommerceBranch, epCommerceRepoURL, epCommerceCredentialIdtomcatVersion
build-activemqepCommerceBranch, epCommerceRepoUrl, epCommerceCredentialId
build-jenkins-agentsepCommerceBranch, buildJenkinsAgent, buildMavenAgent, epCommerceCredentialId
build-selected-docker-imagestomcatVersion
build-commerce-imagestomcatVersion
build-data-popepCommerceCredentialIdtomcatVersion
build-cortexepCommerceCredentialIdtomcatVersion
build-searchepCommerceCredentialIdtomcatVersion
build-batchepCommerceCredentialIdtomcatVersion
build-integrationepCommerceCredentialIdtomcatVersion
build-cmepCommerceCredentialIdtomcatVersion
build-data-syncepCommerceCredentialIdtomcatVersion
build-mockepCommerceCredentialIdtomcatVersion
create-and-manage-database-serverrdsEngineVersionuseLTSVersion, auroraEngineVersion, postgresRDSEngineVersion
cloudops-for-kubernetes-ciepCommerceCredentialId

Image tagging changes

Container images that are used to build components relying on specific Java, Maven, or Tomcat versions are now tagged with those versions. The specific strings used in the tags are obtained from the ops-spec.json file.

  • The value for jdkVersion is read from .java.version in the ops-spec.json file.
  • The value for mavenVersion is read from .maven.version in the ops-spec.json file.
  • The value for tomcatVersion is read from .applicationServer.version in the ops-spec.json file.
ECR RepositoryNew TagOld Tag
jenkins/maven-agentjdkVersion-mavenVersionCloudOps for Kubernetes branch name
ep/tomcattomcatVersion-jdkVersion8
/ep/amazonlinux-javajdkVersion2

Perform the Update

Follow the general instructions on updating the base infrastructure in the Upgrading CloudOps for Kubernetes documentation.

Additional Steps

Complete the following additional steps after updating the base infrastructure to CloudOps for Kubernetes 3.0.x.

  1. Rebuild the amazonlinux-java and tomcat base images, so that images with the new tags exist. A simple way to do this is to run the build-core-images Jenkins job after updating the base infrastructure.

    note

    Your Commerce image builds will fail if this step has not been completed.