def test_reload_confs(self): conf_mgr = configure.ConfManager("https://localhost:8089", self.session_key) search_app = utils.make_splunk_path(("etc", "apps", "search")) for i in range(3): filename = "{}.conf".format(time.time()) new_file = op.join(search_app, "default", filename) stanzas = conf_mgr.get_conf("nobody", "search", filename[-5]) self.assertEquals(stanzas, []) stanza = """[dummy_yummy]\ndummy_yummy = 1""" with open(new_file, "w") as f: f.write(stanza) if i == 0: conf_file = filename[:-5] elif i == 2: conf_file = new_file[:-5] else: conf_file = new_file configure.reload_confs((conf_file,), self.session_key) stanzas = conf_mgr.get_conf("nobody", "search", filename[:-5]) self.assertNotEquals(stanzas, []) self.assertEquals(len(stanzas), 1) self.assertEquals(stanzas[0]["stanza"], "dummy_yummy") self.assertEquals(stanzas[0]["dummy_yummy"], "1") os.remove(new_file) configure.reload_confs((new_file,), self.session_key) stanzas = conf_mgr.get_conf("nobody", "search", filename[:-5]) self.assertEquals(stanzas, [])
def _generate_forwarder_conf(self): apps = self._req_client.get_app_register_info() if not apps: _LOGGER.info("No apps info has been retrieved.") return forwarder_2_apps = {} for app in apps: if app["ip"] not in forwarder_2_apps: forwarder_2_apps[app["ip"]] = { "hostname": app["hostname"], "platform": app["platform"], "cpu_count": app["cpu_count"], "timestamp": app["timestamp"], "apps": set(), } forwarder_2_apps[app["ip"]]["apps"].add(app["appname"]) new_temp = "{0}.new".format(self.forwarder_conf) with open(new_temp, "w") as f: for ip, forwarder_info in forwarder_2_apps.iteritems(): f.write(self._generate_stanza(ip, forwarder_info)) os.rename(new_temp, self.forwarder_conf) # force reload _LOGGER.info("Refresh %s endpoint", self.forwarder_conf_name) configure.reload_confs((self.forwarder_conf_name,), self._session_key, self._splunkd_uri, self.app_name)
def setUp(self): super(TestBox, self).setUp() self._rest_server = multiprocessing.Process(target=bsrs.main, kwargs={"sleep": False}) self._rest_server.start() box_dir = utils.make_splunk_path(("etc", "apps", "Splunk_TA_box")) try: os.mkdir(op.join(box_dir, "local")) except OSError as ex: if ex.errno == 17: pass with open(op.join(box_dir, "local", "box.conf"), "w") as f: f.write(box_local_config) conf.reload_confs(("box.conf",), self.session_key) with open(op.join(self.cur_dir, "box_modinput.xml")) as f: xml = f.read().replace("0123456789", self.session_key) modinput_xml[0] = xml.replace("xxxxx", op.join(self.cur_dir, "ckpt")) self.stdout = sys.stdout sys.stdout = open(op.join(self.cur_dir, "box_records.xml"), "w") self.start = time.time()
def setUp(self): super(TestBoxConfig, self).setUp() app_dir = utils.make_splunk_path(("etc", "apps", "Splunk_TA_box")) try: os.mkdir(op.join(app_dir, "local")) except OSError as ex: if ex.errno == 17: pass with open(op.join(app_dir, "local", "box.conf"), "w") as f: f.write(local_config) conf.reload_confs(("box.conf",), self.session_key) modinput_xml[0] = modinput_xml[0].replace( "0123456789", self.session_key)
def reload_and_exit(changed_files): #_LOGGER.info("Reload conf %s", changed_files) print "Reload conf %s", changed_files conf.reload_confs(changed_files, meta_configs["session_key"], meta_configs["server_uri"]) data_loader.tear_down()