On Tue, Jul 14, 2015 at 05:59:32PM +0200, 'Klaus Aehlig' via ganeti-devel wrote:
...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
LGTM