Hi Mark,
There would be an official patch out for this from product soon. But until then - we have two work arounds.
a) Downgrade systemd
and use yum version lock to freeze the version. [ Temporary work around ]
b) Change su -s /bin/bash
to runuser -u
. [ Patch version would have this as a fix]
Details below :
a) Downgrade systemd
Below steps are tested on Centos Version - CentOS Linux release 7.7.1908 (Core)
Systemd on Centos 7.6/7 has version of 219-67.el7_7.2
or 219-67.el7_7.1
. Downgrade it to 219-67.el7
. You might have to run dowgrade twice to get to the version 219-67.el7
yum downgrade systemd.x86_64 systemd-libs.x86_64 systemd-sysv.x86_64
Install yum version lock plugin
yum install yum-plugin-versionlock
Lock systemd and libgudev1 [ needed for odoo deployment]
yum versionlock systemd*
yum versionlock libgudev1-219-67.el7
yum versionlock list
should show below output:
0:systemd-sysv-219-67.el7.*
0:systemd-219-67.el7.*
0:systemd-libs-219-67.el7.*
0:libgudev1-219-67.el7.*
Then run the installer - Everything should run properly.
b) Change su -s /bin/bash
to runuser -u
The root cause of this issue lies around how we start the bahmni services or how we create pid files for the bahmni services.
In the LSB script files of respective services ( ex- /etc/init.d/openmrs) - We would need to replace su -s /bin/bash
with runsuser -u
in the start() and debug() methods.
Shortcut to do that in all the service configuration files is as belows:
sed -i 's:su -s /bin/bash:runuser -u:g' /etc/init.d/*
systemctl daemon-reload
Note - This has to be done during the installation whenever the installation fails after a service is installed and fails to start/stop. Rerun the installation after changing init script. The service configs come as part of respective rpms - so we cant alter them before running the installer.