From e66b62f40bcb29ca62c905dabe87cc6e91a6bccd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 16 Oct 2015 14:20:13 -0400 Subject: Added Propellor.Property.Spin, which can be used to make a host be a controller of other hosts. The hard part of this is avoiding loops of controllers. To make that work, a ControllerChain is passed to the host that's spun, and is added to the Info of the host being spun, where the controller property can check it to detect an avoid a loop. That needed an expansion of the CmdLine data type. I made the new ControlledRun only be used when there is a ControllerChain provided. This avoids breaking backwards compatability with old propellor deployments, as --spin still uses SimpleRun. Note: Making an old propellor deployment be controlled by a controller won't work until it's been updated to this commit, so it knows about the ControlledRun parameter. (Untested) --- propellor.cabal | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'propellor.cabal') diff --git a/propellor.cabal b/propellor.cabal index 86337505..b61d2a2f 100644 --- a/propellor.cabal +++ b/propellor.cabal @@ -94,6 +94,9 @@ Library Propellor.Property.Grub Propellor.Property.Journald Propellor.Property.Kerberos + Propellor.Property.List + Propellor.Property.LightDM + Propellor.Property.Logcheck Propellor.Property.Mount Propellor.Property.Network Propellor.Property.Nginx @@ -106,9 +109,7 @@ Library Propellor.Property.Prosody Propellor.Property.Reboot Propellor.Property.Rsync - Propellor.Property.List - Propellor.Property.LightDM - Propellor.Property.Logcheck + Propellor.Property.Spin Propellor.Property.Scheduled Propellor.Property.Service Propellor.Property.Ssh -- cgit v1.3-2-g0d8e