These tags are only used by the htools, hence group them together with the other htools-controlling tags.
Signed-off-by: Klaus Aehlig <[email protected]> --- src/Ganeti/Constants.hs | 20 +++----------------- src/Ganeti/HTools/Loader.hs | 5 ++--- src/Ganeti/HTools/Program/Harep.hs | 9 +++++---- src/Ganeti/HTools/Tags.hs | 21 +++++++++++++++++++++ 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/Ganeti/Constants.hs b/src/Ganeti/Constants.hs index c54c75e..acc0b59 100644 --- a/src/Ganeti/Constants.hs +++ b/src/Ganeti/Constants.hs @@ -54,8 +54,8 @@ import qualified AutoConf import Ganeti.ConstantUtils (PythonChar(..), FrozenSet, Protocol(..), buildVersion) import qualified Ganeti.ConstantUtils as ConstantUtils -import Ganeti.HTools.Types (AutoRepairResult(..), AutoRepairType(..)) import qualified Ganeti.HTools.Types as Types +import Ganeti.HTools.Types (AutoRepairResult(..), AutoRepairType(..)) import Ganeti.Logging (SyslogUsage(..)) import qualified Ganeti.Logging as Logging (syslogUsageToRaw) import qualified Ganeti.Runtime as Runtime @@ -4654,22 +4654,6 @@ opcodeReasonSources = randomUuidFile :: String randomUuidFile = ConstantUtils.randomUuidFile --- * Auto-repair tag prefixes - -autoRepairTagPrefix :: String -autoRepairTagPrefix = "ganeti:watcher:autorepair:" - -autoRepairTagEnabled :: String -autoRepairTagEnabled = autoRepairTagPrefix - -autoRepairTagPending :: String -autoRepairTagPending = autoRepairTagPrefix ++ "pending:" - -autoRepairTagResult :: String -autoRepairTagResult = autoRepairTagPrefix ++ "result:" - -autoRepairTagSuspended :: String -autoRepairTagSuspended = autoRepairTagPrefix ++ "suspend:" -- * Auto-repair levels @@ -4707,6 +4691,8 @@ autoRepairAllResults :: FrozenSet String autoRepairAllResults = ConstantUtils.mkSet [autoRepairEnoperm, autoRepairFailure, autoRepairSuccess] + + -- | The version identifier for builtin data collectors builtinDataCollectorVersion :: String builtinDataCollectorVersion = "B" diff --git a/src/Ganeti/HTools/Loader.hs b/src/Ganeti/HTools/Loader.hs index 3db7381..bd5e42f 100644 --- a/src/Ganeti/HTools/Loader.hs +++ b/src/Ganeti/HTools/Loader.hs @@ -68,7 +68,6 @@ import qualified Ganeti.HTools.Group as Group import qualified Ganeti.HTools.Cluster as Cluster import Ganeti.BasicTypes -import qualified Ganeti.Constants as C import qualified Ganeti.HTools.Tags as Tags import Ganeti.HTools.Types import Ganeti.Utils @@ -225,8 +224,8 @@ setArPolicy ctags gl nl il time = getArPolicy :: [String] -> ClockTime -> Maybe AutoRepairPolicy getArPolicy tags time = let enabled = mapMaybe (autoRepairTypeFromRaw <=< - chompPrefix C.autoRepairTagEnabled) tags - suspended = mapMaybe (chompPrefix C.autoRepairTagSuspended) tags + chompPrefix Tags.autoRepairTagEnabled) tags + suspended = mapMaybe (chompPrefix Tags.autoRepairTagSuspended) tags futureTs = filter (> time) . map (flip TOD 0) $ mapMaybe (tryRead "auto-repair suspend time") suspended in diff --git a/src/Ganeti/HTools/Program/Harep.hs b/src/Ganeti/HTools/Program/Harep.hs index 84588ab..ee2299d 100644 --- a/src/Ganeti/HTools/Program/Harep.hs +++ b/src/Ganeti/HTools/Program/Harep.hs @@ -63,6 +63,7 @@ import qualified Ganeti.Path as Path import Ganeti.HTools.CLI import Ganeti.HTools.Loader import Ganeti.HTools.ExtLoader +import qualified Ganeti.HTools.Tags as Tags import Ganeti.HTools.Types import qualified Ganeti.HTools.Container as Container import qualified Ganeti.HTools.Instance as Instance @@ -93,13 +94,13 @@ data InstanceData = InstanceData { arInstance :: Instance.Instance parseInitTag :: String -> Maybe AutoRepairData parseInitTag tag = let parsePending = do - subtag <- chompPrefix C.autoRepairTagPending tag + subtag <- chompPrefix Tags.autoRepairTagPending tag case sepSplit ':' subtag of [rtype, uuid, ts, jobs] -> makeArData rtype uuid ts jobs _ -> fail ("Invalid tag: " ++ show tag) parseResult = do - subtag <- chompPrefix C.autoRepairTagResult tag + subtag <- chompPrefix Tags.autoRepairTagResult tag case sepSplit ':' subtag of [rtype, uuid, ts, result, jobs] -> do arData <- makeArData rtype uuid ts jobs @@ -252,8 +253,8 @@ updateTag arData = end = [intercalate "+" . map (show . fromJobId) $ arJobs arData] (pfx, middle) = case arResult arData of - Nothing -> (C.autoRepairTagPending, []) - Just rs -> (C.autoRepairTagResult, [autoRepairResultToRaw rs]) + Nothing -> (Tags.autoRepairTagPending, []) + Just rs -> (Tags.autoRepairTagResult, [autoRepairResultToRaw rs]) in arData { arTag = pfx ++ intercalate ":" (ini ++ middle ++ end) } diff --git a/src/Ganeti/HTools/Tags.hs b/src/Ganeti/HTools/Tags.hs index 263ba73..ae09bbc 100644 --- a/src/Ganeti/HTools/Tags.hs +++ b/src/Ganeti/HTools/Tags.hs @@ -38,6 +38,11 @@ module Ganeti.HTools.Tags ( exTagsPrefix , standbyAuto , hasStandbyTag + , autoRepairTagPrefix + , autoRepairTagEnabled + , autoRepairTagPending + , autoRepairTagResult + , autoRepairTagSuspended ) where import Data.List (isPrefixOf) @@ -59,6 +64,22 @@ standbyPrefix = "htools:standby:" standbyAuto :: String standbyAuto = "htools:standby:auto" +-- | Auto-repair tag prefix +autoRepairTagPrefix :: String +autoRepairTagPrefix = "ganeti:watcher:autorepair:" + +autoRepairTagEnabled :: String +autoRepairTagEnabled = autoRepairTagPrefix + +autoRepairTagPending :: String +autoRepairTagPending = autoRepairTagPrefix ++ "pending:" + +autoRepairTagResult :: String +autoRepairTagResult = autoRepairTagPrefix ++ "result:" + +autoRepairTagSuspended :: String +autoRepairTagSuspended = autoRepairTagPrefix ++ "suspend:" + -- * Predicates -- | Predicate of having a standby tag. -- 2.1.0.rc2.206.gedb03e5
