示例#1
0
def _convert_legacy_tuple_perfometers(perfometers):
    # type: (List[Union[LegacyPerfometer, Perfometer]]) -> None
    for index, perfometer in reversed(list(enumerate(perfometers))):
        if isinstance(perfometer, dict):
            continue

        if not isinstance(perfometer, tuple) or len(perfometer) != 2:
            raise MKGeneralException(_("Invalid perfometer declaration: %r") % perfometer)

        # Convert legacy tuple based perfometer
        perfometer_type, perfometer_args = perfometer[0], perfometer[1]
        if perfometer_type in ("dual", "stacked"):

            sub_performeters = perfometer_args[:]
            _convert_legacy_tuple_perfometers(sub_performeters)

            perfometers[index] = {
                "type": perfometer_type,
                "perfometers": sub_performeters,
            }

        elif perfometer_type == "linear" and len(perfometer_args) == 3:
            required, total, label = perfometer_args

            perfometers[index] = {
                "type": perfometer_type,
                "segments": required,
                "total": total,
                "label": label,
            }

        else:
            logger.warning(_("Could not convert perfometer to dict format: %r. Ignoring this one."),
                           perfometer)
            perfometers.pop(index)
def pre_activate_changes_check_duplicate_host(hosts):
    addresses = {}

    for host_name, attrs in hosts.items():
        if attrs["ipaddress"]:
            host_names = addresses.setdefault(attrs["ipaddress"], [])
            host_names.append(host_name)

    for address, host_names in addresses.items():
        if len(host_names) > 1:
            message = "The IP address %s is used for multiple hosts: %s" % (
                address, ", ".join(host_names))
            html.show_warning(message)
            logger.warning(message)
示例#3
0
def _get_alias_of_host(site, host_name):
    query = ("GET hosts\n"
             "Cache: reload\n"
             "Columns: alias\n"
             "Filter: name = %s" % livestatus.lqencode(host_name))

    with sites.only_sites(site):
        try:
            return sites.live().query_value(query)
        except Exception as e:
            logger.warning("Could not determine alias of host %s on site %s: %s", host_name, site,
                           e)
            if config.debug:
                raise
            return host_name
示例#4
0
文件: sites.py 项目: tribe29/checkmk
def get_alias_of_host(site_id: Optional[SiteId], host_name: str) -> str:
    query = ("GET hosts\n"
             "Cache: reload\n"
             "Columns: alias\n"
             "Filter: name = %s" % lqencode(host_name))

    with only_sites(site_id):
        try:
            return live().query_value(query)
        except Exception as e:
            logger.warning(
                "Could not determine alias of host %s on site %s: %s",
                host_name,
                site_id,
                e,
            )
            if config.debug:
                raise
            return host_name