Bug #14080
closedHuge latency between inventory sent and inventory appears in Rudder
Description
There is a huge latency between the moment someone run "rudder agent inventory" on a node and the moment the corresponding node appears in new nodes.
This is due to the need for rudder agent to run on the root server, which can take up to 5 minutes.
Every and all Rudder users hate that behavior. There is a workaround with a perl file watcher that removes that latency (see: https://github.com/Normation/rudder-tools/tree/master/contrib/rudder-inventory-daemon) but it is not native to Rudder, so the user first experience is still poor.
So, we need to add the file watcher directly into Rudder. By doing that, we also remove the need to send inventories by HTTP from localhost to localhost...
We still need to keep the old REST API, because file watchers are not very robust and so we have rudder agent to keep missed inventories.
We also need to be able to not use the file watcher (by configuration file), and to control it (start/stop/restart) by API.