I wanted to share a little tip with everyone that recently came up with a customer I was helping. Let's say you have a scenario where you have a deployment, which consists of a process, which is made up of large number of flows, each of which in turn are densely packed with various actions (as many do).
Chances are one (or more likely many) actions rely on user/password logins. Sooner or later you may need to revisit the process design and update various actions because, for example, the login used by those actions has been retired, or perhaps the password has been updated. After spending a good hour or two hunting down all the many actions (or, hopefully for the sake of simplicity, parameters in your parameters list) that use that login and updating them, you republish the updated process, see that all appears to be running well, and go back to your normal business.
What do you do then if the next day, your system administrator comes by to inform you that they see evidence of that pesky old login still being used by your Release Automation environment? Are you ready to go back and retread all of those actions to find what you missed?
There is, thankfully, a much easier way to find where the old login is still in use:
- Login to the machine your RA agent is installed on.
- Navigate to [RAInstallDirectory]\ReleaseAutomationAgent\logs\ (older versions may use \NolioAgent\ instead).
- Open the nolio_all.log in a text editor.
- Search for the username in question.
In the following example, I'm searching the nolio_all.log for the username "james", and as it turns out, I quickly find the process is running a Delay action via user impersonation, in which "james" is the account impersonated:
2017-08-23 17:11:28,447 [ProcessInvoker-Server-0] INFO (com.nolio.platform.shared.datamodel.execution.remote.ProcessesInvoker:495) - new user process connected: james
2017-08-23 17:11:28,421 [main] DEBUG (root:186) - [james] connect successfully. sending username james
2017-08-23 17:11:28,606 [job-98316-jobServer-98316-8:Delay(P233.F2622.E2623):Delay] DEBUG (com.nolio.platform.shared.datamodel.execution.remote.ProcessesInvoker:620) - delegate executable to remote process: SleepAction
2017-08-23 17:11:28,695 [main] INFO (root:232) - [james] got executable to run - com.nolio.platform.shared.executables.actions.SleepAction
2017-08-23 17:11:28,699 [pool-1-thread-1] DEBUG (root:365) - [james] start running action [473baf1b-32e7-437c-a097-03ff100011f4] : SleepAction
2017-08-23 17:11:30,718 [Thread-23] INFO (com.nolio.platform.shared.datamodel.execution.remote.ProcessesInvoker:787) - received from james: RemoteExecutionResult: result - true, Delay action ended successfully.
action class - SleepAction
It's a handy trick to remember if you want to save yourself some time -- Just go straight to the logs and see if you can find the username and pair it to the action history.