@@ -459,8 +459,10 @@ def restart_with_alternative_bucket_options(self):
459459 self .rest .run_diag_eval (master , diag_eval )
460460
461461 if self .test_config .bucket_extras :
462+ self .disable_auto_failover ()
462463 self .remote .restart ()
463464 self .wait_until_healthy ()
465+ self .enable_auto_failover ()
464466
465467 def tune_logging (self ):
466468 if self .dynamic_infra :
@@ -486,6 +488,24 @@ def enable_auto_failover(self):
486488 for master in self .cluster_spec .masters :
487489 self .rest .set_auto_failover (master , enabled , failover_min , failover_max )
488490
491+ def disable_auto_failover (self ):
492+ enabled = 'false'
493+ failover_min = self .test_config .bucket .failover_min
494+ failover_max = self .test_config .bucket .failover_max
495+ if self .dynamic_infra :
496+ cluster = self .remote .get_cluster ()
497+ cluster ['spec' ]['cluster' ]['autoFailoverMaxCount' ] = 1
498+ cluster ['spec' ]['cluster' ]['autoFailoverServerGroup' ] = bool (enabled )
499+ cluster ['spec' ]['cluster' ]['autoFailoverOnDataDiskIssues' ] = bool (enabled )
500+ cluster ['spec' ]['cluster' ]['autoFailoverOnDataDiskIssuesTimePeriod' ] = \
501+ '{}s' .format (10 )
502+ cluster ['spec' ]['cluster' ]['autoFailoverTimeout' ] = \
503+ '{}s' .format (failover_max )
504+ self .remote .update_cluster_config (cluster )
505+ else :
506+ for master in self .cluster_spec .masters :
507+ self .rest .set_auto_failover (master , enabled , failover_min , failover_max )
508+
489509 def wait_until_warmed_up (self ):
490510 if self .test_config .bucket .bucket_type in ('ephemeral' , 'memcached' ):
491511 return
0 commit comments