LGTM

On Monday, February 15, 2016 at 10:39:38 AM UTC, Klaus Aehlig wrote:
>
>
> commit 8e007b3229377dafaece1b67a343c3a6c6b4373f 
> Merge: 141a836 39564fc 
> Author: Klaus Aehlig <[email protected] <javascript:>> 
> Date:   Mon Feb 15 11:23:12 2016 +0100 
>
>     Merge branch 'stable-2.16' into stable-2.17 
>     
>     * stable-2.16 
>       On group verify, only flush to group nodes 
>       Support flushing to a single group 
>       Make config distribution parametric in target group 
>     
>     Conflicts: 
>             src/Ganeti/WConfd/Core.hs: take all additions 
>     
>     Signed-off-by: Klaus Aehlig <[email protected] <javascript:>> 
>
> diff --cc src/Ganeti/WConfd/ConfigWriter.hs 
> index 92fbf34,8ffbc13..ccd562b 
> --- a/src/Ganeti/WConfd/ConfigWriter.hs 
> +++ b/src/Ganeti/WConfd/ConfigWriter.hs 
> @@@ -43,16 -43,13 +43,17 @@@ module Ganeti.WConfd.ConfigWrite 
>     , distSSConfAsyncTask 
>     ) where 
>   
>  -import Control.Applicative 
>  +import Prelude () 
>  +import Ganeti.Prelude 
>  + 
>  +import Control.Monad ((>=>), liftM, unless) 
>   import Control.Monad.Base 
>  -import Control.Monad.Error 
>  +import Control.Monad.Error.Class (MonadError) 
>   import qualified Control.Monad.State.Strict as S 
>  +import Control.Monad.Trans.Class (lift) 
>   import Control.Monad.Trans.Control 
>   import Data.Monoid 
> + import qualified Data.Set as Set 
>   
>   import Ganeti.BasicTypes 
>   import Ganeti.Errors 
> diff --cc src/Ganeti/WConfd/Core.hs 
> index 4f34dbd,73dba45..88ecafa 
> --- a/src/Ganeti/WConfd/Core.hs 
> +++ b/src/Ganeti/WConfd/Core.hs 
> @@@ -163,32 -158,13 +163,37 @@@ writeConfigAndUnlock cid cdata = d 
>   -- | Force the distribution of configuration without actually modifying 
> it. 
>   -- It is not necessary to hold a lock for this operation. 
>   flushConfig :: WConfdMonad () 
> - flushConfig = forceConfigStateDistribution 
> + flushConfig = forceConfigStateDistribution Everywhere 
> + 
> + -- | Force the distribution of configuration to a given group without 
> actually 
> + -- modifying it. It is not necessary to hold a lock for this operation. 
> + flushConfigGroup :: String -> WConfdMonad () 
> + flushConfigGroup = forceConfigStateDistribution . ToGroups . S.singleton 
>   
>  +-- *** Access to individual parts of the configuration 
>  + 
>  +-- | Get the configurable value of the maintenance interval 
>  +maintenanceRoundDelay :: WConfdMonad Int 
>  +maintenanceRoundDelay = liftM ( maintRoundDelay . configMaintenance ) 
>  +                              CW.readConfig 
>  + 
>  +-- | Get the list of jobs in the state of the maintenance daemon. 
>  +maintenanceJobs :: WConfdMonad [JobId] 
>  +maintenanceJobs = liftM ( maintJobs . configMaintenance ) CW.readConfig 
>  + 
>  +-- | Get the information related to balancing for the maintenance 
> daemon. 
>  +maintenanceBalancing :: WConfdMonad (Bool, Double) 
>  +maintenanceBalancing = liftM ((maintBalance &&& maintBalanceThreshold) 
>  +                              . configMaintenance) CW.readConfig 
>  + 
>  +-- | Get the list of recently evacuated instances. 
>  +maintenanceEvacuated :: WConfdMonad [String] 
>  +maintenanceEvacuated = liftM (maintEvacuated . configMaintenance) 
> CW.readConfig 
>  + 
>  +-- | Get the list of current incidents. 
>  +maintenanceIncidents :: WConfdMonad [Incident] 
>  +maintenanceIncidents = liftM (maintIncidents . configMaintenance) 
> CW.readConfig 
>  + 
>   -- ** Temporary reservations related functions 
>   
>   dropAllReservations :: ClientId -> WConfdMonad () 
> @@@ -419,11 -395,7 +424,12 @@@ exportedFunctions = [ 'ech 
>                       , 'unlockConfig 
>                       , 'writeConfigAndUnlock 
>                       , 'flushConfig 
> +                     , 'flushConfigGroup 
>  +                    , 'maintenanceRoundDelay 
>  +                    , 'maintenanceJobs 
>  +                    , 'maintenanceBalancing 
>  +                    , 'maintenanceEvacuated 
>  +                    , 'maintenanceIncidents 
>                       -- temporary reservations (common) 
>                       , 'dropAllReservations 
>                       -- DRBD 
> diff --cc src/Ganeti/WConfd/Monad.hs 
> index a59320f,fe78e31..b37ab9e 
> --- a/src/Ganeti/WConfd/Monad.hs 
> +++ b/src/Ganeti/WConfd/Monad.hs 
> @@@ -66,11 -66,10 +66,12 @@@ module Ganeti.WConfd.Mona 
>     , modifyTempResState 
>     , modifyTempResStateErr 
>     , readTempResState 
> +   , DistributionTarget(..) 
>     ) where 
>   
>  -import Control.Applicative 
>  +import Prelude () 
>  +import Ganeti.Prelude 
>  + 
>   import Control.Arrow ((&&&), second) 
>   import Control.Concurrent (forkIO, myThreadId) 
>   import Control.Exception.Lifted (bracket) 
> -- 
> Klaus Aehlig 
> Google Germany GmbH, Erika-Mann-Str. 33, 80636 Muenchen 
> Registergericht und -nummer: Hamburg, HRB 86891 
> Sitz der Gesellschaft: Hamburg 
> Geschaeftsfuehrer: Matthew Scott Sucherman, Paul Terence Manicle 
>

Reply via email to