How to Install IBM Maximo Visual Inspection Edge with RHEL OS on Server x86 ?

cahyati sangaji (cahya)
5 min readJan 27, 2022

--

Cahyati S. Sangaji, Solution Specialist IoT and AI — PT. Sinergi Wahana Gemilang

In this article I will share my experience about the setup and installation process of IBM Maximo Visual Inspection Edge 1.3 with Redhat OS on Server x86. Note for you this installation process has been completed, you have finished installing Redhat OS on Server and Redhat subscription.

Ilustration-1:IBM Maximo Visual Inspection Edge 1.3 Welcome Page

The first step, you must be setup the server, install CUDA toolkit, install Docker and Nvidia Docker 2.

Setup Server

  1. Enable common, optional, and extra repo channels.
sudo subscription-manager repos --enable=rhel-7-server-optional-rpmssudo subscription-manager repos --enable=rhel-7-server-extras-rpmssudo subscription-manager repos --enable=rhel-7-server-rpms

2. Install packages needed for the installation.

sudo yum -y install wget nano bzip2

3. Enable the Fedora Project Extra Packages for Enterprise Linux (EPEL) repository:

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmsudo rpm -ihv epel-release-latest-7.noarch.rpm

4. Load the latest kernel or do a full update:

  • Load the latest kernel:
sudo yum install kernel-develsudo yum update kernel kernel-devel kernel-tools kernel-tools-libsreboot
  • Do a full update:
sudo yum install kernel-devel sudo yum update sudo reboot

5. NVIDIA Components: Specific udev rules (Red Hat only):

  • Copy the /lib/udev/rules.d/40-redhat.rules file to the directory for user overridden rules:
sudo cp /lib/udev/rules.d/40-redhat.rules /etc/udev/rules.d/
  • Edit the /etc/udev/rules.d/40-redhat.rules file:
sudo nano /etc/udev/rules.d/40-redhat.rules
  • Comment out the entire “Memory hotadd request” section and save the change:
# Memory hotadd request #SUBSYSTEM!="memory", ACTION!="add", GOTO="memory_hotplug_end" #PROGRAM="/bin/uname -p", RESULT=="s390*", GOTO="memory_hotplug_end"  #ENV{.state}="online" #PROGRAM="/bin/systemd-detect-virt", RESULT=="none", ENV{.state}="online_movable" #ATTR{state}=="offline", ATTR{state}="$env{.state}"  #LABEL="memory_hotplug_end"
  • Optionally, delete the first line of the file, since the file was copied to a directory where it cannot be overwritten:
# do not edit this file, it will be overwritten on update
  • Restart the system for the changes to take effect:
sudo reboot

6. Install the GPU driver (RHEL)

sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.reposudo yum clean allsudo yum -y install nvidia-driver-latest-dkms cudasudo yum -y install cuda-drivers

7. Set nvidia-persistenced to start at boot (required for ppc64le, recommended for x86):

sudo systemctl enable nvidia-persistenced

8. Restart to activate the driver.

sudo reboot

If you finish it, test with comment nvidia-smi:

Ilustration-2: nvidia-smi test (NVIDIA Cuda 11.4)

9. Install Docker and nvidia-docker2 (RHEL)

  • Install Docker:
sudo yum install docker
  • Reboot the system.
  • Ensure the Docker service is running with the following command:
sudo systemctl --now enable docker
  • And finally, test your Docker installation. We can query the version info:
sudo docker -v
  • Add the package repositories and install Nvidia-Docker2
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo yum install -y nvidia-container-toolkit sudo systemctl restart docker
  • At this point, a working setup can be tested by running a base CUDA container:
sudo docker run --rm -e NVIDIA_VISIBLE_DEVICES=all nvidia/cuda:11.0-base nvidia-smi

This should result in a console output shown below:

Ilustration-3: Nvidia-Docker2 Test

Before you begin

Before you can install Maximo Visual Inspection Edge, you must ensure that your environment meets the platform, hardware, and software requirements, and that Docker and nvidia-docker2 are installed. For more information on the required platform, hardware, and software, see Planning for Maximo Visual Inspection Edge. The Installing Docker topic contains the instructions to install Docker and nvidia-docker2.

Installing Maximo Visual Inspection Edge

Complete the following steps to install Maximo Visual Inspection Edge:

  1. On your file system, identify where you want to install Maximo Visual Inspection Edge, for example /apps.
  2. In the identified location, create a directory. The final directory in the installation path is the installation root directory and must be called vision-edge, for example, /apps/vision-edge. The following instructions use <installation root directory> for this directory.
  3. Log in to the repository where you want to download images from, which can be a custom repository or the IBM® Cloud repository. For example, to log into the IBM® Cloud repository, run the sudo docker login cp.icr.io command and provide your username and API key. In the following instructions, <docker image repository> refers to the location of the repository that you download Docker® images from.
  4. Create the required directories and files by running the following command:
sudo docker run --rm -v <installation root directory>:/opt/ibm/vision-edge -e hostname=$(hostname -f) --privileged -u root <docker image repository>/vision-edge-inception:<release version>

This command creates the installation root directory and the required sub-directories, templates, properties files, and scripts, including the startedge.sh startup script.

For example, to install release 8.4.0 of Maximo Visual Inspection Edge into the /apps/vision-edge directory by using the IBM® Cloud Docker® image repository, run the following command:

sudo docker run --rm -v /apps/vision-edge:/opt/ibm/vision-edge -e hostname=$(hostname -f) --privileged -u root cp.icr.io/cp/visualinspection/vision-edge-inception:8.4.0

5. If you want to download Docker® images from a custom image repository, edit the <installation root directory>/volume/run/var/config/vision-edge.properties file and update the PULL_REPO property with the location of the custom repository, for example, PULL_REPO=mydockerrepo.com

6. Start the application by running the following command:

sudo <installation root directory>/startedge.sh

Accept the license agreement. The startup script generates a self-signed certificate for the server, initializes the database, and starts the controller, CME, and DLE Docker® containers.

Note: The script also generates a password for the administration user, which is masadmin, and displays this password at the end of the script output. Record the password so that you can log in to the application.

Ilustration-4: Finish to install

The application is now ready for use.

References:

IBM, “Installing and uninstalling Maximo Visual Inspection Edge”.

IBM, “Prerequisites for installing IBM Maximo Visual Inspection”.

NVIDIA, ”Setting up Docker on RHEL 7”.

NVIDIA, “CUDA Toolkit 11.4, RHEL7, x86”.

--

--