Friday, September 16, 2011

RAFW Control Error: "Current user is not a root user!"

When running IHS under a non-root user context you can run into some strange problems.  In this case, we had properly installed and configured our IBM HTTP Servers under a non-root user and put them under RAFW management some months ago without any issues.

Recently, however, changes to the topology required that we regenerate the RAFW environment tree.  The web servers were discovered and added into the new environment, as expected, but every attempt to start or stop them from RAFW failed with the following error:


/opt/buildforge/rafw/product/lib/jython/ant_jythonLib.xml:341: Current user is not a root user!
There were plenty of lines in the logs telling us that RAFW was connected under our non-root user context, all directory ownership and file level RWX rights were correct, and issuing commands from the local machine worked fine, but this error kept coming back!  It was frustrating and, as is often the case with RAFW and WebSphere, even the mighty Google couldn't help.

Some digging into the product directory eventually led us to the ineptly named value in the install.properties file for each of the IHS node entries in the RAFW environment tree: ALLOW_NON_ROOT_SILENT_INSTALL.  Turns out that this value is not only checked during install, but is also read during other RAFW actions!  We opened each install.properties file (\IBM\BuildForge\rafw\user\environments\prod_env\cells\cell\nodes\ihs01\install.properties in our environment) and set "ALLOW_NON_ROOT_SILENT_INSTALL = true".

BINGO!  The next run went smoothly and the following note was noticed in the logs:

[echo]  Warning: ALLOW_NON_ROOT_SILENT_INSTALL is set to true: skipping root check

Happy RAFWing!