summaryrefslogtreecommitdiffstats
path: root/src/ceph/qa/tasks/mon_clock_skew_check.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ceph/qa/tasks/mon_clock_skew_check.py')
-rw-r--r--src/ceph/qa/tasks/mon_clock_skew_check.py76
1 files changed, 0 insertions, 76 deletions
diff --git a/src/ceph/qa/tasks/mon_clock_skew_check.py b/src/ceph/qa/tasks/mon_clock_skew_check.py
deleted file mode 100644
index 547339f..0000000
--- a/src/ceph/qa/tasks/mon_clock_skew_check.py
+++ /dev/null
@@ -1,76 +0,0 @@
-"""
-Handle clock skews in monitors.
-"""
-import logging
-import contextlib
-import ceph_manager
-import time
-import gevent
-from StringIO import StringIO
-from teuthology import misc as teuthology
-
-log = logging.getLogger(__name__)
-
-class ClockSkewCheck:
- """
- Check if there are any clock skews among the monitors in the
- quorum.
-
- This task accepts the following options:
-
- interval amount of seconds to wait before check. (default: 30.0)
- expect-skew 'true' or 'false', to indicate whether to expect a skew during
- the run or not. If 'true', the test will fail if no skew is
- found, and succeed if a skew is indeed found; if 'false', it's
- the other way around. (default: false)
-
- - mon_clock_skew_check:
- expect-skew: true
- """
-
- def __init__(self, ctx, manager, config, logger):
- self.ctx = ctx
- self.manager = manager
-
- self.stopping = False
- self.logger = logger
- self.config = config
-
- if self.config is None:
- self.config = dict()
-
-
-def task(ctx, config):
- if config is None:
- config = {}
- assert isinstance(config, dict), \
- 'mon_clock_skew_check task only accepts a dict for configuration'
- interval = float(config.get('interval', 30.0))
- expect_skew = config.get('expect-skew', False)
-
- log.info('Beginning mon_clock_skew_check...')
- first_mon = teuthology.get_first_mon(ctx, config)
- (mon,) = ctx.cluster.only(first_mon).remotes.iterkeys()
- manager = ceph_manager.CephManager(
- mon,
- ctx=ctx,
- logger=log.getChild('ceph_manager'),
- )
-
- quorum_size = len(teuthology.get_mon_names(ctx))
- manager.wait_for_mon_quorum_size(quorum_size)
-
- # wait a bit
- log.info('sleeping for {s} seconds'.format(
- s=interval))
- time.sleep(interval)
-
- health = manager.get_mon_health(True)
- log.info('got health %s' % health)
- if expect_skew:
- if 'MON_CLOCK_SKEW' not in health['checks']:
- raise RuntimeError('expected MON_CLOCK_SKEW but got none')
- else:
- if 'MON_CLOCK_SKEW' in health['checks']:
- raise RuntimeError('got MON_CLOCK_SKEW but expected none')
-