From ab7e72fbdfce53337aa3429a12a6ce8baab4b47d Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Mon, 1 Jan 2024 14:59:31 +0100
Subject: [PATCH] cleanup

---
 check_ntp-0.0.3-20230607.mkp | Bin 6344 -> 0 bytes
 check_ntp.mkp                | Bin 6344 -> 0 bytes
 checks/check_ntp             |  64 --------
 doc/.gitkeep                 |   0
 doc/sample-details.png       | Bin 29946 -> 0 bytes
 doc/sample.png               | Bin 8115 -> 0 bytes
 gui/metrics/check_ntp.py     |  88 -----------
 gui/wato/check_ntp.py        | 184 ----------------------
 lib/nagios/plugins/check_ntp | 297 -----------------------------------
 ntplib-0.4.0.mkp             | Bin 6183 -> 0 bytes
 packages/check_ntp           |  12 --
 11 files changed, 645 deletions(-)
 delete mode 100644 check_ntp-0.0.3-20230607.mkp
 delete mode 100644 check_ntp.mkp
 delete mode 100644 checks/check_ntp
 delete mode 100644 doc/.gitkeep
 delete mode 100644 doc/sample-details.png
 delete mode 100644 doc/sample.png
 delete mode 100644 gui/metrics/check_ntp.py
 delete mode 100644 gui/wato/check_ntp.py
 delete mode 100755 lib/nagios/plugins/check_ntp
 delete mode 100644 ntplib-0.4.0.mkp
 delete mode 100644 packages/check_ntp

diff --git a/check_ntp-0.0.3-20230607.mkp b/check_ntp-0.0.3-20230607.mkp
deleted file mode 100644
index 4cddd50e3cc3fb0c308d81ffd765d4817a52f81f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6344
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

diff --git a/check_ntp.mkp b/check_ntp.mkp
deleted file mode 100644
index 4cddd50e3cc3fb0c308d81ffd765d4817a52f81f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6344
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

diff --git a/checks/check_ntp b/checks/check_ntp
deleted file mode 100644
index 620b902..0000000
--- a/checks/check_ntp
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# License: GNU General Public License v2
-#
-#
-# Author: thl-cmk[at]outlook[dot]com
-# URL   : https://thl-cmk.hopto.org
-# Date  : 2022-10-04
-# File  : checks/active_checks_ntp
-#
-# 2022-11-15: changed to use short options, doesn't work with long options
-
-def check_ntp_arguments(params):
-    args = []
-
-    if 'port' in params:
-        args.append(f'-p {params["port"]}')
-
-    if 'timeout' in params:
-        args.append(f'-t {params["timeout"]}')
-
-    if 'server' in params:
-        args.append(f'-H {params["server"]}')
-    else:
-        args.append('-H $HOSTADDRESS$')
-
-    if 'version' in params:
-        args.append(f'-V {params["version"]}')
-
-    if 'offset_levels' in params:
-        args.append(f'-o {params["offset_levels"][0]},{params["offset_levels"][1]}')
-
-    if 'stratum_levels' in params:
-        args.append(f'-s {params["stratum_levels"][0]},{params["stratum_levels"][1]}')
-
-    if 'dispersion_levels' in params:
-        args.append(f'-D {params["dispersion_levels"][0]},{params["dispersion_levels"][1]}')
-
-    if 'delay_levels' in params:
-        args.append(f'-d {params["dispersion_levels"][0]},{params["dispersion_levels"][1]}')
-
-    if 'state_not_synchronized' in params:
-        args.append(f'-n {params["state_not_synchronized"]}')
-
-    if 'state_no_response' in params:
-        args.append(f'-r {params["state_no_response"]}')
-
-    return args
-
-
-def _check_description(params):
-    if 'description' in params:
-        return f'NTP server {params["description"]}'
-
-    return 'NTP server'
-
-
-active_check_info['ntp'] = {
-    'command_line': 'check_ntp $ARG1$',
-    'argument_function': check_ntp_arguments,
-    'service_description': _check_description,
-    'has_perfdata': True,
-}
diff --git a/doc/.gitkeep b/doc/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/doc/sample-details.png b/doc/sample-details.png
deleted file mode 100644
index c8bf3a99486586f7f7da1dbd0c48437fff3e13bb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 29946
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
N#uMGg6)G05{};u<T0{T<

diff --git a/doc/sample.png b/doc/sample.png
deleted file mode 100644
index 222012074a6c39ee0ec4f9fa346be4f5ecc4c152..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8115
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
F{1^1Fev<$I

diff --git a/gui/metrics/check_ntp.py b/gui/metrics/check_ntp.py
deleted file mode 100644
index 3456514..0000000
--- a/gui/metrics/check_ntp.py
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# License: GNU General Public License v2
-#
-# Author: thl-cmk[at]outlook[dot]com
-# URL   : https://thl-cmk.hopto.org
-# Date  : 2022-10-06
-# File  : metrics/check_ntp.py
-#
-#
-
-from cmk.gui.i18n import _
-
-from cmk.gui.plugins.metrics.utils import (
-    metric_info,
-    graph_info,
-    perfometer_info
-)
-
-metric_info['ntp_offset'] = {
-    'title': _('Offset'),
-    'unit': 's',
-    'color': '#9a52bf',
-}
-
-
-metric_info['ntp_delay'] = {
-    'title': _('Delay'),
-    'help': _(''),
-    'unit': 's',
-    'color': '26/a',
-}
-
-metric_info['ntp_root_dispersion'] = {
-    'title': _('Root dispersion'),
-    'help': _(''),
-    'unit': 's',
-    'color': '32/a',
-}
-
-
-graph_info['check_ntp_offset'] = {
-    'title': _('Time offset'),
-    'metrics': [
-        ('ntp_offset', 'area'),
-    ],
-    'scalars': [
-        ('ntp_offset:crit', _('Upper critical level')),
-        ('ntp_offset:warn', _('Upper warning level')),
-        ('0,ntp_offset:warn,-', _('Lower warning level')),
-        ('0,ntp_offset:crit,-', _('Lower critical level')),
-    ],
-    'range': ('0,ntp_offset:crit,-', 'ntp_offset:crit'),
-}
-
-graph_info['check_ntp_delay'] = {
-    'title': _('Delay'),
-    'metrics': [
-        ('ntp_delay', 'area'),
-    ],
-    'scalars': [
-        ('ntp_delay:crit', _('Critical')),
-        ('ntp_delay:warn', _('Warning')),
-    ],
-    'range': (0, 'ntp_delay:max'),
-}
-
-
-graph_info['check_ntp_dispersion'] = {
-    'title': _('Root dispersion'),
-    'metrics': [
-        ('ntp_root_dispersion', 'area'),
-    ],
-    'scalars': [
-        ('ntp_root_dispersion:crit', _('Critical')),
-        ('ntp_root_dispersion:warn', _('Warning')),
-    ],
-    'range': (0, 'ntp_root_dispersion:max'),
-}
-
-
-perfometer_info.append({
-    'type': 'logarithmic',
-    'metric': 'ntp_offset',
-    'half_value': 1.0,
-    'exponent': 10.0,
-})
diff --git a/gui/wato/check_ntp.py b/gui/wato/check_ntp.py
deleted file mode 100644
index 451a293..0000000
--- a/gui/wato/check_ntp.py
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# License: GNU General Public License v2
-#
-#
-# Author: thl-cmk[at]outlook[dot]com
-# URL   : https://thl-cmk.hopto.org
-# Date  : 2022-10-04
-# File  : wato/active_checks_ntp.py
-#
-
-from cmk.gui.i18n import _
-from cmk.gui.valuespec import (
-    Dictionary,
-    Tuple,
-    Transform,
-    Integer,
-    TextAscii,
-    MonitoringState,
-)
-
-from cmk.gui.plugins.wato.utils import (
-    rulespec_registry,
-    HostRulespec,
-)
-
-from cmk.gui.plugins.wato.active_checks import (
-    RulespecGroupActiveChecks
-)
-
-
-def _valuespec_active_checks_ntp():
-    return Transform(
-        Dictionary(
-            title=_('Check NTP service'),
-            help=_(''),
-            elements=[
-                ('description',
-                 TextAscii(
-                     title=_('Service description'),
-                     help=_(
-                         'Must be unique for every host. The service description starts always with \"NTP server\".'),
-                     size=50,
-                 )),
-                ('server',
-                 TextAscii(
-                     title=_('Server IP-address or name'),
-                     help=_(
-                         'Hostname or IP-address to monitor. Default is the host name/IP-Address of the monitored host.'
-                     ),
-                     size=50,
-                 )),
-                ('port',
-                 Integer(
-                     title=_('NTP port'),
-                     help=_('UDP Port to use. Default is 123.'),
-                     # size=5,
-                     default_value=123,
-                     minvalue=1,
-                     maxvalue=65535,
-                 )),
-                ('version',
-                 Integer(
-                     title=_('NTP version'),
-                     help=_('NTP version for the request. Default is version 4.'),
-                     # size=1,
-                     default_value=4,
-                     minvalue=1,
-                     maxvalue=4,
-                 )),
-                ('timeout',
-                 Integer(
-                     title=_('Request timeout'),
-                     help=_('Timeoute for the request in seconds. Min: 1s, Max: 20, Default is 2 seconds.'),
-                     # size=3,
-                     default_value=2,
-                     minvalue=1,
-                     maxvalue=20,
-                 )),
-                ('state_not_synchronized',
-                 MonitoringState(
-                     title=_('Monitoring state if server is not synchronized'),
-                     help=_('Monitoring state if server is not synchronized. Default is warning.'),
-                     default_value=2,
-                 )),
-                ('state_no_response',
-                 MonitoringState(
-                     default_value=2,
-                     title=_('Monitoring state if server doesn\'t respond (timeout)'),
-                     help=_('Monitoring state if the server doesn\'t respond. Default is "CRIT"')
-                 )),
-                ('stratum_levels',
-                 Tuple(
-                     title=_('max. stratum'),
-                     elements=[
-                         Integer(
-                             title=_('Warning at'),
-                             default_value=10,
-                             maxvalue=255,
-                             minvalue=1,
-                             help=_(
-                                 'The stratum (\'distance\' to the reference clock) at which the check gets warning.'),
-                         ),
-                         Integer(
-                             title=_('Critical at'),
-                             default_value=15,
-                             maxvalue=18,
-                             help=_(
-                                 'The stratum (\'distance\' to the reference clock) at which the check gets critical.'),
-                         )
-                     ],
-                 )),
-                ('offset_levels',
-                 Tuple(
-                     title=_('max. offset in ms'),
-                     help=_('Mean offset in the times reported between this local host and the remote peer or server.'
-                            'Note: This levels will also be used as lower levels.'),
-                     elements=[
-                         Integer(
-                             title=_('Warning at'),
-                             unit='ms',
-                             default_value=200,
-                             help=_('The offset in ms at which a warning state is triggered. Default is 200ms'),
-                         ),
-                         Integer(
-                             title=_('Critical at'),
-                             unit='ms',
-                             default_value=500,
-                             help=_('The offset in ms at which a critical state is triggered. Default is 500ms'),
-                         )
-                     ],
-                 )),
-                ('delay_levels',
-                 Tuple(
-                     title=_('max. delay in ms'),
-                     help=_('Upper levels for delay in milly seconds.'),
-                     elements=[
-                         Integer(
-                             title=_('Warning at'),
-                             unit='ms',
-                             default_value=200,
-                             help=_('The delay in ms at which a warning state is triggered. Default is 200ms'),
-                         ),
-                         Integer(
-                             title=_('Critical at'),
-                             unit='ms',
-                             default_value=500,
-                             help=_('The delay in s at which a critical state is triggered. Default is 500ms'),
-                         )
-                     ],
-                 )),
-                ('dispersion_levels',
-                 Tuple(
-                     title=_('max. root dispersion in s'),
-                     help=_('Upper levels for (root) dispersion in seconds.'),
-                     elements=[
-                         Integer(
-                             title=_('Warning at'),
-                             unit='s',
-                             default_value=3,
-                             help=_('The dispersion in s at which a warning state is triggered. Default is 3s'),
-                         ),
-                         Integer(
-                             title=_('Critical at'),
-                             unit='s',
-                             default_value=5,
-                             help=_('The dispersion in s at which a critical state is triggered. Default is 5s'),
-                         )
-                     ],
-                 )),
-            ],
-        ),
-    )
-
-
-rulespec_registry.register(
-    HostRulespec(
-        group=RulespecGroupActiveChecks,
-        match_type='all',
-        name='active_checks:ntp',
-        valuespec=_valuespec_active_checks_ntp,
-    )
-)
diff --git a/lib/nagios/plugins/check_ntp b/lib/nagios/plugins/check_ntp
deleted file mode 100755
index f270473..0000000
--- a/lib/nagios/plugins/check_ntp
+++ /dev/null
@@ -1,297 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# License: GNU General Public License v2
-#
-#
-# Author: thl-cmk[at]outlook[dot]com
-# URL   : https://thl-cmk.hopto.org
-# Date  : 2022-10-04
-# File  : active_checks_ntp.py
-#
-# Active check to monitor NTP servers.
-#
-# 2022-10-13: added exception handling for ntp request
-# 2022-11-14: made state on no response configurable
-# 2022-11-15: added short options
-# 2023-06-07: moved gui files to ~/local/lib/chek_mk/gui/plugins/...
-
-from typing import Optional, Sequence, Tuple
-from ipaddress import IPv4Address
-import sys
-import argparse
-import socket
-from time import ctime
-
-import ntplib
-
-no_ntplib = False
-try:
-    from ntplib import NTPClient, NTPStats
-except ModuleNotFoundError:
-    no_ntplib = True
-
-_ntp_leap = {
-    0: 'no warning',
-    1: 'last minute of the day has 61 seconds',
-    2: 'last minute of the day has 59 seconds',
-    3: 'unknown(clock unsynchronized)',
-}
-
-_ntp_mode = {
-    0: 'reserved',
-    1: 'symmetric active',
-    2: 'symmetric passive',
-    3: 'client',
-    4: 'server',
-    5: 'broadcast',
-    6: 'NTP control message',
-    7: 'reserved for private use',
-}
-
-_ntp_ref_id = {
-    # from RFC5905
-    'GOES': 'Geosynchronous Orbit Environment Satellite',
-    'GPS': 'Global Position System',
-    'GAL': 'Galileo Positioning System',
-    'PPS': 'Generic pulse - per - second',
-    'IRIG': 'Inter - Range Instrumentation Group',
-    'WWVB': 'LF Radio WWVB Ft.Collins, CO 60 kHz',
-    'DCF': 'LF Radio DCF77 Mainflingen, DE 77.5 kHz',
-    'HBG': 'LF Radio HBG Prangins, HB 75 kHz',
-    'MSF': 'LF Radio MSF Anthorn, UK 60 kHz',
-    'JJY': 'LF Radio JJY Fukushima, JP 40 kHz, Saga, JP 60 kHz',
-    'LORC': 'MF Radio LORAN C station, 100 kHz',
-    'TDF': 'MF Radio Allouis, FR 162 kHz',
-    'CHU': 'HF Radio CHU Ottawa, Ontario',
-    'WWV': 'HF Radio WWV Ft.Collins, CO',
-    'WWVH': 'HF Radio WWVH Kauai, HI',
-    'NIST': 'NIST telephone modem',
-    'ACTS': 'NIST telephone modem',
-    'USNO': 'USNO telephone modem',
-    'PTB': 'European telephone modem',
-    # from meienberg
-    # 'PPS': '“Pulse Per Second” from a time standard',
-    # 'IRIG': 'Inter-Range Instrumentation Group time code',
-    # 'ACTS': 'American NIST time standard telephone modem',
-    # 'NIST': 'American NIST time standard telephone modem',
-    # 'PTB': 'German PTB time standard telephone modem',
-    # 'USNO': 'American USNO time standard telephone modem',
-    # 'CHU': 'CHU (HF, Ottawa, ON, Canada) time standard radio receiver',
-    'DCFa': 'DCF77 (LF, Mainflingen, Germany) time standard radio receiver',
-    # 'HBG': 'HBG (LF Prangins, Switzerland) time standard radio receiver',
-    # 'JJY': 'JJY (LF Fukushima, Japan) time standard radio receiver',
-    # 'LORC': 'LORAN-C station (MF) time standard radio receiver. Note, no longer operational (superseded by eLORAN)',
-    # 'MSF': 'MSF (LF, Anthorn, Great Britain) time standard radio receiver',
-    # 'TDF': 'TDF (MF, Allouis, France) time standard radio receiver',
-    # 'WWV': 'WWV (HF, Ft. Collins, CO, America) time standard radio receiver',
-    # 'WWVB': 'WWVB (LF, Ft. Collins, CO, America) time standard radio receiver',
-    # 'WWVH': 'WWVH (HF, Kauai, HI, America) time standard radio receiver',
-    # 'GOES': 'American Geosynchronous Orbit Environment Satellite',
-    # 'GPS': 'American GPS',
-    # 'GAL': 'Galileo European GNSS',
-    'ACST': 'manycast server',
-    'AUTO': 'Autokey sequence error',
-    'BCST': 'broadcast server',
-    'MCST': 'multicast server',
-}
-
-_ntp_refids_bad = {
-    'AUTH': 'authentication error',
-    'AUTO': 'Autokey sequence error',
-    'CRYPT': 'Autokey protocol error',
-    'DENY': 'Access denied by server',
-    'INIT': 'Association initialized',
-    'RATE': 'Polling rate exceeded',
-    'LOCL': 'This local host (a place marker at the lowest stratum included in case '
-            'there are no remote peers or servers available)',
-    'STEP': 'Step time change, the offset is less than the panic threshold (1000ms) '
-            'but greater than the step threshold (125ms).',
-    'TIME': 'Association timeout',
-    'XFAC': 'Association changed (IP address changed or lost)',
-}
-
-
-def _ntp_decode_ref_id(stratum: int, ref_id: int):
-    if 1 < stratum < 16:
-        return IPv4Address(ref_id)
-
-    elif stratum in [0, 1]:
-        _byte4 = ref_id % 256
-        _byte3 = (ref_id // 256) % 256
-        _byte2 = (ref_id // 256 // 256) % 256
-        _byte1 = (ref_id // 256 // 256 // 256)
-
-        ref_id = ''
-        for _byte in [_byte1, _byte2, _byte3, _byte4]:
-            if _byte > 31:
-                ref_id += chr(_byte)
-
-        return ref_id
-
-
-def parse_arguments(argv: Sequence[str]) -> argparse.Namespace:
-
-    def _warn_crit(arg: str) -> Optional[Tuple[int, int]]:
-        arg = arg.strip('(').strip(')').split(',')
-        warn, crit = arg
-        try:
-            arg = (int(warn), int(crit))
-        except ValueError as e:
-            raise argparse.ArgumentTypeError(e)
-
-        return arg
-
-    parser = argparse.ArgumentParser(
-        formatter_class=argparse.ArgumentDefaultsHelpFormatter,
-        epilog='Add WARN,CRIT levels separated by comma without brackets, like this: "--offset 200,500".'
-               'To use this check plugin you need to install the python "ntplib" in your CMK python environment.'
-    )
-    parser.add_argument(
-        '-H', '--host', required=True,
-        help='Host to query (required)')
-    parser.add_argument(
-        '-p', '--port', type=int, default=123,
-        help='UDP port to use.')
-    parser.add_argument(
-        '-t', '--timeout', type=int, default=2,
-        help='Request timeout in seconds.')
-    parser.add_argument(
-        '-V', '--version', type=int, default=4, choices=[1, 2, 3, 4],
-        help='NTP version to use.')
-    parser.add_argument(
-        '-n', '--state_not_synchronized', type=int, default=2, choices=[0, 1, 2, 3],
-        help='Monitoring state if not synchronized.')
-    parser.add_argument(
-        '-r', '--state_no_response', type=int, default=2, choices=[0, 1, 2, 3],
-        help='Monitoring state if response (timeout) received.')
-    parser.add_argument(
-        '-s', '--stratum', type=_warn_crit, default=(10, 15),
-        help='WARN,CRIT levels for stratum. Use values > 16 to disable.')
-    parser.add_argument(
-        '-o', '--offset', type=_warn_crit, default=(200, 500),
-        help='WARN,CRIT levels for offset in milliseconds.')
-    parser.add_argument(
-        '-d', '--delay', type=_warn_crit, default=(200, 500),
-        help='WARN,CRIT levels for delay in milliseconds.')
-    parser.add_argument(
-        '-D', '--dispersion', type=_warn_crit, default=(200, 500),
-        help='WARN,CRIT levels for dispersion in seconds.')
-
-    args = parser.parse_args(argv)
-    args.host = args.host.strip(' ')
-    return args
-
-
-def get_ntp_time(server: str, port: int, timeout: int, version: int, state_no_response: int):  # -> Optional[NTPStats]
-    # NTPStats is not available if ntplib is not installed
-    c = NTPClient()
-    try:
-        response = c.request(
-            host=server,
-            port=port,
-            timeout=timeout,
-            version=version
-        )
-    except (ntplib.NTPException, socket.gaierror) as e:
-        sys.stdout.write(f'{e}\n')
-        sys.exit(state_no_response)
-    return response
-
-
-def main(args=None):
-    if args is None:
-        args = sys.argv[1:]  # without the path/plugin it self
-
-    args = parse_arguments(args)
-
-    if no_ntplib:
-        sys.stdout.write(
-            f'To use this check plugin you need to install the python ntplib in your CMK python environment.'
-        )
-        sys.exit(3)
-
-    ntp_time = get_ntp_time(args.host, args.port, args.timeout, args.version, args.state_no_response)
-
-    server_time = ctime(ntp_time.tx_time)
-    stratum = int(ntp_time.stratum)
-
-    if stratum == 0:
-        info_text = f'Server not synchronized. Stratum: 0'
-        sys.stdout.write(info_text)
-        return args.state_not_synchronized
-
-    ref_id = _ntp_decode_ref_id(stratum, int(ntp_time.ref_id))
-
-    info_text = ''
-    long_output = ''
-    perfdata = ''
-    status = 0
-    # https://tutorial.eyehunts.com/python/python-strftime-function-milliseconds-examples/
-    # time_format = '%Y-%m-%d %H:%M:%S'
-
-    text = f'Stratum: {stratum}'
-    if stratum >= args.stratum[1]:
-        status = 2
-        text += '(!!)'
-    elif stratum >= args.stratum[0]:
-        status = max(status, 1)
-        text += '(!)'
-
-    info_text += f'{text}, Reference ID: {ref_id}, Time: {server_time}'
-    long_output += f'{text}\n'
-
-    long_output += f'Ref-ID: {ref_id}, {_ntp_ref_id.get(ref_id, "")}\n'
-    long_output += f'Time: {server_time}\n'
-    long_output += f'Mode: {_ntp_mode.get(ntp_time.mode, f"unknown: {ntp_time.mode}")}\n'
-    long_output += f'Version: {ntp_time.version}\n'
-    long_output += f'Poll: {ntp_time.poll}\n'
-    long_output += f'Precision: {ntp_time.precision}\n'
-    long_output += f'Leap: {_ntp_leap.get(ntp_time.leap, f"unknown {ntp_time.leap}")}\n'
-
-    long_output += '\nPerfdata\n'
-    for value, warn, crit, label, metric, unit in [
-        (ntp_time.offset, args.offset[0] / 1000, args.offset[1] / 1000, 'Offset', 'ntp_offset', 's'),
-        (ntp_time.delay, args.delay[0] / 1000, args.delay[1] / 1000, 'Delay', 'ntp_delay', 's'),
-        (ntp_time.root_dispersion, args.dispersion[0], args.dispersion[1], 'Root dispersion', 'ntp_root_dispersion', 's')
-    ]:
-        perfdata += f'{metric}={value};{warn};{crit}; '
-        text = f'{label}: {value:.4f} {unit}'
-        if (crit * - 1) > value or value >= crit:  # use crit as lower and upper level
-            status = 2
-            info_text += f', {text}(!!)'
-            long_output += f'{text}(!!)\n'
-        elif (warn * -1) > value or value >= warn:  # use warn as lower and upper level
-            status = max(status, 1)
-            info_text += f', {text}(!)'
-            long_output += f'{text}(!)\n'
-        else:
-            long_output += f'{text}\n'
-
-    long_output += '\nTimestamps:\n'
-    long_output += f'Reference Timestamp (ref): {ntp_time.ref_timestamp}\n'
-    long_output += f'Origin Timestamp (org): {ntp_time.orig_timestamp}\n'
-    long_output += f'Receive Timestamp (rec): {ntp_time.recv_timestamp}\n'
-    long_output += f'Transmit Timestamp (xmt): {ntp_time.tx_timestamp}\n'
-    long_output += f'Destination Timestamp (dst): {ntp_time.dest_timestamp}\n'
-
-    long_output += '\nTimes\n'
-    for label, value in [
-        ('Reference', ntp_time.ref_time),
-        ('Origin', ntp_time.orig_time),
-        ('Receive', ntp_time.recv_time),
-        ('Transmit', ntp_time.tx_time),
-        ('Destination', ntp_time.dest_time),
-    ]:
-        # long_output += f' {label} time: {strftime(time_format,gmtime(value))}\n'
-        long_output += f' {label} time: {value}\n'
-
-    info_text = info_text.strip(',').strip(' ')
-    sys.stdout.write(f'{info_text}\n{long_output} | {perfdata}\n')
-
-    return status
-
-
-if __name__ == '__main__':
-    exitcode = main()
-    sys.exit(exitcode)
diff --git a/ntplib-0.4.0.mkp b/ntplib-0.4.0.mkp
deleted file mode 100644
index fbd1aee77a99b2e257a31a461a98231d2e481906..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6183
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

diff --git a/packages/check_ntp b/packages/check_ntp
deleted file mode 100644
index d1d9e1a..0000000
--- a/packages/check_ntp
+++ /dev/null
@@ -1,12 +0,0 @@
-{'author': 'Th.L. (thl-cmk[at]outlook[dot]com)',
- 'description': 'Active check to monitor NTP servers\n',
- 'download_url': 'https://thl-cmk.hopto.org',
- 'files': {'checks': ['check_ntp'],
-           'gui': ['metrics/check_ntp.py', 'wato/check_ntp.py'],
-           'lib': ['nagios/plugins/check_ntp']},
- 'name': 'check_ntp',
- 'title': 'Active check NTP',
- 'version': '0.0.3-20230607',
- 'version.min_required': '2.1.0b1',
- 'version.packaged': '2.1.0p21',
- 'version.usable_until': None}
\ No newline at end of file
-- 
GitLab