On Mon, Aug 03, 2015 at 03:34:28PM +0200, 'Lisa Velden' via ganeti-devel wrote:
commit 7e0a74a59daa0171eb648f7ef1020e863506432d
Merge: bab1c63 c7a2958
Author: Lisa Velden <[email protected]>
Date:   Mon Aug 3 13:45:42 2015 +0200

   Merge branch 'stable-2.12' into stable-2.13

   * stable-2.12
     Correct indendation
     In confd provide proper serial number

   * stable-2.11
     (no changes)

   * stable-2.10
     Add a new unit test for LUInstanceMultiAlloc
     Fix a bug in LUInstanceMultiAlloc LU

   Conflicts:
             lib/bootstrap.py

   Resolution:
           lib/bootstrap.py: take indendation from stable-2.12

   Semantical conflicts:
           src/Ganeti/Confd/Server.hs: add serial number to new queries

diff --cc src/Ganeti/Confd/Server.hs
index 9f9aadf,7af7f0a..fac0537
--- a/src/Ganeti/Confd/Server.hs
+++ b/src/Ganeti/Confd/Server.hs
@@@ -240,32 -246,12 +249,36 @@@ buildResponse cdata req@(ConfdRequest
     case confdRqQuery req of
       PlainQuery str -> return str
       _ -> fail $ "Invalid query type " ++ show (confdRqQuery req)
+   inst <- lookupContainer (Bad $ "unknown instance: " ++ inst_uuid)
+             inst_uuid $ configInstances cfg
   case getInstDisks cfg inst_uuid of
-     Ok disks -> return (ReplyStatusOk, J.showJSON disks)
+     Ok disks -> return (ReplyStatusOk, J.showJSON disks, instSerial inst)
     Bad e -> fail $ "Could not retrieve disks: " ++ show e

+-- | Return arbitrary configuration value given by a path.
+buildResponse cdata req@(ConfdRequest { confdRqType = ReqConfigQuery
+                                      , confdRqQuery = pathQ }) = do
+  let cfg = fst cdata
+  path <-
+    case pathQ of
+      PlainQuery path -> return path
+      _ -> fail $ "Invalid query type " ++ show (confdRqQuery req)
+  let configValue = extractJSONPath path cfg
+  case configValue of
-     J.Ok jsvalue -> return (ReplyStatusOk, jsvalue)
++    J.Ok jsvalue -> return (ReplyStatusOk, jsvalue,
++                            clusterSerial $ configCluster cfg)
+    J.Error _ -> return queryArgumentError
+
+-- | Return activation state of data collectors
+buildResponse (cdata,_) (ConfdRequest { confdRqType = ReqDataCollectors
}) = do
+  let mkConfig col =
+        (dName col, DataCollectorConfig
+                   (dActive col (dName col) cdata)
+                   (dInterval col (dName col) cdata))
+      datacollectors = containerFromList $ map mkConfig collectors
-   return (ReplyStatusOk, J.showJSON datacollectors)
++  return (ReplyStatusOk, J.showJSON datacollectors,
++          clusterSerial . configCluster $ cdata)
+
 -- | Creates a ConfdReply from a given answer.
 serializeResponse :: Result StatusAnswer -> ConfdReply
 serializeResponse r =

--
Lisa Velden
Software Engineer
[email protected]

Google Germany GmbH
Dienerstraße 12
80331 München

Geschäftsführer: Graham Law, Christine Elizabeth Flores
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

LGTM, thanks

Reply via email to