Module: check_mk
Branch: master
Commit: 0fc7f93ad0550ab6ab539d121c5b016c63bfd35b
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0fc7f93ad0550a…
Author: Andreas Umbreit <au(a)mathias-kettner.de>
Date: Tue Mar 28 14:35:19 2017 +0200
added werk 4556
---
.werks/4556 | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/.werks/4556 b/.werks/4556
new file mode 100644
index 0000000..cf50d49
--- /dev/null
+++ b/.werks/4556
@@ -0,0 +1,20 @@
+Title: Fixed compatibility problem in agent updater with some older windows versions
+Level: 1
+Edition: cee
+Component: agents
+Compatible: compat
+Version: 1.5.0i1
+Date: 1490258522
+Class: fix
+
+When running Check_MK agent updater under some older Windows versions (eg. Windows XP),
+a problem with some missing runtime libraries can possibly occur.
+This would result in an error message beginning with "Error loading Python DLL:..."
+
+A quick-fix for this problem would be the installation of a Microsoft Visual C++
+Redistributable package. It can be found at Microsoft support homepage.
+(support.microsoft.com) with the search term "vcredist_x86".
+The MS VC++ 2008 Redistributable Package (x86) would be sufficient.
+
+However, the needed runtime libraries will be included in all Check_MK
+releases containg this werk.
Module: check_mk
Branch: master
Commit: 79617485c51733d164ceb019c9ad40b1fdc9ecca
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=79617485c51733…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Mon Apr 10 16:16:54 2017 +0200
Updated werks
Change-Id: I90dfc6b7d3d55c8ec332fcb02425e5e4fe26e95e
---
.werks/2713 | 15 +++++++--------
.werks/3575 | 12 ++++++------
2 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/.werks/2713 b/.werks/2713
index 380e6bc..736866c 100644
--- a/.werks/2713
+++ b/.werks/2713
@@ -1,4 +1,4 @@
-Title: New bookmark lists, strucutrable and shareable between users
+Title: New structured bookmark lists, shareable between users
Level: 2
Component: multisite
Compatible: compat
@@ -7,13 +7,12 @@ Date: 1445942455
Class: feature
The bookmark sidebar snapin has been extended to be structurable into
-topics. Each bookmark can now be put into a topic which can then be
-expanded or closed in the GUI.
+topics. Each bookmark can now be put into a topic which can then be expanded
+or closed in the GUI.
It is now possible to group bookmarks together in multiple bookmark
-lists. These lists can be made available to other users, just like
-views, dashboards, reports and graph collections.
+lists. These lists can be made available to other users, just like views,
+dashboards, reports and graph collections.
-The summary of all bookmark lists a user can access is grouped together
-in the bookmark snapin and shown to the user as one single list of
-bookmarks.
+The summary of all bookmark lists a user can access is grouped together in
+the bookmark snapin and shown to the user as one single list of bookmarks.
diff --git a/.werks/3575 b/.werks/3575
index 6435351..ddb6059 100644
--- a/.werks/3575
+++ b/.werks/3575
@@ -1,4 +1,4 @@
-Title: User logins can now be limited to single session at a time
+Title: User logins can now be limited to a single session at a time
Level: 2
Component: multisite
Compatible: compat
@@ -6,9 +6,9 @@ Version: 1.4.0i1
Date: 1464094732
Class: feature
-Normally a user can login to the GUI from unlimited number of clients at
-the same time. If you want to enforce your users to be able to login only once
+Normally a user can login to the GUI from unlimited number of clients at the
+same time. If you want to enforce your users to be able to login only once
(from one client which means device and browser), you can enable this option.
-When the user logs out or is inactive for the configured amount of time, the
-session is invalidated automatically and the user has to log in again from the
-current or another device.
+When the user logs out or is inactive for the configured amount of time,
+the session is invalidated automatically and the user has to log in again
+from the current or another device.
Module: check_mk
Branch: master
Commit: c7e6b07fd65c6d26379a8832e0de416cbd0b043e
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c7e6b07fd65c6d…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Mon Apr 10 15:12:08 2017 +0200
Trying to fix possible races during WATO initial config creation
Change-Id: Ic03751b05afcb071bc121b799c105d9da29a07f8
---
web/htdocs/wato.py | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index 9b4ba63..f07c15a 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -117,10 +117,19 @@ display_options = None
wato_styles = [ "pages", "wato", "status" ]
-def init_wato_datastructures():
- create_sample_config() # if called for the very first time!
+# TODO: Must only be unlocked when it was not locked before. We should find a more
+# robust way for doing something like this. If it is locked before, it can now happen
+# that this call unlocks the wider locking when calling this funktion in a wrong way.
+def init_wato_datastructures(with_wato_lock=False):
+ if with_wato_lock:
+ lock_exclusive()
+
+ create_sample_config()
init_watolib_datastructures()
+ if with_wato_lock:
+ unlock_exclusive()
+
#.
# .--Main----------------------------------------------------------------.
@@ -172,7 +181,7 @@ def page_handler():
lock_exclusive()
try:
- init_wato_datastructures()
+ init_wato_datastructures(with_wato_lock=not html.is_transaction())
except:
# Snapshot must work in any case
if current_mode == 'snapshot':
@@ -2633,7 +2642,7 @@ def mode_diag_host(phase):
def ajax_diag_host():
try:
- init_wato_datastructures()
+ init_wato_datastructures(with_wato_lock=True)
if not config.user.may('wato.diag_host'):
raise MKAuthException(_('You are not permitted to perform this action.'))
@@ -3479,7 +3488,7 @@ class ModeAjaxExecuteCheck(WatoWebApiMode):
def page(self):
- init_wato_datastructures()
+ init_wato_datastructures(with_wato_lock=True)
try:
state, output = check_mk_automation(self._site, "active-check",
[ self._host_name, self._check_type, self._item ], sync=False)
@@ -5460,7 +5469,7 @@ class ModeActivateChanges(WatoMode, ActivateChanges):
class ModeAjaxStartActivation(WatoWebApiMode):
def page(self):
- init_wato_datastructures()
+ init_wato_datastructures(with_wato_lock=True)
config.user.need_permission("wato.activate")
@@ -5496,7 +5505,7 @@ class ModeAjaxStartActivation(WatoWebApiMode):
class ModeAjaxActivationState(WatoWebApiMode):
def page(self):
- init_wato_datastructures()
+ init_wato_datastructures(with_wato_lock=True)
config.user.need_permission("wato.activate")
@@ -10117,7 +10126,7 @@ def page_automation():
# we request the lock in all cases.
lock_exclusive()
- init_wato_datastructures()
+ init_wato_datastructures(with_wato_lock=False)
command = html.var("command")
if command == "checkmk-automation":
@@ -10174,8 +10183,6 @@ def automation_push_profile():
if not profile:
raise MKGeneralException(_('Invalid call: The profile is missing.'))
- init_wato_datastructures()
-
users = userdb.load_users(lock = True)
profile = mk_eval(profile)
users[user_id] = profile
@@ -14368,6 +14375,8 @@ def page_user_profile(change_pw=False):
else:
users = userdb.load_users()
+ init_wato_datastructures(with_wato_lock=True)
+
# When in distributed setup, display the replication dialog instead of the normal
# profile edit dialog after changing the password.
if start_async_replication:
@@ -14496,7 +14505,7 @@ def page_download_agent_output():
if ty not in [ "walk", "agent" ]:
raise MKGeneralException(_("Invalid type specified."))
- init_wato_datastructures()
+ init_wato_datastructures(with_wato_lock=True)
host = Folder.current().host(host_name)
if not host:
@@ -16128,7 +16137,7 @@ def read_agent_contents_file(root):
# master site. Finds the next folder to scan and starts it via WATO
# automation. The result is written to the folder in the master site.
def execute_network_scan_job():
- init_wato_datastructures()
+ init_wato_datastructures(with_wato_lock=True)
if is_wato_slave_site():
return # Don't execute this job on slaves.