s4-scripting: allow to specify the number max of iteration around getNcChanges
authorMatthieu Patou <mat@matws.net>
Thu, 4 Aug 2011 15:59:49 +0000 (19:59 +0400)
committerMatthieu Patou <mat@matws.net>
Fri, 5 Aug 2011 21:10:12 +0000 (01:10 +0400)
source4/scripting/devel/getncchanges

index e5b7f8ea4dd053b7b2f3f2ccb5fc2372468cf349..736e3db4400b73b2ac712e91b8c8f0354f7c9a24 100755 (executable)
@@ -101,6 +101,7 @@ if __name__ == "__main__":
     parser.add_option("", "--exop", dest="exop", help="extended operation",)
     parser.add_option("", "--pas", dest="use_pas", action='store_true', default=False,
                       help="send partial attribute set",)
+    parser.add_option("", "--nb-iter", type='int', help="Number of getncchange iterations")
     parser.add_option("", "--dest-dsa", type='str',
                       default='"9c637462-5b8c-4467-aef2-bdb1f57bc4ef"', help="destination DSA GUID")
     parser.add_option("", "--replica-flags", type='int',
@@ -170,8 +171,10 @@ if __name__ == "__main__":
     req8.mapping_ctr.num_mappings           = 0
     req8.mapping_ctr.mappings               = None
 
+    nb_iter = 0
     while True:
         (level, ctr) = drs.DsGetNCChanges(drs_handle, 8, req8)
-        if ctr.more_data == 0:
+        nb_iter += 1
+        if ctr.more_data == 0 or opts.nb_iter == nb_iter:
             break
         req8.highwatermark.tmp_highest_usn = ctr.new_highwatermark.tmp_highest_usn