The bullseye swift frontends that are _not_ the ring_manager are being flagged for puppet changing every run - this is ms-fe[1-2]0[10-12].
An example of this is https://puppetboard.wikimedia.org/report/ms-fe1010.eqiad.wmnet/d560127136686e70ffda8ce95c70a5de3a30ccf4
You can see that puppet is starting up the rsync service; which doesn't work because there is no rsync.conf:
Condition: start condition failed at Tue 2022-06-21 12:43:47 UTC; 19min ago └─ ConditionPathExists=/etc/rsyncd.conf was not met
But these nodes shouldn't be trying to run an rsync daemon anyway, I think, because these nodes have the $ensure parameter of swift::ring_manager set to 'absent', which they are passing to rsync::server::module:
https://github.com/wikimedia/puppet/blob/726260c85eb62eea5c7a69ae697d34aa65143ce1/modules/swift/manifests/ring_manager.pp#L71
rsync::server::module: does include ::rsync::server (I presume so that having more than one rsync::server::module on a system will work?), but rsync::server has $ensure_service which isn't set by rsync::server::module, which is how these systems are ending up with an unconfigured rsync daemon that then results in these always-changing puppet problems.
Could you suggest how to achieve the desired result, please? [rsync running on the ring_manager hosts, but not elsewhere]