Bug #23192
openWarn or error out if crunch-run cannot choose an interface address for local keepstore
Description
Currently, crunch-run tries to run local keepstore on a random port on a (non-loopback) local interface address, but if it can't figure out such an address for any reason, it runs keepstore on 0.0.0.0 and sets ARVADOS_KEEP_SERVICES=http://0.0.0.0:{port}/.
Although this works fine for arv-mount, saving logs, etc., this does not work if the container is running arvados-cwl-runner (or anything else that connects to Keep directly) -- the container process cannot connect to the host via 0.0.0.0:{port}.
(unless -container-network-mode=host, which it typically is not)
- Log an explanation that keepstore will be unreachable from the container because X (couldn't get list of network addresses / all configured addresses are loopback addresses)
- Maybe error out -- or maybe not, since we can't be sure the container will actually depend on connecting to keepstore unless we see that the command is arvados-cwl-runner
Updated by Brett Smith 6 months ago
What if we just didn't set ARVADOS_KEEP_SERVICES for the container in this case? I think then the container would fall back to using the cluster's configured keepstores, which might be slower but seems most likely to keep everything working, right?