lists.checkmk.com
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
List overview
Download
Checkmk git commits
December 2018
----- 2024 -----
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
checkmk-commits@lists.checkmk.com
15 participants
342 discussions
Start a n
N
ew thread
agent_kubernetes: simplify the parsing of pods, cpu, and memory
by Tom Baerwinkel
Module: check_mk Branch: master Commit: 3861de209b788c9e14fd485650ac666a2371dbe5 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=3861de209b788c…
Author: Tom Baerwinkel <tb(a)mathias-kettner.de> Date: Mon Dec 3 15:51:36 2018 +0100 agent_kubernetes: simplify the parsing of pods, cpu, and memory CMK-511 Change-Id: I8d368691cf5a5fefa362b73fc9a2f62b248fe657 --- agents/special/agent_kubernetes | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/agents/special/agent_kubernetes b/agents/special/agent_kubernetes index f0a52c6..8b1b88b 100755 --- a/agents/special/agent_kubernetes +++ b/agents/special/agent_kubernetes @@ -91,27 +91,15 @@ def setup_logging(verbosity): logging.basicConfig(level=lvl, format=fmt) -def parse_int(value): - # type: (Optional[str]) -> Optional[int] - if value is None: - return None - return int(value) - - def parse_cpu(value): - # type: (Optional[str]) -> Optional[float] - if value is None: - return None + # type: (str) -> float if value.endswith('m'): return 0.001 * float(value[:-1]) return float(value) def parse_memory(value): - # type: (Optional[str]) -> Optional[float] - if value is None: - return None - + # type: (str) -> float if value.endswith('Ki'): return 1024**1 * float(value[:-2]) if value.endswith('Mi'): @@ -173,21 +161,21 @@ class Node(Metadata): @property def resources(self): - # type: () -> Dict[str, Dict[str, Optional[float]]] + # type: () -> Dict[str, Dict[str, float]] if not self._status: return {} view, capacity, allocatable = {}, self._status.capacity, self._status.allocatable if capacity: view['capacity'] = { - 'cpu': parse_cpu(capacity.get('cpu')), - 'memory': parse_memory(capacity.get('memory')), - 'pods': parse_int(capacity.get('pods')), + 'cpu': parse_cpu(capacity.get('cpu', '0.0')), + 'memory': parse_memory(capacity.get('memory', '0.0')), + 'pods': int(capacity.get('pods', '0')), } if allocatable: view['allocatable'] = { - 'cpu': parse_cpu(allocatable.get('cpu')), - 'memory': parse_memory(allocatable.get('memory')), - 'pods': parse_int(allocatable.get('pods')), + 'cpu': parse_cpu(allocatable.get('cpu', '0.0')), + 'memory': parse_memory(allocatable.get('memory', '0.0')), + 'pods': int(allocatable.get('pods', '0')), } return view @@ -277,8 +265,11 @@ class PersistentVolume(Metadata): @property def capacity(self): # type: () -> Optional[float] - if self._spec and self._spec.capacity: - return parse_memory(self._spec.capacity.get('storage')) + if not self._spec or not self._spec.capacity: + return None + storage = self._spec.capacity.get('storage') + if storage: + return parse_memory(storage) return None @property
5 years, 6 months
1
0
0
0
Revert "Additional permission function cleanups"
by Lars Michelsen
Module: check_mk Branch: master Commit: d339dd4ab3fc89f617fed21052934e740db7578e URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=d339dd4ab3fc89…
Author: Lars Michelsen <lm(a)mathias-kettner.de> Date: Tue Dec 4 09:04:05 2018 +0100 Revert "Additional permission function cleanups" This reverts commit 0f1c9ba4a0eeba93b70d57e42665c085f64e0eb8. --- cmk/gui/config.py | 41 ++++++++++++++++++++++++++++++----- cmk/gui/pagetypes.py | 11 +++------- cmk/gui/permissions.py | 31 -------------------------- cmk/gui/visuals.py | 7 +++--- tests/unit/cmk/gui/test_gui_config.py | 4 ++-- 5 files changed, 44 insertions(+), 50 deletions(-) diff --git a/cmk/gui/config.py b/cmk/gui/config.py index 9f35fea..176b6cb 100644 --- a/cmk/gui/config.py +++ b/cmk/gui/config.py @@ -75,7 +75,8 @@ config_dir = cmk.paths.var_dir + "/web" # Stores the initial configuration values default_config = {} -# TODO: Clean this up +# Global table of available permissions. Plugins may add their own +# permissions by calling declare_permission() permission_declaration_functions = [] # Constants for BI @@ -318,9 +319,37 @@ def tag_group_title(tag): # | Declarations of permissions and roles | # '----------------------------------------------------------------------' + +# Kept for compatibility with pre 1.6 GUI plugins +def declare_permission(name, title, description, defaults): + if isinstance(name, unicode): + name = name.encode("utf-8") + + section_name, permission_name = name.split(".", 1) + + cls = type( + "LegacyPermission%s%s" % (section_name.title(), permission_name.title()), + (permissions.Permission,), { + "_section_name": section_name, + "section": property(lambda s: permissions.permission_section_registry[s._section_name]), + "permission_name": permission_name, + "name": name, + "title": title, + "description": description, + "defaults": defaults, + }) + permissions.permission_registry.register(cls) + + # Kept for compatibility with pre 1.6 GUI plugins -declare_permission = permissions.declare_permission -declare_permission_section = permissions.declare_permission_section +def declare_permission_section(name, title, prio=50, do_sort=False): + cls = type("LegacyPermissionSection%s" % name.title(), (permissions.PermissionSection,), { + "name": name, + "title": title, + "sort_index": prio, + "do_sort": do_sort, + }) + permissions.permission_section_registry.register(cls) # Some module have a non-fixed list of permissions. For example for @@ -329,19 +358,21 @@ declare_permission_section = permissions.declare_permission_section # that purpose module can register functions. These functions should # just call declare_permission(). They are being called in the correct # situations. -# TODO: Clean this up def declare_dynamic_permissions(func): permission_declaration_functions.append(func) # This function needs to be called by all code that needs access # to possible dynamic permissions -# TODO: Clean this up def load_dynamic_permissions(): for func in permission_declaration_functions: func() +def permission_exists(pname): + return pname in permissions.permission_registry + + def get_role_permissions(): """Returns the set of permissions for all roles""" role_permissions = {} diff --git a/cmk/gui/pagetypes.py b/cmk/gui/pagetypes.py index b1bef71..cd655c6 100644 --- a/cmk/gui/pagetypes.py +++ b/cmk/gui/pagetypes.py @@ -57,12 +57,7 @@ from cmk.gui.valuespec import ( from cmk.gui.i18n import _u, _ from cmk.gui.globals import html -from cmk.gui.exceptions import ( - MKUserError, - MKGeneralException, - MKAuthException, -) -from cmk.gui.permissions import permission_registry +from cmk.gui.exceptions import MKUserError, MKGeneralException, MKAuthException # .--Base----------------------------------------------------------------. # | ____ | @@ -504,7 +499,7 @@ class Overridable(Base): # TODO: Wie is die Semantik hier genau? Umsetzung vervollständigen! def may_see(self): perm_name = "%s.%s" % (self.type_name(), self.name()) - if perm_name in permission_registry and not config.user.may(perm_name): + if config.permission_exists(perm_name) and not config.user.may(perm_name): return False # if self.owner() == "" and not config.user.may(perm_name): @@ -793,7 +788,7 @@ class Overridable(Base): @classmethod def declare_permission(cls, page): permname = "%s.%s" % (cls.type_name(), page.name()) - if page.is_public() and permname not in permission_registry: + if page.is_public() and not config.permission_exists(permname): config.declare_permission(permname, page.title(), page.description(), ['admin', 'user', 'guest']) diff --git a/cmk/gui/permissions.py b/cmk/gui/permissions.py index 3caca95..f1630b6 100644 --- a/cmk/gui/permissions.py +++ b/cmk/gui/permissions.py @@ -150,34 +150,3 @@ class PermissionRegistry(cmk.plugin_registry.ClassRegistry): permission_registry = PermissionRegistry() - - -# Kept for compatibility with pre 1.6 GUI plugins -def declare_permission_section(name, title, prio=50, do_sort=False): - cls = type("LegacyPermissionSection%s" % name.title(), (PermissionSection,), { - "name": name, - "title": title, - "sort_index": prio, - "do_sort": do_sort, - }) - permission_section_registry.register(cls) - - -# Kept for compatibility with pre 1.6 GUI plugins -def declare_permission(name, title, description, defaults): - if isinstance(name, unicode): - name = name.encode("utf-8") - - section_name, permission_name = name.split(".", 1) - - cls = type( - "LegacyPermission%s%s" % (section_name.title(), permission_name.title()), (Permission,), { - "_section_name": section_name, - "section": property(lambda s: permission_section_registry[s._section_name]), - "permission_name": permission_name, - "name": name, - "title": title, - "description": description, - "defaults": defaults, - }) - permission_registry.register(cls) diff --git a/cmk/gui/visuals.py b/cmk/gui/visuals.py index 1246f15..2db1310 100644 --- a/cmk/gui/visuals.py +++ b/cmk/gui/visuals.py @@ -66,7 +66,6 @@ from cmk.gui.plugins.visuals.utils import ( # pylint: disable=unused-import FilterTristate, FilterUnicodeFilter, FilterSite, ) from cmk.gui.plugins.visuals.utils import _infos as infos -from cmk.gui.permissions import permission_registry if not cmk.is_raw_edition(): import cmk.gui.cee.plugins.visuals @@ -266,7 +265,7 @@ def load_visuals_of_a_user(what, builtin_visuals, skip_func, lock, path, user): def declare_visual_permission(what, name, visual): permname = "%s.%s" % (what[:-1], name) - if visual["public"] and permname not in permission_registry: + if visual["public"] and not config.permission_exists(permname): config.declare_permission(permname, visual["title"], visual["description"], ['admin', 'user', 'guest']) @@ -319,7 +318,7 @@ def available(what, all_visuals): u, "general.force_" + what): # Honor original permissions for the current user permname = "%s.%s" % (permprefix, n) - if permname in permission_registry \ + if config.permission_exists(permname) \ and not config.user.may(permname): continue visuals[n] = visual @@ -338,7 +337,7 @@ def available(what, all_visuals): u, "general.publish_" + what): # Is there a builtin visual with the same name? If yes, honor permissions. permname = "%s.%s" % (permprefix, n) - if permname in permission_registry \ + if config.permission_exists(permname) \ and not config.user.may(permname): continue visuals[n] = visual diff --git a/tests/unit/cmk/gui/test_gui_config.py b/tests/unit/cmk/gui/test_gui_config.py index 1e68c71b..318e884 100644 --- a/tests/unit/cmk/gui/test_gui_config.py +++ b/tests/unit/cmk/gui/test_gui_config.py @@ -2480,9 +2480,9 @@ def test_declare_permission(monkeypatch): assert "bla" in permissions.permission_section_registry monkeypatch.setattr(permissions, "permission_registry", permissions.PermissionRegistry()) - assert "bla.blub" not in permissions.permission_registry + assert not config.permission_exists("bla.blub") config.declare_permission("bla.blub", u"bla perm", u"descrrrrr", ["admin"]) - assert "bla.blub" in permissions.permission_registry + assert config.permission_exists("bla.blub") permission = permissions.permission_registry["bla.blub"]() assert permission.section == permissions.permission_section_registry["bla"]
5 years, 6 months
1
0
0
0
Additional permission function cleanups
by Lars Michelsen
Module: check_mk Branch: master Commit: 0a779d3a7973f838296ff6566c425e6da848019e URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0a779d3a7973f8…
Author: Lars Michelsen <lm(a)mathias-kettner.de> Date: Sat Dec 1 17:56:55 2018 +0100 Additional permission function cleanups * Replaced config.permission_exists() calls with direct permission_registry checks. * Moved compatibility declare_permission() and declare_permission_section() implementations to the permission module. Aliases in config.py need to be kept for compatibilty Change-Id: Ic4356821f7e6fdb1ec806969bdcf93cc20289930 --- cmk/gui/config.py | 41 +++++------------------------------ cmk/gui/pagetypes.py | 11 +++++++--- cmk/gui/permissions.py | 31 ++++++++++++++++++++++++++ cmk/gui/visuals.py | 7 +++--- tests/unit/cmk/gui/test_gui_config.py | 4 ++-- 5 files changed, 50 insertions(+), 44 deletions(-) diff --git a/cmk/gui/config.py b/cmk/gui/config.py index 176b6cb..9f35fea 100644 --- a/cmk/gui/config.py +++ b/cmk/gui/config.py @@ -75,8 +75,7 @@ config_dir = cmk.paths.var_dir + "/web" # Stores the initial configuration values default_config = {} -# Global table of available permissions. Plugins may add their own -# permissions by calling declare_permission() +# TODO: Clean this up permission_declaration_functions = [] # Constants for BI @@ -319,37 +318,9 @@ def tag_group_title(tag): # | Declarations of permissions and roles | # '----------------------------------------------------------------------' - -# Kept for compatibility with pre 1.6 GUI plugins -def declare_permission(name, title, description, defaults): - if isinstance(name, unicode): - name = name.encode("utf-8") - - section_name, permission_name = name.split(".", 1) - - cls = type( - "LegacyPermission%s%s" % (section_name.title(), permission_name.title()), - (permissions.Permission,), { - "_section_name": section_name, - "section": property(lambda s: permissions.permission_section_registry[s._section_name]), - "permission_name": permission_name, - "name": name, - "title": title, - "description": description, - "defaults": defaults, - }) - permissions.permission_registry.register(cls) - - # Kept for compatibility with pre 1.6 GUI plugins -def declare_permission_section(name, title, prio=50, do_sort=False): - cls = type("LegacyPermissionSection%s" % name.title(), (permissions.PermissionSection,), { - "name": name, - "title": title, - "sort_index": prio, - "do_sort": do_sort, - }) - permissions.permission_section_registry.register(cls) +declare_permission = permissions.declare_permission +declare_permission_section = permissions.declare_permission_section # Some module have a non-fixed list of permissions. For example for @@ -358,21 +329,19 @@ def declare_permission_section(name, title, prio=50, do_sort=False): # that purpose module can register functions. These functions should # just call declare_permission(). They are being called in the correct # situations. +# TODO: Clean this up def declare_dynamic_permissions(func): permission_declaration_functions.append(func) # This function needs to be called by all code that needs access # to possible dynamic permissions +# TODO: Clean this up def load_dynamic_permissions(): for func in permission_declaration_functions: func() -def permission_exists(pname): - return pname in permissions.permission_registry - - def get_role_permissions(): """Returns the set of permissions for all roles""" role_permissions = {} diff --git a/cmk/gui/pagetypes.py b/cmk/gui/pagetypes.py index cd655c6..b1bef71 100644 --- a/cmk/gui/pagetypes.py +++ b/cmk/gui/pagetypes.py @@ -57,7 +57,12 @@ from cmk.gui.valuespec import ( from cmk.gui.i18n import _u, _ from cmk.gui.globals import html -from cmk.gui.exceptions import MKUserError, MKGeneralException, MKAuthException +from cmk.gui.exceptions import ( + MKUserError, + MKGeneralException, + MKAuthException, +) +from cmk.gui.permissions import permission_registry # .--Base----------------------------------------------------------------. # | ____ | @@ -499,7 +504,7 @@ class Overridable(Base): # TODO: Wie is die Semantik hier genau? Umsetzung vervollständigen! def may_see(self): perm_name = "%s.%s" % (self.type_name(), self.name()) - if config.permission_exists(perm_name) and not config.user.may(perm_name): + if perm_name in permission_registry and not config.user.may(perm_name): return False # if self.owner() == "" and not config.user.may(perm_name): @@ -788,7 +793,7 @@ class Overridable(Base): @classmethod def declare_permission(cls, page): permname = "%s.%s" % (cls.type_name(), page.name()) - if page.is_public() and not config.permission_exists(permname): + if page.is_public() and permname not in permission_registry: config.declare_permission(permname, page.title(), page.description(), ['admin', 'user', 'guest']) diff --git a/cmk/gui/permissions.py b/cmk/gui/permissions.py index f1630b6..3caca95 100644 --- a/cmk/gui/permissions.py +++ b/cmk/gui/permissions.py @@ -150,3 +150,34 @@ class PermissionRegistry(cmk.plugin_registry.ClassRegistry): permission_registry = PermissionRegistry() + + +# Kept for compatibility with pre 1.6 GUI plugins +def declare_permission_section(name, title, prio=50, do_sort=False): + cls = type("LegacyPermissionSection%s" % name.title(), (PermissionSection,), { + "name": name, + "title": title, + "sort_index": prio, + "do_sort": do_sort, + }) + permission_section_registry.register(cls) + + +# Kept for compatibility with pre 1.6 GUI plugins +def declare_permission(name, title, description, defaults): + if isinstance(name, unicode): + name = name.encode("utf-8") + + section_name, permission_name = name.split(".", 1) + + cls = type( + "LegacyPermission%s%s" % (section_name.title(), permission_name.title()), (Permission,), { + "_section_name": section_name, + "section": property(lambda s: permission_section_registry[s._section_name]), + "permission_name": permission_name, + "name": name, + "title": title, + "description": description, + "defaults": defaults, + }) + permission_registry.register(cls) diff --git a/cmk/gui/visuals.py b/cmk/gui/visuals.py index 2db1310..1246f15 100644 --- a/cmk/gui/visuals.py +++ b/cmk/gui/visuals.py @@ -66,6 +66,7 @@ from cmk.gui.plugins.visuals.utils import ( # pylint: disable=unused-import FilterTristate, FilterUnicodeFilter, FilterSite, ) from cmk.gui.plugins.visuals.utils import _infos as infos +from cmk.gui.permissions import permission_registry if not cmk.is_raw_edition(): import cmk.gui.cee.plugins.visuals @@ -265,7 +266,7 @@ def load_visuals_of_a_user(what, builtin_visuals, skip_func, lock, path, user): def declare_visual_permission(what, name, visual): permname = "%s.%s" % (what[:-1], name) - if visual["public"] and not config.permission_exists(permname): + if visual["public"] and permname not in permission_registry: config.declare_permission(permname, visual["title"], visual["description"], ['admin', 'user', 'guest']) @@ -318,7 +319,7 @@ def available(what, all_visuals): u, "general.force_" + what): # Honor original permissions for the current user permname = "%s.%s" % (permprefix, n) - if config.permission_exists(permname) \ + if permname in permission_registry \ and not config.user.may(permname): continue visuals[n] = visual @@ -337,7 +338,7 @@ def available(what, all_visuals): u, "general.publish_" + what): # Is there a builtin visual with the same name? If yes, honor permissions. permname = "%s.%s" % (permprefix, n) - if config.permission_exists(permname) \ + if permname in permission_registry \ and not config.user.may(permname): continue visuals[n] = visual diff --git a/tests/unit/cmk/gui/test_gui_config.py b/tests/unit/cmk/gui/test_gui_config.py index 318e884..1e68c71b 100644 --- a/tests/unit/cmk/gui/test_gui_config.py +++ b/tests/unit/cmk/gui/test_gui_config.py @@ -2480,9 +2480,9 @@ def test_declare_permission(monkeypatch): assert "bla" in permissions.permission_section_registry monkeypatch.setattr(permissions, "permission_registry", permissions.PermissionRegistry()) - assert not config.permission_exists("bla.blub") + assert "bla.blub" not in permissions.permission_registry config.declare_permission("bla.blub", u"bla perm", u"descrrrrr", ["admin"]) - assert config.permission_exists("bla.blub") + assert "bla.blub" in permissions.permission_registry permission = permissions.permission_registry["bla.blub"]() assert permission.section == permissions.permission_section_registry["bla"]
5 years, 6 months
1
0
0
0
No need for a 2nd YAPF.
by Sven Panne
Module: check_mk Branch: master Commit: 3b139610e424d9db882c7c9e16df0228ed6ee252 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=3b139610e424d9…
Author: Sven Panne <sp(a)mathias-kettner.de> Date: Tue Dec 4 08:19:36 2018 +0100 No need for a 2nd YAPF. Change-Id: Ic9ccac10872318d8feb0dde052851c366816c6da --- tests/static/Pipfile | 1 - tests/static/Pipfile.lock | 10 +--------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/tests/static/Pipfile b/tests/static/Pipfile index b0aadf3..95f1296 100644 --- a/tests/static/Pipfile +++ b/tests/static/Pipfile @@ -7,7 +7,6 @@ name = "pypi" [packages] mypy = "*" -yapf = "*" [requires] python_version = "3.6" diff --git a/tests/static/Pipfile.lock b/tests/static/Pipfile.lock index 5aff369..d8f3371 100644 --- a/tests/static/Pipfile.lock +++ b/tests/static/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "06196ca6a65c5b0e6c328ac0c3fb166dfcb1c4d0f6ce292f2384ddecf87aa796" + "sha256": "4180a1c10316e88b6dc75c0329d489ff537715363e78ae1a44149aaf74bca00e" }, "pipfile-spec": 6, "requires": { @@ -58,14 +58,6 @@ "sha256:f19f2a4f547505fe9072e15f6f4ae714af51b5a681a97f187971f50c283193b6" ], "version": "==1.1.0" - }, - "yapf": { - "hashes": [ - "sha256:b96815bd0bbd2ab290f2ae9e610756940b17a0523ef2f6b2d31da749fc395137", - "sha256:cebb6faf35c9027c08996c07831b8971f3d67c0eb615269f66dfd7e6815fdc2a" - ], - "index": "pypi", - "version": "==0.24.0" } }, "develop": {}
5 years, 6 months
1
0
0
0
Refreshed Pipfile.lock.
by Sven Panne
Module: check_mk Branch: master Commit: 6b231517494fb9ab3e4b45c239e0b0844d9c5364 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=6b231517494fb9…
Author: Sven Panne <sp(a)mathias-kettner.de> Date: Tue Dec 4 08:17:37 2018 +0100 Refreshed Pipfile.lock. Change-Id: I4c10af6efe2b330f4bd98f20a0ca4d74d4761bbc --- Pipfile.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index 8a3aa25..27eb1e3 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1056,18 +1056,18 @@ }, "docker": { "hashes": [ - "sha256:31421f16c01ffbd1ea7353c7e7cd7540bf2e5906d6173eb51c8fea4e0ea38b19", - "sha256:fbe82af9b94ccced752527c8de07fa20267f9634b48674ba478a0bb4000a0b1e" + "sha256:145c673f531df772a957bd1ebc49fc5a366bcd55efa0e64bbd029f5cc7a1fd8e", + "sha256:666611862edded75f6049893f779bff629fdcd4cd21ccf01d648626e709adb13" ], "index": "pypi", - "version": "==3.5.1" + "version": "==3.6.0" }, "docker-pycreds": { "hashes": [ - "sha256:0a941b290764ea7286bd77f54c0ace43b86a8acd6eb9ead3de9840af52384079", - "sha256:8b0e956c8d206f832b06aa93a710ba2c3bcbacb5a314449c040b0b814355bbff" + "sha256:6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4", + "sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49" ], - "version": "==0.3.0" + "version": "==0.4.0" }, "enum34": { "hashes": [ @@ -1090,7 +1090,7 @@ "sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca", "sha256:a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" ], - "markers": "python_version < '3.0'", + "markers": "python_version < '3.3'", "version": "==1.0.2" }, "futures": {
5 years, 6 months
1
0
0
0
Use a mypy.ini file instead of command line arguments
by Tom Baerwinkel
Module: check_mk Branch: master Commit: f1bfcaa704d8e821141a5b24cc446b2a48fe2079 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f1bfcaa704d8e8…
Author: Tom Baerwinkel <tb(a)mathias-kettner.de> Date: Mon Dec 3 13:11:10 2018 +0100 Use a mypy.ini file instead of command line arguments Change-Id: Ib2bf09a0caac31aed41d74f3c853f9cdbf3c8780 --- mypy.ini | 4 ++++ tests/static/Makefile | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 0000000..cf6ac2b --- /dev/null +++ b/mypy.ini @@ -0,0 +1,4 @@ +[mypy] +python_version = 2.7 +strict_optional = True +follow_imports = silent diff --git a/tests/static/Makefile b/tests/static/Makefile index c74e556..c591b32 100644 --- a/tests/static/Makefile +++ b/tests/static/Makefile @@ -15,7 +15,7 @@ PIPENV := PIPENV_NO_INHERIT=true PIPENV_VENV_IN_PROJECT=true pipenv .PHONY: test-mypy test-mypy: .venv - MYPYPATH="$(MYPYPATH)" $(PIPENV) run mypy --py2 --follow-imports=silent --strict-optional $(FILES_TO_CHECK) + MYPYPATH="$(MYPYPATH)" $(PIPENV) run mypy --config-file=$(realpath ../../mypy.ini) $(FILES_TO_CHECK) Pipfile.lock: Pipfile $(PIPENV) lock
5 years, 6 months
1
0
0
0
Use six.string_types where appropriate.
by Sven Panne
Module: check_mk Branch: master Commit: 7a2edc8cd2ccc85f01cef54c027eef504d216440 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7a2edc8cd2ccc8…
Author: Sven Panne <sp(a)mathias-kettner.de> Date: Mon Dec 3 14:54:49 2018 +0100 Use six.string_types where appropriate. Change-Id: I7e7d51efed292e8fa1fcb3750f07f824c941510e --- checks/check_dns | 1 + checks/if.include | 1 + cmk/crash_reporting.py | 10 +++------- cmk/ec/actions.py | 10 +++------- cmk/ec/history.py | 4 +++- cmk/ec/main.py | 11 ++--------- cmk/gui/bi.py | 13 ++++--------- cmk/gui/forms.py | 9 ++------- cmk/gui/htmllib.py | 15 ++++----------- cmk/gui/http.py | 10 ++-------- cmk/gui/metrics.py | 9 ++------- cmk/gui/plugins/userdb/ldap_connector.py | 12 +++--------- cmk/gui/plugins/views/icons/__init__.py | 9 ++------- cmk/gui/plugins/wato/active_checks.py | 9 ++------- cmk/gui/plugins/wato/utils/__init__.py | 6 ++++-- cmk/gui/plugins/watolib/utils.py | 6 ++++-- cmk/gui/userdb.py | 11 +++-------- cmk/gui/valuespec.py | 10 ++-------- cmk/gui/wato/mkeventd.py | 11 +++-------- cmk/gui/watolib.py | 12 +++--------- cmk_base/autochecks.py | 9 ++------- cmk_base/check_api.py | 13 ++++--------- cmk_base/checking.py | 11 +++-------- cmk_base/classic_snmp.py | 9 ++------- cmk_base/config.py | 13 ++++--------- cmk_base/data_sources/snmp.py | 9 ++------- cmk_base/events.py | 9 ++------- cmk_base/parent_scan.py | 9 ++------- 28 files changed, 74 insertions(+), 187 deletions(-) Diff:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commitdiff;h=7a2edc8cd2…
5 years, 6 months
1
0
0
0
6837 FIX docker_node_info: Handle unescaped newlines
by Moritz Kiemer
Module: check_mk Branch: master Commit: 9bcf85397bcf8c038a7b3661675d9d2ff59e6985 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9bcf85397bcf8c…
Author: Moritz Kiemer <mo(a)mathias-kettner.de> Date: Wed Nov 7 08:45:32 2018 +0100 6837 FIX docker_node_info: Handle unescaped newlines Previously the check did not handle unescaped newlines, ultimately resulting in the unhelpful exception "KeyError: 'Swarm'". Change-Id: I84ffb9afc2444cb979e6f478362af68f1fce37be --- .werks/6837 | 11 ++++ checks/docker.include | 3 +- .../generictests/datasets/docker_node_info_2.py | 61 ++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) diff --git a/.werks/6837 b/.werks/6837 new file mode 100644 index 0000000..608e972 --- /dev/null +++ b/.werks/6837 @@ -0,0 +1,11 @@ +Title: docker_node_info: Handle unescaped newlines +Level: 1 +Component: checks +Compatible: compat +Edition: cre +Version: 1.6.0i1 +Date: 1541576572 +Class: fix + +Previously the check did not handle unescaped newlines, +ultimately resulting in the unhelpful exception "KeyError: 'Swarm'". diff --git a/checks/docker.include b/checks/docker.include index 78603a8..4670c1f 100644 --- a/checks/docker.include +++ b/checks/docker.include @@ -85,7 +85,8 @@ def parse_docker_node_info(info): if joined.endswith("permission denied"): return {} try: - return json.loads(joined) + # this may contain a certificate containing newlines. + return json.loads(joined.replace("\n", "\\n")) except ValueError: pass diff --git a/tests/unit/checks/generictests/datasets/docker_node_info_2.py b/tests/unit/checks/generictests/datasets/docker_node_info_2.py new file mode 100644 index 0000000..3bd66f8 --- /dev/null +++ b/tests/unit/checks/generictests/datasets/docker_node_info_2.py @@ -0,0 +1,61 @@ + + +checkname = "docker_node_info" + +info = [ + ['{"ID": "XXXX:YYYY:6666","Containers":15,' + '"ContainersRunning":6,"ContainersPaused":0,"ContainersStopped":9,"Images":7,' + '"Driver":"overlay","DriverStatus":[["Backing', 'Filesystem","xfs"],["Supports', + 'd_type","true"]],"SystemStatus":null,"Plugins":{"Volume":["local"],' + '"Network":["bridge","host"],"Authorization":null,' + '"Log":["journald","json-file","splunk","syslog"]},"MemoryLimit":true,' + '"SwapLimit":true,"KernelMemory":true,' + '"SystemTime":"2000-01-01T01:00:00.000000000+01:00","LoggingDriver":"json-file",' + '"CgroupDriver":"cgroupfs","NEventsListener":6,' + '"KernelVersion":"3.10.0-666.6.6.el6.x86_64","OperatingSystem":"An', 'awesome', + 'one","OSType":"linux","Architecture":"x86_64",' + '"IndexServerAddress":"
https://index.docker.io/v1/
",' + '"RegistryConfig":{"AllowNondistributableArtifactsCIDRs":[],' + '"AllowNondistributableArtifactsHostnames":[],"InsecureRegistryCIDRs":["127.0.0.0/8"],' + '"IndexConfigs":{"docker.io":{"Name":"docker.io","Mirrors":[],"Secure":true,' + '"Official":true}},"Mirrors":[]},"NCPU":4,"MemTotal":16666666666,' + '"GenericResources":null,"DockerRootDir":"/data/docker",' + '"HttpProxy":"
http://proxy.foo:8080
",' + '"HttpsProxy":"
http://proxy.foo:8080
",' + '"NoProxy":"localhost,', '127.0.0.0/8,', '66.666.66.666,', '.foo.bar,', '.gee.boo.it",', + '"Name":"my_name","Labels":[],"ExperimentalBuild":false,"ServerVersion":"16.06.6-ce",' + '"ClusterStore":"","ClusterAdvertise":"","Runtimes":{"runc":{"path":"docker-runc"}},' + '"DefaultRuntime":"runc","Swarm":{"NodeID":"66666666666666",' + '"NodeAddr":"66.666.66.666","LocalNodeState":"active","ControlAvailable":true,' + '"Error":"","RemoteManagers":[{"NodeID":"6666666",' + '"Addr":"66.666.66.666:6666"}],"Nodes":2,"Managers":1,' + '"Cluster":{"ID":"cluster_id_66666666","Version":{"Index":66666666},' + '"CreatedAt":"2016-06-06T06:56:56.66666666Z",' + '"UpdatedAt":"2016-12-06T06:56:56.66666666Z","Spec":{"Name":"default","Labels":{},' + '"Orchestration":{"TaskHistoryRetentionLimit":5},"Raft":{"SnapshotInterval":10000,' + '"KeepOldSnapshots":0,"LogEntriesForSlowFollowers":500,"ElectionTick":10,' + '"HeartbeatTick":1},"Dispatcher":{"HeartbeatPeriod":6000000000},' + '"CAConfig":{"NodeCertExpiry":6666666666666666},"TaskDefaults":{},' + '"EncryptionConfig":{"AutoLockManagers":false}},"TLSInfo":{"TrustRoot":' + '"-----BEGIN', 'CERTIFICATE-----\n' + 'FoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoob\n' + 'FoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoob\n' + 'FoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoob\n' + 'FoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoob\n' + 'FoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoob\n' + 'FoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoob\n' + 'FoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoobarFoob\n' + 'FoobarFoobarFoobarFoobarFoobarFoobarFoobar==\n' + '-----END', 'CERTIFICATE-----\n",' + '"CertIssuerSubject":"Jim",' + '"CertIssuerPublicKey":"odoriuhaoerhaergjhargjkhaejfgasdg=="},' + '"RootRotationInProgress":false}},"LiveRestoreEnabled":false,"Isolation":"",' + '"InitBinary":"docker-init","ContainerdCommit":' + '{"ID":"666666666666666666666666666666666666",' + '"Expected":"77777777777777777777777777777777777777777"},' + '"RuncCommit":{"ID":"444444444444444444444444444444444444444",' + '"Expected":"ffffffffffffffffffffffffffffffffffffffffffffff"},' + '"InitCommit":{"ID":"9999999","Expected":"6666666"},' + '"SecurityOptions":["name=seccomp,profile=default"]}'] +] +
5 years, 6 months
1
0
0
0
Enabled bad-indentation warning.
by Sven Panne
Module: check_mk Branch: master Commit: f3d11f7a2b87bb2e6efc38d2b845c21b22e44f78 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f3d11f7a2b87bb…
Author: Sven Panne <sp(a)mathias-kettner.de> Date: Mon Dec 3 11:16:45 2018 +0100 Enabled bad-indentation warning. Change-Id: Icb4372ae7878e2cb4cfff29db75045a2b223d198 --- .pylintrc | 1 - 1 file changed, 1 deletion(-) diff --git a/.pylintrc b/.pylintrc index c4135ec..165c6fd 100644 --- a/.pylintrc +++ b/.pylintrc @@ -119,7 +119,6 @@ disable= #--------------------------------------------------------------------------- # The warnigns below will probably fixed by YAPF. bad-continuation, - bad-indentation, bad-whitespace, line-too-long, #---------------------------------------------------------------------------
5 years, 6 months
1
0
0
0
Packages for Windows Agent: relocating binaries and exclusively used by winagent packages into dependencies folder.
by Sergey Kipnis
Module: check_mk Branch: master Commit: 5e2e12c382a984306f7ee62d9fce2cc61b6026fd URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=5e2e12c382a984…
Author: Sergey Kipnis <sk(a)mathias-kettner.de> Date: Wed Oct 31 15:01:44 2018 +0100 Packages for Windows Agent: relocating binaries and exclusively used by winagent packages into dependencies folder. - More or less normal readme. - Rewritten unpack scripts to be suitable for debvelopment and build - Packages added to windows agent branch: asio, fmt, catch2 - Packages reused from omd branch: gtest, simpleini packages: windows/bin removed, fixed readme and unpacker Change-Id: Ieff1080815ad73582ef1fac8e8450a25196c5768 --- agents/windows/.gitignore | 1 + agents/windows/dependencies/7-zip/.gitignore | 2 + agents/windows/dependencies/7-zip/7z.dll | Bin 0 -> 1677824 bytes agents/windows/dependencies/7-zip/7z.exe | Bin 0 -> 461824 bytes agents/windows/dependencies/7-zip/License.txt | 90 +++++++++++++++++++++ .../dependencies/asio/asio-master-1.12.0.tar.gz | Bin 0 -> 1204100 bytes .../dependencies/catch2/catch2-master-2.4.2.tar.gz | Bin 0 -> 525993 bytes .../dependencies/fmt/fmt-master-5.2.1.tar.gz | Bin 0 -> 650600 bytes agents/windows/dependencies/readme.txt | 44 ++++++++++ agents/windows/dependencies/unpack_all.cmd | 71 ++++++++++++++++ agents/windows/dependencies/unpack_package.cmd | 70 ++++++++++++++++ 11 files changed, 278 insertions(+) Diff:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commitdiff;h=5e2e12c382…
5 years, 6 months
1
0
0
0
← Newer
1
...
30
31
32
33
34
35
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Results per page:
10
25
50
100
200