def test_is_free_edition(monkeypatch): monkeypatch.setattr(cmk_version, "omd_version", lambda: "1.4.0i1.cre") cmk_version.edition_short.cache_clear() assert cmk_version.is_free_edition() is False monkeypatch.setattr(cmk_version, "omd_version", lambda: "1.4.0i1.cee") cmk_version.edition_short.cache_clear() assert cmk_version.is_free_edition() is False monkeypatch.setattr(cmk_version, "omd_version", lambda: "2016.09.22.cee") cmk_version.edition_short.cache_clear() assert cmk_version.is_free_edition() is False monkeypatch.setattr(cmk_version, "omd_version", lambda: "2016.09.22.cfe") cmk_version.edition_short.cache_clear() assert cmk_version.is_free_edition() is True cmk_version.edition_short.cache_clear()
def free_edition_status() -> str: if not is_free_edition(): return "" passed_time = get_age_trial() # Hardcoded 30 days of trial. For dynamic trial time change the 30 days remaining_time = timedelta(seconds=30 * 24 * 60 * 60 - passed_time) if is_expired_trial() or remaining_time.days < 0: return "<br>" + _("Trial expired") if remaining_time.days > 1: return "<br>" + _("Trial expires in %s days") % remaining_time.days return "<br>" + _("Trial expires today (%s)") % time.strftime( str(_("%H:%M")), time.localtime(time.time() + remaining_time.seconds))
def search(param): """Display some version information""" if request.args.get('fail'): raise Exception("This is an intentional failure.") return constructors.serve_json({ "site": cmk_version.omd_site(), "group": request.environ.get('mod_wsgi.application_group', 'unknown'), "rest_api": { 'revision': '0', }, "versions": { "apache": request.environ.get('apache.version', 'unknown'), "checkmk": cmk_version.omd_version(), "python": sys.version, 'mod_wsgi': request.environ.get('mod_wsgi.version', 'unknown'), 'wsgi': request.environ['wsgi.version'], }, "edition": cmk_version.edition_short(), "demo": cmk_version.is_free_edition(), })
def search(param): """Display some version information""" if request.args.get("fail"): raise Exception("This is an intentional failure.") return constructors.serve_json({ "site": omd_site(), "group": request.environ.get("mod_wsgi.application_group", "unknown"), "rest_api": { "revision": "0", }, "versions": { "apache": request.environ.get("apache.version", "unknown"), "checkmk": cmk_version.omd_version(), "python": sys.version, "mod_wsgi": request.environ.get("mod_wsgi.version", "unknown"), "wsgi": request.environ["wsgi.version"], }, "edition": cmk_version.edition().short, "demo": cmk_version.is_free_edition(), })
def _initial_global_settings(self): settings = { "use_new_descriptions_for": [ "aix_memory", "barracuda_mailqueues", "brocade_sys_mem", "casa_cpu_temp", "cisco_mem", "cisco_mem_asa", "cisco_mem_asa64", "cmciii_psm_current", "cmciii_temp", "cmciii_lcp_airin", "cmciii_lcp_airout", "cmciii_lcp_water", "cmk_inventory", "db2_mem", "df", "df_netapp", "df_netapp32", "docker_container_mem", "enterasys_temp", "esx_vsphere_datastores", "esx_vsphere_hostsystem_mem_usage", "esx_vsphere_hostsystem_mem_usage_cluster", "etherbox_temp", "fortigate_memory", "fortigate_memory_base", "fortigate_node_memory", "hr_fs", "hr_mem", "http", "huawei_switch_mem", "hyperv_vms", "ibm_svc_mdiskgrp", "ibm_svc_system", "ibm_svc_systemstats_cache", "ibm_svc_systemstats_disk_latency", "ibm_svc_systemstats_diskio", "ibm_svc_systemstats_iops", "innovaphone_mem", "innovaphone_temp", "juniper_mem", "juniper_screenos_mem", "juniper_trpz_mem", "liebert_bat_temp", "logwatch", "logwatch_groups", "mem_used", "mem_win", "mknotifyd", "mknotifyd_connection", "mssql_backup", "mssql_blocked_sessions", "mssql_counters_cache_hits", "mssql_counters_file_sizes", "mssql_counters_locks", "mssql_counters_locks_per_batch", "mssql_counters_pageactivity", "mssql_counters_sqlstats", "mssql_counters_transactions", "mssql_databases", "mssql_datafiles", "mssql_tablespaces", "mssql_transactionlogs", "mssql_versions", "netscaler_mem", "nullmailer_mailq", "nvidia_temp", "postfix_mailq", "ps", "qmail_stats", "raritan_emx", "raritan_pdu_inlet", "services", "solaris_mem", "sophos_memory", "statgrab_mem", "tplink_mem", "ups_bat_temp", "vms_diskstat_df", "wmic_process", "zfsget", ], "enable_rulebased_notifications": True, "lock_on_logon_failures": 10, } if is_free_edition(): # CMC may not run here, we will base the decision on is_free_edition only settings["cmc_cmk_helpers"] = 3 return settings
def test_is_free_edition(monkeypatch, omd_version_str: str, expected: bool) -> None: monkeypatch.setattr(cmk_version, "omd_version", lambda: omd_version_str) assert cmk_version.is_free_edition() is expected
"enable_rulebased_notifications": True, "log_logon_failures": True, "lock_on_logon_failures": 10, "trusted_certificate_authorities": { "use_system_wide_cas": True, # Add the CA of the site to the trusted CAs. This has the benefit that remote sites # automatically trust central sites in distributed setups where the config is replicated. "trusted_cas": ( (site_cas := raw_certificates_from_file(site_cert_file)) and [site_cas[-1]] or [] ), }, } if is_free_edition(): # CMC may not run here, we will base the decision on is_free_edition only settings["cmc_cmk_helpers"] = 3 return settings def _initialize_tag_config(self) -> None: tag_config = TagConfig.from_config(sample_tag_config()) TagConfigFile().save(tag_config.get_dict_format()) @sample_config_generator_registry.register class ConfigGeneratorAcknowledgeInitialWerks(SampleConfigGenerator): """This is not really the correct place for such kind of action, but the best place we could find to execute it only for new created sites."""