It’s a beautiful thing to have Dynatrace calling the REST API of AWX to make things happen, but Dynatrace does not do asynchronous calls. It cannot delay anything, so the /launch call returns from AWX in millis and gets marked a success in Dynatrace without regard to whether the job succeeded or not.
I can make Dynatrace parse the job number from the /launch and call back to get the status of the job, but 30ms later, the job is always running (or pending or something). I cannot make Dynatrace wait the necessary 4+ seconds for a result. We’ve built wait loops in OpenShift and Powershell for this, but I cannot build a wait loop into Dynatrace since it’s all JavaScript (without the Promise/await options).
I see no way to do this, except to build an external service that proxies the launch of the AWX job and blocks until finished. Am I missing something? It sure seems like a service option more than one person would value. I know I don’t relish maintaining a second web site to call AWX, but I know my customers would LOVE not having to do the whole parse and wait loop.
Isn’t this really a Dynatrace issue? Should you open a case with Dynatrace and ask for the feature you need it to have?
Walter
This information is output from the Dynatrace issue I opened. Having a synchronous way of launching a job would be an AWX feature. We’ve built the loop and wait functions and they work, but they’re unpleasant. This feature would be loved.
Kevin
Hello,
You may want to look into eda-server, which you can view here: https://github.com/ansible/eda-server This may be helpful. Please let us know if it does help!
Thank you. This is exactly what I was hoping to hear existed. I sure wish I had the skills to be sure I could run with it. It’s Docker-only and I’m stuck with Openshift-only. A skilled admin might be able to recompile everything, but I’m not that guy. :-/
Kevin
o/ Kevin,
If you are looking to install eda-server on Openshift, there is an operator for doing so. If you are an AAP customer, you can use the built-in EDA operator; if not, there is an upstream here:
There are docs in the top level README.md for installing the operator on your cluster and deploying EDA.
Thanks,
AWX Team