When you install a new Boomi Atom, and the “Shared Web Server” is enabled on port 9090 (default), you sort of expect that the java atom process is immediately listening at that port.
I was searching for a method to locally query the atom for its generic status, and this page, says that a special Endpoint is always available
http://<host>:<port>/_admin/status
This Endpoint is not authenticated.
This status endpoint enables you to verify that an Atom's web server is active and ready to accept incoming web service requests. The endpoint returns an HTTP status code of 200 OK if the Atom is running and all known listeners have started. Failure to connect with the endpoint or a status code other than 200 means that the Atom is not ready to accept new requests. Knowing the status of an Atom's web server can also help you balance the workload between nodes in a Molecule or Atom Cloud more effectively.
However much I tried, I was not able to query that Endpoint.
It turned out, that no process (the atom) was listening on (default) port 9090.
sudo netstat -tapn
shows that no process is listening on port 9090
Changing configuration and restarting the atom made not change.
Googling the issue did not reveal any relevant information.
Speculating, that it might be because no “Listening” processes were deployed, I made a quick “Web Service Listen” process, and deployed it to the atom, and immediately:
sudo netstat -tapn
tcp6 0 0 :::9090 :::* LISTEN 28438/java
Even though Linux shows it as a “tcp6” port, it actually also listens on the tcp4 interface
So, it could look like that the Boomi atom actually does not start the “Listening” process, before at least one Listening process has been deployed to that atom (here disregaring the built-in one)
In the November 2021 Boomi update,
two new API operations are available to return information for the readiness and liveness probes.
The liveness operation, GET:/_admin/liveness, returns HTTP status code 200 (OK) if the container is running.
The readiness operation, GET:/_admin/readiness, returns HTTP status code 200 (OK) if the container is ready to start accepting traffic.
Users running Docker v3 images can update their stateful set configuration to use the readiness and liveness API operations. (RUN-2763)
This feature is in the Runtime Release.
Thanks for this, I was doing the same troubleshooting steps and was struck until I found this.