Revert ensureProperty warning message, too many false positives in places where Info is correctly propigated. Better approach needed.
This commit is contained in:
parent
7f35024ef2
commit
dc36a98fc1
|
@ -1,7 +1,7 @@
|
||||||
propellor (1.2.2) UNRELEASED; urgency=medium
|
propellor (1.2.2) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
* docker, chroot: Avoid ensureProperty warning about Info propigation,
|
* Revert ensureProperty warning message, too many false positives in places
|
||||||
which is handled properly for there.
|
where Info is correctly propigated. Better approach needed.
|
||||||
|
|
||||||
-- Joey Hess <id@joeyh.name> Sun, 21 Dec 2014 21:11:45 -0400
|
-- Joey Hess <id@joeyh.name> Sun, 21 Dec 2014 21:11:45 -0400
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,7 @@ module Propellor.Engine (
|
||||||
mainProperties,
|
mainProperties,
|
||||||
runPropellor,
|
runPropellor,
|
||||||
ensureProperty,
|
ensureProperty,
|
||||||
ensureProperty',
|
|
||||||
ensureProperties,
|
ensureProperties,
|
||||||
ensurePropertiesWith,
|
|
||||||
fromHost,
|
fromHost,
|
||||||
onlyProcess,
|
onlyProcess,
|
||||||
processChainOutput,
|
processChainOutput,
|
||||||
|
@ -25,7 +23,6 @@ import System.FilePath
|
||||||
import System.Directory
|
import System.Directory
|
||||||
|
|
||||||
import Propellor.Types
|
import Propellor.Types
|
||||||
import Propellor.Types.Empty
|
|
||||||
import Propellor.Message
|
import Propellor.Message
|
||||||
import Propellor.Exception
|
import Propellor.Exception
|
||||||
import Propellor.Info
|
import Propellor.Info
|
||||||
|
@ -38,7 +35,7 @@ import Utility.Monad
|
||||||
mainProperties :: Host -> IO ()
|
mainProperties :: Host -> IO ()
|
||||||
mainProperties host = do
|
mainProperties host = do
|
||||||
ret <- runPropellor host $
|
ret <- runPropellor host $
|
||||||
ensureProperties [Property "overall" (ensurePropertiesWith ensureProperty' $ hostProperties host) mempty]
|
ensureProperties [Property "overall" (ensureProperties $ hostProperties host) mempty]
|
||||||
h <- mkMessageHandle
|
h <- mkMessageHandle
|
||||||
whenConsole h $
|
whenConsole h $
|
||||||
setTitle "propellor: done"
|
setTitle "propellor: done"
|
||||||
|
@ -65,31 +62,17 @@ runEndAction host res (EndAction desc a) = actionMessageOn (hostName host) desc
|
||||||
|
|
||||||
-- | For when code running in the Propellor monad needs to ensure a
|
-- | For when code running in the Propellor monad needs to ensure a
|
||||||
-- Property.
|
-- 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 :: Property -> Propellor Result
|
||||||
ensureProperty p = do
|
ensureProperty = catchPropellor . propertySatisfy
|
||||||
unless (isEmpty (getInfo p)) $
|
|
||||||
warningMessage $ "ensureProperty called on " ++ show p ++ "; will not propigate its info: " ++ show (getInfo p)
|
|
||||||
ensureProperty' p
|
|
||||||
|
|
||||||
-- | ensureProperty without the warning message.
|
|
||||||
ensureProperty' :: Property -> Propellor Result
|
|
||||||
ensureProperty' = catchPropellor . propertySatisfy
|
|
||||||
|
|
||||||
-- | Ensures a list of Properties, with a display of each as it runs.
|
-- | Ensures a list of Properties, with a display of each as it runs.
|
||||||
ensureProperties :: [Property] -> Propellor Result
|
ensureProperties :: [Property] -> Propellor Result
|
||||||
ensureProperties = ensurePropertiesWith ensureProperty
|
ensureProperties ps = ensure ps NoChange
|
||||||
|
|
||||||
ensurePropertiesWith :: (Property -> Propellor Result) -> [Property] -> Propellor Result
|
|
||||||
ensurePropertiesWith a ps = ensure ps NoChange
|
|
||||||
where
|
where
|
||||||
ensure [] rs = return rs
|
ensure [] rs = return rs
|
||||||
ensure (p:ls) rs = do
|
ensure (p:ls) rs = do
|
||||||
hn <- asks hostName
|
hn <- asks hostName
|
||||||
r <- actionMessageOn hn (propertyDesc p) (a p)
|
r <- actionMessageOn hn (propertyDesc p) (ensureProperty p)
|
||||||
ensure ls (r <> rs)
|
ensure ls (r <> rs)
|
||||||
|
|
||||||
-- | Lifts an action into a different host.
|
-- | Lifts an action into a different host.
|
||||||
|
|
|
@ -137,7 +137,7 @@ chain hostlist (ChrootChain hn loc systemdonly onconsole) =
|
||||||
changeWorkingDirectory localdir
|
changeWorkingDirectory localdir
|
||||||
when onconsole forceConsole
|
when onconsole forceConsole
|
||||||
onlyProcess (provisioningLock loc) $ do
|
onlyProcess (provisioningLock loc) $ do
|
||||||
r <- runPropellor h $ ensurePropertiesWith ensureProperty' $
|
r <- runPropellor h $ ensureProperties $
|
||||||
if systemdonly
|
if systemdonly
|
||||||
then [Systemd.installed]
|
then [Systemd.installed]
|
||||||
else hostProperties h
|
else hostProperties h
|
||||||
|
|
|
@ -456,7 +456,7 @@ chain hostlist hn s = case toContainerId s of
|
||||||
go cid h = do
|
go cid h = do
|
||||||
changeWorkingDirectory localdir
|
changeWorkingDirectory localdir
|
||||||
onlyProcess (provisioningLock cid) $ do
|
onlyProcess (provisioningLock cid) $ do
|
||||||
r <- runPropellor h $ ensurePropertiesWith ensureProperty' $
|
r <- runPropellor h $ ensureProperties $
|
||||||
hostProperties h
|
hostProperties h
|
||||||
putStrLn $ "\n" ++ show r
|
putStrLn $ "\n" ++ show r
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue