Bug #15188
closedAllow disabling the agent without stopping cf-serverd
Description
we have found that if you disable the agent on the root server, this prevents cf-serverd from starting, which I would guess would be intended if there was only an agent on the machine.
However, being the root server, with cf-serverd not running this then means that no agents can connect to it for policy updates, when the intended action was to only stop the root server's agent from getting a policy update.
Some form of logic needs to be devised which means that cf-serverd is not stopped if it is the rudder root server.
the disabled cf-serverd persists across a reboot if the agent is still disabled. (ie /opt/rudder/etc/agent-disabled exists)
The only current workaround is to ensure the agent is never disabled on the root server (which we usually do as a matter of course for things like distro upgrades, to prevent a policy run reverting repository lists part way)
OS: Debian 9 (Stretch), so processes being started (or disabled) by systemd units.