anders.synstad

robot v7.60 and problems with unprivileged user?

Discussion created by anders.synstad on Jun 24, 2014
Latest reply on Jun 26, 2014 by ccwells

As some of you might have noticed, NMS and UMP 7.60 GA is out. Huzzah!

 

I'm probably not the only one that have started to dig into this new release in lab environments, and I've ran into a small snag that needs more investigation, and I wonder if anyone else has as well. We are running the robot as a non-root user (hpotter, yes, small joke), and it appears robot version 7.60 refuses to run as this user.

 

controller.log:
Jun 24 12:57:12:800 [140165332322048] Controller: The current process does not have sufficient permissions to execute a marketplace probe
Jun 24 12:57:12:800 [140165332322048] Controller: Probe 'spooler' FAILED to start (command = /opt/nimsoft/robot/spooler): Unable to determine permissions

 

nimbus.log:
Jun 24 12:52:34:360 Nimbus: Too many retries used starting 'controller', next start in 1200 seconds

 

[hpotter@rhel6-x86-64 robot]$ ./controller -d 5
Jun 24 12:57:11:671 [140165332322048] Controller: WARNING: changing workdir to /opt/nimsoft/robot, debug=5
Jun 24 12:57:11:673 [140165332322048] Controller: Controller - set controller id
Jun 24 12:57:11:673 [140165332322048] Controller: Controller - set trap handling routines
Jun 24 12:57:11:673 [140165332322048] Controller: Controller - parse robot.cfg
Jun 24 12:57:11:673 [140165332322048] Controller: MyPutEnv NIM_STRICT_BINDING=0
Jun 24 12:57:11:673 [140165332322048] Controller: NIM_STRICT_BINDING=0
Jun 24 12:57:11:677 [140165332322048] Controller: Explicit controller to hub login enabled
Jun 24 12:57:11:677 [140165332322048] Controller: MyPutEnv PERL5LIB=/opt/nimsoft/perllib
Jun 24 12:57:11:677 [140165332322048] Controller: PERL5LIB=/opt/nimsoft/perllib
Jun 24 12:57:11:677 [140165332322048] Controller: MyPutEnv NIM_JRE_HOME=jre/jre6
Jun 24 12:57:11:677 [140165332322048] Controller: NIM_JRE_HOME=jre/jre6
Jun 24 12:57:11:677 [140165332322048] Controller: MyPutEnv NIM_JRE_HOME_1_6_0=jre/jre6
Jun 24 12:57:11:677 [140165332322048] Controller: NIM_JRE_HOME_1_6_0=jre/jre6
Jun 24 12:57:11:677 [140165332322048] Controller: Override origin with 'basefarm'
Jun 24 12:57:11:677 [140165332322048] Controller: MyPutEnv NIM_SSL_MODE=0
Jun 24 12:57:11:677 [140165332322048] Controller: NIM_SSL_MODE=0
Jun 24 12:57:11:677 [140165332322048] Controller: MyPutEnv NIM_SSL_CIPHER=DEFAULT
Jun 24 12:57:11:677 [140165332322048] Controller: NIM_SSL_CIPHER=DEFAULT
Jun 24 12:57:11:677 [140165332322048] Controller: SSL - init: mode=0, cipher=DEFAULT, context=OK
Jun 24 12:57:11:677 [140165332322048] Controller: Controller - set logging options
[hpotter@rhel6-x86-64 robot]$

 

It just stops. If I run "controller -d 5" as root, it runs just fine.

 

Of course, the changelog (http://support.nimsoft.com/unsecure/archive.aspx?id=55) only contains: "Package that is included in the NMS 7.60 distribution.". The releases notes contains no information related to any changes in the robot that could affect this: http://docs.nimsoft.com/prodhelp/en_US/Monitor/7.6/ReleaseNotes/ReleaseNotesandUpgradeGuide-7.6.pdf

 

Anyone else run into this with robot version 7.60 ?

 

Strace doesn't help much more either:

getcwd("/opt/nimsoft"..., 256)          = 13 chdir("/opt/nimsoft/robot")             = 0 getcwd("/opt/nimsoft/robot"..., 256)    = 19 stat("/opt/nimsoft/robot/spooler", {st_mode=S_IFREG|0755, st_size=1893395, ...}) = 0 getuid()                                = 226 getgid()                                = 226 getuid()                                = 226 gettimeofday({1403614628, 552733}, NULL) = 0 write(3, "Jun 24 14:57:08:552 [47981414521984] Controller: The current process does not have sufficient permissions to execute a marketpla"..., 137) = 137 gettimeofday({1403614628, 552775}, NULL) = 0 write(3, "Jun 24 14:57:08:552 [47981414521984] Controller: Probe 'spooler' FAILED to start (command = /opt/nimsoft/robot/spooler): Unable "..., 153) = 153 exit_group(1)                           = ?

It basically stats /opt/nimsoft/robot/spooler, then prints the 2 last loglines and exits.

 

My gut feeling is telling me they have messed up something in the robot when adding the marketplace permission stuff.

Outcomes