Пример #1
0
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()
Пример #2
0
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))
Пример #3
0
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(),
    })
Пример #4
0
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(),
    })
Пример #5
0
    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
Пример #6
0
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
Пример #7
0
            "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."""