From f28beab41bab12f6ac65ffb77d6e7ed02a2d1cb1 Mon Sep 17 00:00:00 2001 From: Simon Meggle Date: Wed, 15 Dec 2021 09:58:32 +0100 Subject: [PATCH 1/4] Added client installation instructions to README --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index aac8d801..bd752ab1 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,8 @@ Robotmk works with any Checkmk 1.6x and 2.x version and edition (CEE and CRE). ## Installation +### Installing the Robotmk server component + You can choose between two ways of installing Robotmk: * Installing as [MKP](https://checkmk.com/cms_mkps.html) is the preferred way. @@ -142,6 +144,15 @@ robotmk tcp (no man page present) In a distributed monitoring environment, make sure to check the option `Replicate extensions` in the remote site's connection options. +### Preparing the Robotmk agent + +By using Checkmk Enterprise (highly recommended), the bakery automatically deploys the Robotmk Python plugin scripts as well as `robotmk.yml` automatically. +The only thing to install on the agent beforehand are the following **Python modules** (beside of them the Robot Framework tests need, of course): + + pip3 install robotframework pyyaml mergedeep python-dateutil + +If you are in doubt if CEE is the right choice for you but want to start with the Raw Edition (CRE): the best way to learn what and how to deploy files by hand is to use the ["free" edition of CEE](https://checkmk.com/download?edition=cfe&version=stable) (free up to 25 hosts). You will see then how `robotmk.yml` gets built and where it installs the plugins. + ## Documentation All Robotmk rules come with a very **detailled and comprehensive context help**. This covers 95% of all information which is needed to work with Robotmk. @@ -231,4 +242,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! \ No newline at end of file +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! From d9fd949f659d5c8a5b9d35c2f85fe2fd855271a3 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 23 Dec 2021 15:02:44 +0100 Subject: [PATCH 2/4] Agent plugin: fixed re-execution of failed tests (sometimes in wrong order), fixed #185 --- CHANGELOG.md | 5 +++++ agents_plugins/robotmk.py | 1 + 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04da93db..d10890e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +* Agent plugin: Fixed a bug in failed test re-execution when the output XML files + were not processed in the correct chronological order. (#185) + ## 1.2.6 - 2021-12-13 * Check: performance data are only created for a S/T/K if the RF result is PASS (#177). diff --git a/agents_plugins/robotmk.py b/agents_plugins/robotmk.py index 9bce65a6..cf948ab3 100755 --- a/agents_plugins/robotmk.py +++ b/agents_plugins/robotmk.py @@ -1030,6 +1030,7 @@ def merge_results(self, suite): # output files without attempt suffix suite.update_output_filenames() outputfiles = self.glob_suite_outputfiles(suite) + outputfiles.sort() self.logdebug("Merging the results of the following result files into %s: " % suite.output) filenames = [Path(f).name for f in outputfiles] for f in filenames: From 7fbfbef72a016baaaaacef70ad02e325958371a0 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 23 Dec 2021 15:03:43 +0100 Subject: [PATCH 3/4] CHANGELOG: v1.2.7 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d10890e0..57cd68c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 1.2.7 - 2021-12-23 * Agent plugin: Fixed a bug in failed test re-execution when the output XML files were not processed in the correct chronological order. (#185) From 3201704ca780f0101716af8290a5db027dbea8f4 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 23 Dec 2021 15:03:43 +0100 Subject: [PATCH 4/4] Version bump: v1.2.7 --- agents_plugins/robotmk.py | 2 +- bakery/v1/robotmk.py | 2 +- bakery/v2/robotmk.py | 2 +- checks/v1/robotmk | 2 +- checks/v2/robotmk.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agents_plugins/robotmk.py b/agents_plugins/robotmk.py index cf948ab3..918b775f 100755 --- a/agents_plugins/robotmk.py +++ b/agents_plugins/robotmk.py @@ -49,7 +49,7 @@ local_tz = datetime.utcnow().astimezone().tzinfo -ROBOTMK_VERSION = 'v1.2.6' +ROBOTMK_VERSION = 'v1.2.7' class RMKConfig(): _PRESERVED_WORDS = [ diff --git a/bakery/v1/robotmk.py b/bakery/v1/robotmk.py index c2c1173b..c0aa2dcd 100644 --- a/bakery/v1/robotmk.py +++ b/bakery/v1/robotmk.py @@ -18,7 +18,7 @@ # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA. -ROBOTMK_VERSION = 'v1.2.6' +ROBOTMK_VERSION = 'v1.2.7' import cmk.utils.paths import os diff --git a/bakery/v2/robotmk.py b/bakery/v2/robotmk.py index cc79d13d..ec6ed2d9 100644 --- a/bakery/v2/robotmk.py +++ b/bakery/v2/robotmk.py @@ -18,7 +18,7 @@ # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA. -ROBOTMK_VERSION = 'v1.2.6' +ROBOTMK_VERSION = 'v1.2.7' from typing import Iterable, TypedDict, List from pathlib import Path diff --git a/checks/v1/robotmk b/checks/v1/robotmk index 07b66931..6f5143da 100644 --- a/checks/v1/robotmk +++ b/checks/v1/robotmk @@ -34,7 +34,7 @@ from collections import namedtuple iam = "robotmk" # DO NOT DELETE inventory_robotmk_rules = [] -ROBOTMK_VERSION = 'v1.2.6' +ROBOTMK_VERSION = 'v1.2.7' DEFAULT_SVC_PREFIX = 'Robot Framework E2E $SUITEID$SPACE-$SPACE' HTML_LOG_DIR = "%s/%s" % (os.environ['OMD_ROOT'], 'local/share/addons/robotmk') diff --git a/checks/v2/robotmk.py b/checks/v2/robotmk.py index 11a3a68d..7daadd2f 100644 --- a/checks/v2/robotmk.py +++ b/checks/v2/robotmk.py @@ -35,7 +35,7 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import * from cmk.utils.exceptions import MKGeneralException -ROBOTMK_VERSION = 'v1.2.6' +ROBOTMK_VERSION = 'v1.2.7' DEFAULT_SVC_PREFIX = 'Robot Framework E2E $SUITEID$SPACE-$SPACE' HTML_LOG_DIR = "%s/%s" % (os.environ['OMD_ROOT'], 'local/share/addons/robotmk')