I’m experiencing an issue in OpenFlow where the Node-RED agent doesn’t start reliably. I often need to click the Start button multiple times before the agent actually starts running. It seems unresponsive or delayed on the first few attempts.
Has anyone else encountered this behavior? Any known fixes or workarounds would be appreciated.
Is this self-hosted or on app.openiap.io? Either way, yes, there can be a few reasons why this could happen.
Not enough RAM. Some NPM packages (modules in NodeRED) can require a lot of RAM to be installed, causing Docker/Kubernetes to kill the pod with an OOM message. Look for messages about why it died. If using self-hosted Docker, run docker inspect <containerid> | jq '.[0].State' (find containerid using docker ps -a).
Packages that need compiling. Some packages will compile code during installation, which can sometimes cause issues, especially when CPU throttling is enabled. Check the container logs, you can see those inside opencore during the process, or using docker logs <containerid>.
Network / DNS hiccups during npm install. If you have an unstable internet connection, it can “die” during install if DNS suddenly cannot be resolved. Look for ETIMEDOUT, ECONNRESET, getaddrinfo ENOTFOUND in the container logs.
If you trigger workflows during startup, or if some of the modules you installed run code during startup, those could either have bugs that cause them to crash or increase memory usage in a non-linear way, so it sometimes works, sometimes not. You can see that in the container logs inside opencore while it happens.
If this is after a restart. If you have many agents, they will all try starting at the same time, which can cause problems if you are running on Docker with a single server to handle it all. As long as auto-start is enabled, those will start during housekeeping, but housekeeping only runs once per hour by default, resulting in some downtime.
On app.openiap.io, both the CPU is throttled and there are memory restrictions. How many modules have you installed? Do you run anything at startup? Such as using the inject node to force a workflow to run at startup? What errors do you see on the pods or running packages tab?