From 6f848193611d75365a6821f03441bf621c4442cb Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Thu, 16 Jan 2025 18:03:17 +0100 Subject: [PATCH] fixed missing lib/args.py in MKP package --- README.md | 2 +- mkp/bgp_topology-0.0.4-20240116.mkp | Bin 0 -> 10441 bytes .../bgp_topology/constants.py | 2 +- .../bgp_topology/lib/args.py | 126 ++++++++++++++++++ .../bgp_topology/lib/bgp_topology.py | 1 + source/packages/bgp_topology | 5 +- 6 files changed, 132 insertions(+), 4 deletions(-) create mode 100644 mkp/bgp_topology-0.0.4-20240116.mkp create mode 100644 source/cmk_addons_plugins/bgp_topology/lib/args.py diff --git a/README.md b/README.md index 2f96fda..05d21ff 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/bgp_topology-0.0.3-20240104.mkp "bgp_topology-0.0.3-20240104.mkp" +[PACKAGE]: ../../raw/master/mkp/bgp_topology-0.0.4-20240116.mkp "bgp_topology-0.0.4-20240116.mkp" # BGP Topology This plugin will create a Network Visualization Topology from the Peer relations of your _BGP peer services_ in Checkmk. diff --git a/mkp/bgp_topology-0.0.4-20240116.mkp b/mkp/bgp_topology-0.0.4-20240116.mkp new file mode 100644 index 0000000000000000000000000000000000000000..4f1664b90c10b6cdca31c8bab5f94a06f7510015 GIT binary patch literal 10441 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 literal 0 HcmV?d00001 diff --git a/source/cmk_addons_plugins/bgp_topology/constants.py b/source/cmk_addons_plugins/bgp_topology/constants.py index 950bb41..0ca394e 100644 --- a/source/cmk_addons_plugins/bgp_topology/constants.py +++ b/source/cmk_addons_plugins/bgp_topology/constants.py @@ -13,7 +13,7 @@ __AUTHOR__ = 'thl-cmk[at]outlook[dot]com' __URL__ = 'https://thl-cmk.hopto.org/gitlab/checkmk/vendor-independent/bgp_topology' __USAGE__ = '~/local/lib/python3/cmk_addons/plugins/bgp_topology/libexec/check_bgp_topology --make-default --host bgp1' -__VERSION__ = '0.0.3-20250104' +__VERSION__ = '0.0.4-20250116' from typing import Final diff --git a/source/cmk_addons_plugins/bgp_topology/lib/args.py b/source/cmk_addons_plugins/bgp_topology/lib/args.py new file mode 100644 index 0000000..4ed36e0 --- /dev/null +++ b/source/cmk_addons_plugins/bgp_topology/lib/args.py @@ -0,0 +1,126 @@ +#!/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 : 2024-12-23 +# File : bgp_topology/lib/args.py + + +from argparse import ArgumentParser, Namespace, RawTextHelpFormatter +from collections.abc import Sequence + +from cmk_addons.plugins.bgp_topology.constants import ( + __AUTHOR__, + __URL__, + __USAGE__, + __VERSION__, + ARG_PARSER_ANCHOR, + ARG_PARSER_ANCHOR_AS, + ARG_PARSER_ANCHOR_BOTH, + ARG_PARSER_ANCHOR_ID, + ARG_PARSER_EMBLEM_AS, + ARG_PARSER_EMBLEM_ID, + ARG_PARSER_HOST, + ARG_PARSER_MAKE_DEFAULT, + ARG_PARSER_NONE, + ARG_PARSER_SITES_EXCLUDE, + ARG_PARSER_SITES_INCLUDE, + ARG_PARSER_DEBUG, + EMBLEM_BGP_AS, + EMBLEM_BGP_ID, +) +from cmk_addons.plugins.bgp_topology.lib.utils import ( + OMD_ROOT, +) + + +class Params(Namespace): + bgp_anchor: str + make_default: bool = False + bgp_emblem_as: str = EMBLEM_BGP_AS + bgp_emblem_id: str = EMBLEM_BGP_ID + include_sites: Sequence[str] | None = None + exclude_sites: Sequence[str] | None = None + host: str = '' + debug: bool = False + + +def parse_arguments(argv: Sequence[str]) -> Params: + parser = ArgumentParser( + prog='bgp_topology', + formatter_class=RawTextHelpFormatter, + description=f"""Create BGP peer network topology for Checkmk""", + epilog=f""" +Example usage: +{__USAGE__} + +Version: {__VERSION__} | Written by {__AUTHOR__} +for more information see: {__URL__} + """ + ) + parser.add_argument( + ARG_PARSER_ANCHOR, + choices=[ + ARG_PARSER_ANCHOR_BOTH, + ARG_PARSER_ANCHOR_AS, + ARG_PARSER_ANCHOR_ID, + ARG_PARSER_NONE, + ], + default=ARG_PARSER_ANCHOR_BOTH, + help='Anchor for external BGP objects (default: %(default)s).', + ) + parser.add_argument( + ARG_PARSER_EMBLEM_AS, + type=str, + default=EMBLEM_BGP_AS, + help='Emblem to use for BGP-AS objects (default: %(default)s).', + ) + parser.add_argument( + ARG_PARSER_EMBLEM_ID, + type=str, + default=EMBLEM_BGP_ID, + help='Emblem to use for BGP-ID objects (default: %(default)s).', + ) + parser.add_argument( + ARG_PARSER_MAKE_DEFAULT, + action='store_const', const=True, + default=False, + help='Make this topology the default (default: %(default)s).', + ) + parser.add_argument( + ARG_PARSER_HOST, + required=True, + type=str, + help="""The name of the Checkmk host to which the plugin is attached. This is set +automatically by Checkmk. If a site filter is active, the host name is +appended to the subdirectory where the topology is stored (“BGP†becomes +“BGP_host_nameâ€). This way we can have more than one BGP topology without +overwriting each other.""", + ) + site_filter = parser.add_mutually_exclusive_group() + site_filter.add_argument( + ARG_PARSER_SITES_INCLUDE, + type=str, + nargs='+', + help=f"""List of Checkmk site names to include in the topology creation. +Can not used together with {ARG_PARSER_SITES_EXCLUDE}""", + ) + site_filter.add_argument( + ARG_PARSER_SITES_EXCLUDE, + type=str, + nargs='+', + help=f"""List of Checkmk site names to exclude from the topology creation. +Can not used together with {ARG_PARSER_SITES_INCLUDE}""", + ) + parser.add_argument( + ARG_PARSER_DEBUG, + action='store_const', const=True, + default=False, + help='enable debug output', + ) + + return parser.parse_args(argv) + diff --git a/source/cmk_addons_plugins/bgp_topology/lib/bgp_topology.py b/source/cmk_addons_plugins/bgp_topology/lib/bgp_topology.py index dbe8624..4d42221 100644 --- a/source/cmk_addons_plugins/bgp_topology/lib/bgp_topology.py +++ b/source/cmk_addons_plugins/bgp_topology/lib/bgp_topology.py @@ -13,6 +13,7 @@ # fixed handling of anchors # changed topology name to be always BGP_{host} # 2025-01-04: changed output directory to host name only +# 2025-0116: fixed missing lib/args.py in MKP package from collections.abc import MutableMapping, MutableSequence, Sequence from dataclasses import dataclass diff --git a/source/packages/bgp_topology b/source/packages/bgp_topology index 4169455..0635daa 100644 --- a/source/packages/bgp_topology +++ b/source/packages/bgp_topology @@ -29,10 +29,11 @@ 'bgp_topology/libexec/check_bgp_topology', 'bgp_topology/rulesets/bgp_topology.py', 'bgp_topology/server_side_calls/bgp_topology.py', - 'bgp_topology/graphing/bgp_topology.py']}, + 'bgp_topology/graphing/bgp_topology.py', + 'bgp_topology/lib/args.py']}, 'name': 'bgp_topology', 'title': 'BGP peer topology', - 'version': '0.0.3-20240104', + 'version': '0.0.4-20240116', 'version.min_required': '2.3.0b1', 'version.packaged': 'cmk-mkp-tool 0.2.0', 'version.usable_until': '2.4.0b1'} -- GitLab