mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
On a host whose Matomo was not deployed yet, every vhost injected before web-app-matomo asked SitesManager.getSitesWithAtLeastViewAccess again and waited out uri_retry (30 retries x 2 s): 6 vhosts, 84 to 98 s each, 8.7 minutes in galaxyserver full-2. matomo_site_cache only kept a loaded list. inject.yml now caches every executed load: the list on success, none on a failed request or an error mapping. A cache of none skips the cached-id step and getSitesIdFromSiteUrl, so the existing skip task turns the injection off for the vhost as before, without the retry wait. web-app-matomo resets the cache of every play host (delegate_facts, swarm workers included) after 07_config and before 08_reinject_consumers, so the re-injection and every later vhost load the list from the now running Matomo. Evidence: the real inject.yml with the real uri_retry against a closed port and a stub Matomo, 11 vhosts in 4 scenarios: the first probe took 68.6 s, the next two 0.4 and 0.3 s with matomo off; after the reset a known site came from the cache, an unknown one went getSitesIdFromSiteUrl -> addSite and was appended, a later vhost of that domain hit the cache. HEAD inject.yml took 68 s per vhost with the same outcome. The swarm reset reached a second host. ansible-lint passes; tests/unit/python/roles/sys-front-inj-matomo pins the gates and the reset order. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>