...so that the maintenance daemon can always access the authoritative
version of that list.

Signed-off-by: Klaus Aehlig <[email protected]>
---
 src/Ganeti/WConfd/Core.hs | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/Ganeti/WConfd/Core.hs b/src/Ganeti/WConfd/Core.hs
index 7f142bb..c478a87 100644
--- a/src/Ganeti/WConfd/Core.hs
+++ b/src/Ganeti/WConfd/Core.hs
@@ -62,9 +62,10 @@ import Ganeti.Locking.Locks ( GanetiLocks(ConfigLock, BGL)
                             , ClientType(ClientOther), ClientId(..) )
 import qualified Ganeti.Locking.Waiting as LW
 import Ganeti.Objects ( ConfigData, DRBDSecret, LogicalVolume, Ip4Address
-                      , configMaintenance, maintRoundDelay
+                      , configMaintenance, maintRoundDelay, maintJobs
                       )
 import Ganeti.Objects.Lens (configClusterL, clusterMasterNodeL)
+import Ganeti.Types (JobId)
 import Ganeti.WConfd.ConfigState (csConfigDataL)
 import qualified Ganeti.WConfd.ConfigVerify as V
 import Ganeti.WConfd.DeathDetection (cleanupLocks)
@@ -163,6 +164,10 @@ 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
+
 -- ** Temporary reservations related functions
 
 dropAllReservations :: ClientId -> WConfdMonad ()
@@ -394,6 +399,7 @@ exportedFunctions = [ 'echo
                     , 'writeConfigAndUnlock
                     , 'flushConfig
                     , 'maintenanceRoundDelay
+                    , 'maintenanceJobs
                     -- temporary reservations (common)
                     , 'dropAllReservations
                     -- DRBD
-- 
2.4.3.573.g4eafbef

Reply via email to