HCL Commerce Version 9.1.14.0 or later

Updating IBM software in the HCL Commerce Transaction server Docker image (9.1.14.0+)

To ensure that your site remains up-to-date with any important fixes that are delivered subsequent to the latest HCL Commerce release, or to continue to use older HCL Commerce release images, this group of tasks can be used to manually rebuild custom images to include important IBM stack updates. The Transaction server Docker container (ts-app) is updated with WebSphere Application Server fix packs, interim fixes, and IBM Java SDK updates.

Before you begin

Review Updating IBM software in HCL Commerce Docker images (9.1.14.0+) for important notes, prerequisites, and contextual information about this task.

Procedure

  1. Download and extract the sample Dockerfile scripts and Installation Manager response files into the directory where you build your images.
    These sample archives place template Installation Manager response files in the correct directories. The archive also contains unique sample Dockerfiles for each stack item to illustrate how to integrate response files for each type of upgrade into the Dockerfile.

    For the Transaction server, a Dockerfile is constructed from these samples.

    The Dockerfile additions can be used to install:
    • A WebSphere Application Server fix pack.
    • One or more WebSphere Application Server interim fixes.
    • An update to the WebSphere Application Server IBM Java SDK.
    To update an image with multiple items, the associated Dockerfile will both download and extract each package individually, and then call Installation Manager multiple times to install them.
  2. For each WebSphere Application Server fix pack, interim fix, or Java SDK update, edit the associated Installation Manager response file.
    These files contain a <repository> section that describes the location of the specific installation file, and an <install> section, which includes the specific instructions to Installation Manager on what to install within the container. Each product requires this section to correctly reference its version or ID, and its features.

    Once created, the name and locations of these files will be referenced within your Dockerfile.

    1. Uncomment and configure the <repository> section.
      Point the location of the repository to the unique directory within the image where your package will be extracted to.
      For example:
      <repository location='/SETUP/tmp/packages/9.0.5.20-WAS-FP/'/>
      Note: The extracted package creates a directory with a name that is the same as the package archive name. Do not include any file extensions.
    2. Uncomment and configure the <offering> section.
      This is unique to each WebSphere Application Server fix pack, interim fix, or IBM Java SDK update, and must align with the specific package that is set as the repository. The following table highlights the different profile requirements for fix packs, interim fixes, and IBM Java SDK updates. You can obtain the value for version or id by extracting each update package and examining repository.xml.
      Prerequisite product Configuration
      WebSphere Application Server
      • To apply a fix pack, include the following, and modify the value for version.
        <offering profile='IBM WebSphere Application Server V9.0' id='com.ibm.websphere.BASE.v90' version='9.0.5009.20210823_0038' features='core.feature,ejbdeploy,thinclient,embeddablecontainer'/>
      • To apply an interim fix, include the following, and modify the value for id.
        <offering profile='IBM WebSphere Application Server V9.0' id='9.0.0.7-WS-WAS-IFPH61504'/>
        Note: You can include additional lines in order to apply multiple interim fixes.
      • To apply an IBM Java SDK update, include the following, and modify the value for version.
        <offering profile='IBM WebSphere Application Server V9.0' id='com.ibm.java.jdk.v8' version='8.0.6030.20210914_1230' features='com.ibm.sdk.8'/>
  3. Create or modify your Transaction server image Dockerfile.
    1. Using the following as a template, create or modify your Dockerfile and include values to conform to your prerequisite software update requirements.

      For each update within the image, ensure that you duplicate and modify the download, extraction, and installation steps.

      For example, if you are including a fix pack, two interim fixes, and an SDK update, there will be a total of four separate wget, unzip, and installation commands.

      # Using current image
      FROM commerce/image-name:9.1.x.x
      
      # Copy the tmp directory
      COPY SETUP/ /SETUP/
      
      # Switch to root user
      USER root
      
      # Create and enter temporary directory
      RUN mkdir -p /SETUP/tmp/packages/ && \
      cd /SETUP/tmp/packages/ && \
      
      # Download update package
      wget --user=username --password=password ftp://FTP-Server-URL/location-to-file/filename.zip && \
      
      # Extract update package to temporary directory
      unzip /SETUP/tmp/packages/filename.zip -d /SETUP/tmp/packages/filename && \
      
      # Install update package
      /opt/WebSphere/IM/eclipse/tools/imcl input /SETUP/twasResponseFile/install-file.xml -log /SETUP/twasResponseFile/install-file-log.log -acceptLicense && \
      
      # Delete temporary directory
      rm -rf /SETUP/tmp/ && \
      
      # Set non-root user file ownership
      chown -R comuser:comuser /opt/WebSphere/AppServer
      
      # Switch back to non-root user
      USER comuser
    2. HCL Commerce Version 9.1.14.0 If you are upgrading to a later WebSphere Application Server fix pack on HCL Commerce 9.1.14.0, you must complete additional steps.
      1. Log in to the My HCLSoftware portal.
      2. Locate and download HCL Commerce Enterprise V9.1.14.0 - Transaction Server Backup Folder.
      3. Copy backupFolder9.1.14.0.zip to /twas/SETUP/tmp/packages/. Create this directory if it does not exist.
      4. Include the following lines within your Dockerfile along with the other unzip commands. Ensure that this is before calling Installation Manager.
        unzip /SETUP/tmp/packages/backupFolder9.1.14.0.zip -d /SETUP/tmp/packages/backupFolder9.1.14.0 && \
        mv /SETUP/tmp/packages/backupFolder9.1.14.0/* /opt/WebSphere/AppServer/properties/patches/backup/ && \
    3. HCL Commerce Version 9.1.16.0 If you are upgrading to a later WebSphere Application Server fix pack on HCL Commerce 9.1.16.0, you must complete additional steps.
      1. Log in to the My HCLSoftware portal.
      2. Locate and download HCL Commerce Enterprise V9.1.16.0 - Transaction Server Backup Folder.
      3. Copy backupFolder9.1.16.0.zip to /twas/SETUP/tmp/packages/. Create this directory if it does not exist.
      4. Include the following lines within your Dockerfile along with the other unzip commands. Ensure that this is before calling Installation Manager.
        unzip /SETUP/tmp/packages/backupFolder9.1.16.0.zip -d /SETUP/tmp/packages/backupFolder9.1.16.0 && \
        mv /SETUP/tmp/packages/backupFolder9.1.16.0/* /opt/WebSphere/AppServer/properties/patches/backup/ && \
    4. HCL Commerce Version 9.1.17.0 If you are upgrading to a later WebSphere Application Server fix pack on HCL Commerce 9.1.17.0, you must complete additional steps.
      1. Log in to the My HCLSoftware portal.
      2. Locate and download HCL Commerce Enterprise V9.1.17.0 - Transaction Server Backup Folder.
      3. Copy backupFolder9.1.17.0.zip to /twas/SETUP/tmp/packages/. Create this directory if it does not exist.
      4. Include the following lines within your Dockerfile along with the other unzip commands. Ensure that this is before calling Installation Manager.
        unzip /SETUP/tmp/packages/backupFolder9.1.17.0.zip -d /SETUP/tmp/packages/backupFolder9.1.17.0 && \
        mv /SETUP/tmp/packages/backupFolder9.1.17.0/* /opt/WebSphere/AppServer/properties/patches/backup/ && \
    5. HCL Commerce Version 9.1.18.0 If you are upgrading to a later WebSphere Application Server fix pack on HCL Commerce 9.1.18.0, you must complete additional steps.
      1. Log in to the My HCLSoftware portal.
      2. Locate and download HCL Commerce Enterprise V9.1.18.0 - Transaction Server Backup Folder.
      3. Copy backupFolder9.1.18.0.zip to /twas/SETUP/tmp/packages/. Create this directory if it does not exist.
      4. Include the following lines within your Dockerfile along with the other unzip commands. Ensure that this is before calling Installation Manager.
        unzip /SETUP/tmp/packages/backupFolder9.1.18.0.zip -d /SETUP/tmp/packages/backupFolder9.1.18.0 && \
        mv /SETUP/tmp/packages/backupFolder9.1.18.0/* /opt/WebSphere/AppServer/properties/patches/backup/ && \
    6. HCL Commerce Version 9.1.18.1 If you are upgrading to a later WebSphere Application Server fix pack on HCL Commerce 9.1.18.2, you must complete additional steps.
      1. Log in to the My HCLSoftware portal.
      2. Locate and download HCL Commerce Enterprise V9.1.18.2 - Transaction Server Backup Folder.
      3. Copy backupFolder9.1.18.2.zip to /twas/SETUP/tmp/packages/. Create this directory if it does not exist.
      4. Include the following lines within your Dockerfile along with the other unzip commands. Ensure that this is before calling Installation Manager.
        unzip /SETUP/tmp/packages/backupFolder9.1.18.2.zip -d /SETUP/tmp/packages/backupFolder9.1.18.2 && \
        mv /SETUP/tmp/packages/backupFolder9.1.18.2/* /opt/WebSphere/AppServer/properties/patches/backup/ && \
  4. Build a new custom Docker image containing the prerequisite update changes. If you are building multiple images, repeat this step for each one.
    Run the following command with your own repository name, release version, image name, and tag.
    docker build -t commerce.companyabc.com/9.1.x.x/imagename:imagetag .
    A new image is generated using the customized Dockerfile. The created image contains each fix pack, interim fix, and/or SDK update that was configured and installed during the build process.
  5. Verify that the prerequisite software updates are successfully applied.
    1. Deploy a container with the newly created image.
      docker run -d -it --entrypoint /bin/bash -e LICENSE=accept imageid
    2. Verify the running version of the updated prerequisite software.
      Prerequisite product Version verification command
      WebSphere Application Server
      • To verify a fix pack:
        cd /opt/WebSphere/AppServer/bin
        ./versionInfo.sh
      • To verify an interim fix:
        cd /opt/WebSphere/AppServer/bin
        ./versionInfo.sh -ifixes
      • To verify the IBM Java SDK:
        cd /opt/WebSphere/AppServer/bin
        ./versionInfo.sh

Results

Your custom Docker image is generated, containing any updated prerequisite IBM software. You must repeat this process for each HCL Commerce image with IBM software in your deployment. Then, you must fully test and deploy these images into your production environment.

What to do next

Update your web server Docker images via the same procedure.