-
import unittest
import time
import logging
REQUIRE_MEMSTORE = False
def setUp(self):
+ self._mon_configs_set = set()
+
self.ceph_cluster.mon_manager.raw_cluster_cmd("log",
"Starting test {0}".format(self.id()))
raise self.skipTest("Require `memstore` OSD backend (test " \
"would take too long on full sized OSDs")
-
-
def tearDown(self):
+ self.config_clear()
+
self.ceph_cluster.mon_manager.raw_cluster_cmd("log",
"Ended test {0}".format(self.id()))
+ def config_clear(self):
+ for section, key in self._mon_configs_set:
+ self.config_rm(section, key)
+ self._mon_configs_set.clear()
+
+ def _fix_key(self, key):
+ return str(key).replace(' ', '_')
+
+ def config_get(self, section, key):
+ key = self._fix_key(key)
+ return self.ceph_cluster.mon_manager.raw_cluster_cmd("config", "get", section, key).strip()
+
+ def config_show(self, entity, key):
+ key = self._fix_key(key)
+ return self.ceph_cluster.mon_manager.raw_cluster_cmd("config", "show", entity, key).strip()
+
+ def config_minimal(self):
+ return self.ceph_cluster.mon_manager.raw_cluster_cmd("config", "generate-minimal-conf").strip()
+
+ def config_rm(self, section, key):
+ key = self._fix_key(key)
+ self.ceph_cluster.mon_manager.raw_cluster_cmd("config", "rm", section, key)
+ # simplification: skip removing from _mon_configs_set;
+ # let tearDown clear everything again
+
+ def config_set(self, section, key, value):
+ key = self._fix_key(key)
+ self._mon_configs_set.add((section, key))
+ self.ceph_cluster.mon_manager.raw_cluster_cmd("config", "set", section, key, str(value))
+
def assert_cluster_log(self, expected_pattern, invert_match=False,
timeout=10, watch_channel=None):
"""
self.configs_set = set()
def tearDown(self):
- super(CephFSTestCase, self).tearDown()
-
self.mds_cluster.clear_firewall()
for m in self.mounts:
m.teardown()
for subsys, key in self.configs_set:
self.mds_cluster.clear_ceph_conf(subsys, key)
+ return super(CephFSTestCase, self).tearDown()
+
def set_conf(self, subsys, key, value):
self.configs_set.add((subsys, key))
self.mds_cluster.set_ceph_conf(subsys, key, value)
self._ctx = ctx
self.mon_manager = ceph_manager.CephManager(self.admin_remote, ctx=ctx, logger=log.getChild('ceph_manager'))
- def set_config_opt(self, section, opt, val):
- self.mon_manager.raw_cluster_cmd('config', 'set', section, opt, val)
-
- def rm_config_opt(self, section, opt):
- self.mon_manager.raw_cluster_cmd('config', 'rm', section)
-
def get_config(self, key, service_type=None):
"""
Get config from mon by default, or a specific service if caller asks for it
def admin_remote(self):
return LocalRemote()
- def set_config_opt(self, section, opt, val):
- self.mon_manager.raw_cluster_cmd('config', 'set', section, opt, val)
-
- def rm_config_opt(self, section, opt):
- self.mon_manager.raw_cluster_cmd('config', 'rm', section, opt)
-
def get_config(self, key, service_type=None):
if service_type is None:
service_type = 'mon'