def save_group_information(all_groups, custom_default_config_dir=None): # Split groups data into Check_MK/Multisite parts check_mk_groups = {} multisite_groups = {} if custom_default_config_dir: check_mk_config_dir = "%s/conf.d/wato" % custom_default_config_dir multisite_config_dir = "%s/multisite.d/wato" % custom_default_config_dir else: check_mk_config_dir = "%s/conf.d/wato" % cmk.utils.paths.default_config_dir multisite_config_dir = "%s/multisite.d/wato" % cmk.utils.paths.default_config_dir for what, groups in all_groups.items(): check_mk_groups[what] = {} for gid, group in groups.items(): check_mk_groups[what][gid] = group['alias'] for attr, value in group.items(): if attr != 'alias': multisite_groups.setdefault(what, {}) multisite_groups[what].setdefault(gid, {}) multisite_groups[what][gid][attr] = value # Save Check_MK world related parts store.makedirs(check_mk_config_dir) output = wato_fileheader() for what in ["host", "service", "contact"]: if check_mk_groups.get(what): output += "if type(define_%sgroups) != dict:\n define_%sgroups = {}\n" % (what, what) output += "define_%sgroups.update(%s)\n\n" % ( what, format_config_value(check_mk_groups[what])) cmk.utils.store.save_file("%s/groups.mk" % check_mk_config_dir, output) # Users with passwords for Multisite store.makedirs(multisite_config_dir) output = wato_fileheader() for what in ["host", "service", "contact"]: if multisite_groups.get(what): output += "multisite_%sgroups = \\\n%s\n\n" % ( what, format_config_value(multisite_groups[what])) cmk.utils.store.save_file("%s/groups.mk" % multisite_config_dir, output)
def _write_config_file(self): config = self.get_effective_config() output = wato_fileheader() if config: output += "ServerLimit %d\n" % config["apache_process_tuning"][ "number_of_processes"] output += "MaxClients %d\n" % config["apache_process_tuning"][ "number_of_processes"] config_file_path = os.path.join(cmk.utils.paths.omd_root, "etc/apache/conf.d", "zzz_check_mk.conf") store.save_text_to_file(config_file_path, output)
def _save_gui_groups(all_groups: AllGroupSpecs, config_dir: str) -> None: multisite_groups: Dict[GroupType, Dict[GroupName, GroupSpec]] = {} for group_type, groups in all_groups.items(): for gid, group in groups.items(): for attr, value in group.items(): if attr != "alias": # Saved in cmk_base multisite_groups.setdefault(group_type, {}) multisite_groups[group_type].setdefault(gid, {}) multisite_groups[group_type][gid][attr] = value store.makedirs(config_dir) output = wato_fileheader() for what in get_args(GroupType): if multisite_groups.get(what): output += "multisite_%sgroups = \\\n%s\n\n" % ( what, format_config_value(multisite_groups[what]), ) store.save_text_to_file("%s/groups.mk" % config_dir, output)
def _save_cmk_base_groups(all_groups: AllGroupSpecs, config_dir: str) -> None: check_mk_groups: Dict[GroupType, Dict[GroupName, str]] = {} for group_type, groups in all_groups.items(): check_mk_groups[group_type] = {} for gid, group in groups.items(): check_mk_groups[group_type][gid] = group["alias"] # Save Checkmk world related parts store.makedirs(config_dir) output = wato_fileheader() for group_type in get_args(GroupType): if check_mk_groups.get(group_type): output += "if type(define_%sgroups) != dict:\n define_%sgroups = {}\n" % ( group_type, group_type, ) output += "define_%sgroups.update(%s)\n\n" % ( group_type, format_config_value(check_mk_groups[group_type]), ) store.save_text_to_file("%s/groups.mk" % config_dir, output)