I have nolio agent installed on Linux, which is not running under ROOT. I tried setting up RUN_AS_USER= , but on reboot, it is unable to start because it can't find the active directory user. Agent is starting before vasd has active directory user. So nolio agent fails to start for unknown user. The only way I have gotten this to work is by edit of deployer_daemon.sh to put a 'sleep 30' command in to slow down agent restart. Is there some other way to get the agent to run after vasd has completed?
What operating system (redhat, centos, etc..) and version are you using? I'm asking because there are usually ways to configure it to start only after a dependency service is started (in this case the service that makes active directory users available - which you'll also need to verify the name/info of its service).
We are running on Linux Redhat 7.5. The nolio agent is nolio_agent_linux_x64_6_4_0_b10011.
Okay. In that case I believe you should have the agent service installed here: /etc/systemd/system/nolioagent.service. If not then please have a look at this KB for more information (though 6.4 supports installing as a service in RHEL 7+): CA RA Agent not started automatically after reboot - CA Knowledge
Once the service is installed you will see, in the nolioagent.service, a section for:
Based on the documentation for systemd service start-up (this is what i usually go off of: systemd.unit ) it looks like you can specify a space separated list of values for the "After" key. So if you find out the service that makes your AD users available then you should be able to specify it after network.target.
We have tried all of the items suggested above, and it still does not work. Agent still starts before vasd service, unless we have the sleep statement. Please see attachments.
Do you know if you reloaded the systemd daemon after making those changes? I'm not a linux master by any means. And I hadn't even thought of this until your post - but it looks like it might need to be according to this Q&A:
Yes, I confirmed with my Linux admin that the reload of systemd daemon had been done. But it did not change the result.
I'd maybe recommend opening an issue to outline the steps you've taken to get this setup, any errors you're seeing that make you feel this is related to the user not being available, which files you found these errors in, and a copy of the logs directory.
Things that come to mind in troubleshooting this are:
1. Can you manually stop/start the agent via the service.
2. Were you testing whether the change to this service by rebooting the machine? If not, what test were you using?
3. Where are you seeing errors?
4. What errors are you seeing?
It might be that the vasd service is started but is not completely initialized? Your admins might help us test this in some way - maybe create a new service that is set to run/start in the same way as the nolioagent service (with the After=... statement) and runs some non-Release Automation commands to validate that your users from AD can be used. Maybe an ls output of the AgentInstallDir before and after the vasd service starts (as a part of this troubleshooting service) would in someway be helpful since I think an ls output might just show the number for the user if the userid can't be detected (not 100% sure).
It could be tricky to nail this one down. But if the issue is its ability to use those AD users made available by the vasd service then I'd imagine it will revolve around understanding how the vasd service gets initialized, how long it might take for users to be made available, and understanding what options in systemd.unit can be used to reliably wait for this dependency.