This article aims at everyone who wants to upgrade their full-text search server in VMware or Hyper-V.
1. UPDATE VMWARE/HYPER-V IMAGE (CentOS7 OS only)
- log in to your image as root and add the IceWarp rpm repository by running the command
yum-config-manager --add-repo https://rpm.icewarp.com/icewarp.repo
- Install the new yoda version
yum install yoda
This will download and start the docker container with yoda from the docker hub.
During the process, Yum will ask to import the new GPG key of the IceWarp repository. It's required to accept the key to proceed with the installation.
- Check it by executing (it should display yoda as one of the running containers)
which should display an updated yoda version.
- Install the new Mundi version
yum install mundi
This will download and install a new docker image with mundi. Please be patient, mundi docker image is about 500 MB in size and is downloaded during the installation process.
After the installation, you can check if mundi was updated similarly to yoda:
To save disk space, you should delete the old mundi docker image after the new one is running
docker rmi gitlab.icewarp.com:4567/go/mundi:2.21.0
Please note, that this cleanup must be done only once for old mundi from IceWarp gitlab. Further updates will remove older docker images automatically.
2. FURTHER UPDATES (CentOS8 or already upgraded CentOS7)
yum update yoda
yum update mundi
or update the whole system
Please note, that there will be a short service outage during switching versions. However, the old version still operates until the new one is downloaded, so the outage will be short.
3. FINE TUNING (optional)
The configuration of yoda can be fine-tuned in /etc/yoda/config/yoda.xml. Once the configuration is modified, it's required to restart the yoda container by
docker restart yoda
Mundi configuration can be fine tuned in /etc/mundi/config/mundi.xml. Restart the container once the changes are ready
docker restart mundi
Custom index path
When the yoda index path was customized to something other than default /mnt/data/yoda/index, it's needed to configure yoda rpm to respect this path.
Follow these steps:
yum install yoda
copy /etc/yoda/docker.args.default to /etc/yoda/docker.args
edit /etc/yoda/docker.args and set bind mount of /var/data/_yodaidx to customized yoda index path
yum reinstall yoda
Now yoda docker should run with a customized directory mounted to /var/data/_yodaindex, which can be checked via Docker inspect.