Werk #22407: --no-tcp: Use only cache files for all data sources
| Component | Checks & agents | ||
| Title | --no-tcp: Use only cache files for all data sources | ||
| Date | Oct 5, 2026 | ||
| Level | Trivial Change | ||
| Class | Bug Fix | ||
| Compatibility | Incompatible - Manual interaction might be required | ||
| Checkmk versions & editions |
|
The --no-tcp option of the cmk command line promises to "only use cache files" and to
skip hosts without cache files. It kept neither promise:
- It only kept Checkmk from connecting to the Checkmk agent via TCP. Special agents, individual programs, IPMI and SNMP were still queried live.
- Cache files older than the configured maximum age were ignored, so the TCP agent reported No cached data available although a cache file existed. The cache file was then even deleted.
cmk -Iandcmk -IIwith explicit host names do not use cache files by default, and--no-tcpdid not change that. The TCP agent always failed, even with a fresh cache file.
--no-tcp now reads the cache files of all agent and SNMP data sources, whatever their
age, and never fetches live data. A data source without a cache file reports
No cached data available. Piggyback data is not affected.
This applies to all commands that accept --no-tcp, e.g. cmk --check, cmk -I,
cmk --check-discovery, cmk -i, cmk --inventorize-marked-hosts and cmk -d.
Incompatibility
If you rely on --no-tcp to still query special agents, individual programs, IPMI or SNMP
devices, omit the option for those hosts. Note that their services are now discovered from
cache files only: if a data source of a host has no cache file, cmk -I --no-tcp and
cmk -II --no-tcp report it as failed and exit with 1. As of Werk #22421, cmk -II then
keeps the services of that data source instead of removing them.