IBM Support

Fix readme for 5.0.0.1-IBM-IMA-IFIT28839

Fix Readme


Abstract

This readme describes the contents and fixes included in new interim fix 5.0.0.1-IBM-IMA-IFIT28839

Content

Interim Fix: 5.0.0.1-IBM-IMA-IFIT28839
Date: April 26, 2019
Build: 20190422-1817
IBM MessageSight 5.0.0.1 Cumulative interim fix

(Note: all MessageSight 5.x ifixes and fixpacks are cumulative.  In addition, because of the nature of the fix packaging for 5.0, any published fix can be used for the base install of MessageSight.  It is recommend to install the latest IFIX or FP as the initial install of the product.)

Fix Details

Component md5sum File
Bridge 2f74915b10102e06e6a9e3398fa9e3bc 5.0.0.1-IBM-IMA-IFIT28839-Bridge.tz
Server 266ad545c6ecd9e0d14ac957ba3d0a89 5.0.0.1-IBM-IMA-IFIT28839-Server.tz
WebUI 0d60619bafe26dee6263b3c14bc10edc 5.0.0.1-IBM-IMA-IFIT28839-WebUI.tz

APARs fixed in this build

APAR Description
IT28456 Impacted by java CVEs: CVE-2018-12549, CVE-2019-2449, CVE-2019-2422, CVE-2018-12547
IT28477 Core dump generate after client steal
IT28548 Remove spaces in Policies items before storing in dynamic config
IT28548 REST API validation code allows users to create policies with "/" in the name
IT28627 JVM not updated when upgrading MessageSight/Message Gateway
IT28726 Trap in replySubscription when connection is closed during async (5 & +)
IT28839 We send wrong PUBRELs with DUP flag set
IT29063 ClientSet DELETE sometimes returns incorrect response.
IT28917 imabridge can't be installed as non-root on a clean system
IT28918 Issue of bridge forwarding after dynamic config
IT28919 REST API for Monitor Subscription/MQTTClient returns 404 instead of empty object
IT28920 Proxy retries connection to same slot when DNS resolution fails
IT28921 Bridge: Bridge fails connect to PROXY, NO retry after 1 failed CONNECT
IT28922 Change return codes for imabridge -u; RC 1 -> 113, RC 2 -> 103, RC 3 -> 114
IT28923 DeleteClientSet repeats the delete on Server Restart
IT28924 CRL download does not get the complete contents
IT28925 LDAP servers on 127.0.0.1/localhost cryptically banned

Fix Instructions:

Before you install:

We strongly recommend performing a backup before upgrading the product software:

Backup and restore instructions

1. Preparing to install the fix:

Prepare the IBM IoT MessageGateway .tz files for installation.  The preparation steps for installing MessageGateway as an update or for the first time are the same.  For more information, see Preparing the IBM IoT MessageGateway .tz packages for installation .

These instructions will focus on providing instructions for updating MessageSight.  See the following instructions for installing MessageGateway for the first time:

Installing IBM IoT MessageGateway

2. Installing the fix:

A. RPM: In an environment where MessageGateway is installed with rpm:

I. Updating the MessageGateway package if Server is installed:

      cd imaserver

      sudo  yum -y --nogpgcheck update IBMWIoTPMessageGatewayServer*.rpm

      systemctl start IBMIoTMessageSightServer

II. Updating the MessageSight WebUI package if the WebUI is installed:

      cd imawebui

      sudo yum -y --nogpgcheck update IBMWIoTPMessageGatewayWebUI*.rpm

      systemctl start IBMIoTMessageSightWebUI

II. Updating the MessageSight Bridge package if the Bridge is installed:

      cd imabridge

      sudo  yum -y --nogpgcheck update IBMWIoTPMessageGatewayBridge*.rpm

      systemctl start IBMIoTMessageSightBridge

NOTE: these packages can also be installed using: rpm -Uvh IBMWIoTPMessageGateway*.rpm. However, you must never update using:

yum install IBMWIoTPMessageGatewayServer*.rpm

or uninstall and reinstall with rpm or yum (if you wish to preserve your existing data), since this will remove all of your data and config under /var/messagesight.

B. Docker: Installing the fix in an environment where IBMWIoTPMessageGateway is running in docker:

I. Build the IBM IoT MessageSight Docker image.

Build the IBM IoT MessageGateway server image by issuing the following command:

cd imaserver

mv *.rpm imaserver.rpm

docker build --force-rm=true -t <server_image_name>:<fix_version>.<build> .

Eg:

docker build --force-rm=true -t imaserver:5.0.0.0.20190422-2029 .

II. Build the IBM IoT MessageGateway Web UI image by issuing the following command:

cd imawebui

mv *.rpm imawebui.rpm

docker build --force-rm=true -t <webui_image_name>:<fix_version>.<build> .

Eg:

docker build --force-rm=true -t imawebui:5.0.0.0.20190422-2029 .

III. Build the IBM IoT MessageGateway Bridge image by issuing the following command:

cd imabridge

mv *.rpm imabridge.rpm

docker build --force-rm=true -t <bridge_image_name>:<fix_version>.<build> .

Eg:

docker build --force-rm=true -t imabridge:5.0.0.0.20190422-2029 .

III.  Stop the existing containers.

Stop the server container by issuing the following command:

docker stop <server_container_name>

where <server_container_name> is the name of the container in which the IBM IoT MessageGateway server is running. For example,

docker stop imaserver

Stop the Web UI container by issuing the following command:

docker stop <webui_container_name>

where <webui_container_name> is the name of the container in which the IBM IoT MessageGateway Web UI is running. For example,

docker stop imawebui

Stop the Bridge container by issuing the following command:

docker stop <bridge_container_name>

where <bridge_container_name> is the name of the container in which the IBM IoT MessageGateway Bridge is running. For example,

docker stop imabridge

IV. Remove the containers.

Remove the server container by issuing the following command:

docker rm <server_container_name>

where <server_container_name> is the name of the container in which the IBM IoT MessageGateway server was running. For example,

docker rm imaserver

Remove the Web UI container by issuing the following command:

docker rm <webui_container_name>

where <webui_container_name> is the name of the container in which the IBM IoT MessageGateway Web UI was running. For example,

docker rm imawebui

Remove the Bridge container by issuing the following command:

docker rm <bridge_container_name>

where <bridge_container_name> is the name of the container in which the IBM IoT MessageGateway Bridge was running. For example,

docker rm imabridge

V.  Remove the old MessageGateway images (optional)

This step is only required if you are not tagging MessageGateway docker images with version specific tags.  For example, if you build a MessageGateway docker image like this:

docker build --force-rm=true -t imaserver:5.0 .

for every version of MessageGateway, then you need to remove the previous image by issuing the following command(s), before building the update image:

docker rmi -f $(docker ps | grep imaserver | awk '{print $3}')

Remove the IBM IoT MessageGateway Web UI image by issuing the following command:

docker rmi -f $(docker ps | grep imawebui | awk '{print $3}')

Remove the IBM IoT MessageGateway Bridge image by issuing the following command:

docker rmi -f $(docker ps | grep imabridge | awk '{print $3}')

If, however, you tag each MessageGateway image with a build specific version, eg:

docker build --force-rm=true -t imaserver:<fix_version>.<build> .

then this step is not required.

VI.  Start the new containers.

Use the same Docker run command that you had used for previous incarnations of the MessageGateway containers.

Here's the general syntax for how to start the IBM IoT MessageGateway server container:

docker run --cap-add SYS_ADMIN --net=host -P -it --name=<server_container_name> -env-file=IBMIoTMessageGatewayServer-docker.env -m <memory> -v <local_data_directory>:/var/messagesight -v <local_temp_directory>:/var/tmp -d <server_image_name>:<fix_version>.<build>

A more concrete example:

docker run --cap-add SYS_ADMIN --net=host -P -it --name=imaserver -env-file=IBMIoTMessageGatewayServer-docker.env -m 64G -v /data/messagesight:/var/messagesight -v /mnt/tmp:/var/tmp -d imaserver:5.0.0.0.20190422-2029

To start the IBM IoT MessageSight Web UI container:

docker run --cap-add SYS_ADMIN --net=host -P -it --name=<webui_container_name> --env-file=IBMIoTMessageSightServer-docker.env -m <memory> -v <local_data_directory>:/var/messagesight -v <local_temp_directory>:/var/tmp -d <webui_image_name>:<fix_version>.<build>

A more concrete example:

docker run --cap-add SYS_ADMIN --net=host -P -it --name=imawebui --env-file=IBMIoTMessageGatewayServer-docker.env -m 2G -v /data/messagesight:/var/messagesight -v /mnt/tmp:/var/tmp -d imawebui:5.0.0.0.20190422-2029

To start the IBM IoT MessageSight Bridge container:

docker run --cap-add SYS_ADMIN --net=host -P -it --name=<bridge_container_name> --env-file=IBMIoTMessageGatewayBridge-docker.env -m <memory> -v <local_data_directory>:/var/messagesight -v <local_temp_directory>:/var/tmp -d <bridge_image_name>:<fix_version>.<build>

A more concrete example:

docker run --net=host -P -it --name=imabridge --env-file=IBMIoTMessageGatewayBridge-docker.env -m 2G -v /data/messagesight:/var/messagesight -v /mnt/tmp:/var/tmp -d imabridge:5.0.0.0.20190422-2029

3. Verifying the installation:

If this is your initial install of the product see Configuring the licensed usage for IBM IoT MessageGateway and accepting the license by using REST Administration APIs for accepting the product license .

If this is an update, then you can verify the status of the server see Viewing the status of an IBM IoT MessageGateway server and services by using REST Administration APIs .

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSWMAJ","label":"IBM IoT MessageSight"},"Component":"","Platform":[],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
08 May 2019

UID

ibm10882964