diff --git a/config-joey.hs b/config-joey.hs index 7aa94bb..4525f22 100644 --- a/config-joey.hs +++ b/config-joey.hs @@ -109,6 +109,7 @@ clam = standardSystem "clam.kitenet.net" Unstable "amd64" & File.notPresent "/var/www/html/index.html" & "/var/www/index.html" `File.hasContent` ["hello, world"] & alias "helloworld.kitenet.net" + & Docker.docked oldusenetShellBox -- ssh on some extra ports to deal with horrible networks -- while travelling @@ -216,6 +217,7 @@ kite = standardSystemUnhardened "kite.kitenet.net" Testing "amd64" & Docker.configured & Docker.garbageCollected `period` Daily + & Docker.docked oldusenetShellBox diatom :: Host diatom = standardSystem "diatom.kitenet.net" (Stable "wheezy") "amd64" diff --git a/debian/changelog b/debian/changelog index af96477..3524cb0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +propellor (1.2.2) UNRELEASED; urgency=medium + + * Revert ensureProperty warning message, too many false positives in places + where Info is correctly propigated. Better approach needed. + + -- Joey Hess Sun, 21 Dec 2014 21:11:45 -0400 + propellor (1.2.1) unstable; urgency=medium * Added CryptPassword to PrivDataField, for password hashes as produced diff --git a/src/Propellor/Engine.hs b/src/Propellor/Engine.hs index dc8b2bc..f29ce1a 100644 --- a/src/Propellor/Engine.hs +++ b/src/Propellor/Engine.hs @@ -23,7 +23,6 @@ import System.FilePath import System.Directory import Propellor.Types -import Propellor.Types.Empty import Propellor.Message import Propellor.Exception import Propellor.Info @@ -36,7 +35,7 @@ import Utility.Monad mainProperties :: Host -> IO () mainProperties host = do ret <- runPropellor host $ - ensureProperties [Property "overall" (ensurePropertiesWith ensureProperty' $ hostProperties host) mempty] + ensureProperties [Property "overall" (ensureProperties $ hostProperties host) mempty] h <- mkMessageHandle whenConsole h $ setTitle "propellor: done" @@ -63,30 +62,17 @@ runEndAction host res (EndAction desc a) = actionMessageOn (hostName host) desc -- | For when code running in the Propellor monad needs to ensure a -- Property. --- --- Note that any info of the Property is not propigated out to --- the enclosing Property, and so will not be available for propellor to --- use. A warning message will be printed if this is detected. ensureProperty :: Property -> Propellor Result -ensureProperty p = do - unless (isEmpty (getInfo p)) $ - warningMessage $ "ensureProperty called on " ++ show p ++ "; will not propigate its info: " ++ show (getInfo p) - ensureProperty' p - -ensureProperty' :: Property -> Propellor Result -ensureProperty' = catchPropellor . propertySatisfy +ensureProperty = catchPropellor . propertySatisfy -- | Ensures a list of Properties, with a display of each as it runs. ensureProperties :: [Property] -> Propellor Result -ensureProperties = ensurePropertiesWith ensureProperty - -ensurePropertiesWith :: (Property -> Propellor Result) -> [Property] -> Propellor Result -ensurePropertiesWith a ps = ensure ps NoChange +ensureProperties ps = ensure ps NoChange where ensure [] rs = return rs ensure (p:ls) rs = do hn <- asks hostName - r <- actionMessageOn hn (propertyDesc p) (a p) + r <- actionMessageOn hn (propertyDesc p) (ensureProperty p) ensure ls (r <> rs) -- | Lifts an action into a different host. diff --git a/src/Propellor/Property/Docker.hs b/src/Propellor/Property/Docker.hs index b48afbb..02bda2e 100644 --- a/src/Propellor/Property/Docker.hs +++ b/src/Propellor/Property/Docker.hs @@ -456,7 +456,8 @@ chain hostlist hn s = case toContainerId s of go cid h = do changeWorkingDirectory localdir onlyProcess (provisioningLock cid) $ do - r <- runPropellor h $ ensureProperties $ hostProperties h + r <- runPropellor h $ ensureProperties $ + hostProperties h putStrLn $ "\n" ++ show r stopContainer :: ContainerId -> IO Bool