Module: check_mk
Branch: master
Commit: 3c538458aecae9488e1b7e6da088702ab0f11b31
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=3c538458aecae9…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Nov 9 10:17:16 2016 +0100
Fixed different issues
---
web/htdocs/views.py | 1 +
web/htdocs/wato.py | 18 +++++++++---------
web/htdocs/watolib.py | 23 ++++++++++-------------
web/htdocs/weblib.py | 10 ++++++++--
web/plugins/wato/mkeventd.py | 5 -----
5 files changed, 28 insertions(+), 29 deletions(-)
diff --git a/web/htdocs/views.py b/web/htdocs/views.py
index 1a40d71..e8f1872 100644
--- a/web/htdocs/views.py
+++ b/web/htdocs/views.py
@@ -35,6 +35,7 @@ import cmk.paths
# Datastructures and functions needed before plugins can be loaded
loaded_with_language = False
+display_options = None
# Load all view plugins
def load_plugins(force):
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index 21f50e2..cf42c3d 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -111,10 +111,10 @@ except ImportError:
import json
g_html_head_open = False
+display_options = None
wato_styles = [ "pages", "wato", "status" ]
-
def init_wato_datastructures():
create_sample_config() # if called for the very first time!
init_watolib_datastructures()
@@ -1970,8 +1970,8 @@ def rename_hosts_in_check_mk(renamings):
[_("%s into %s") % (oldname, newname) for (oldname, newname) in
name_pairs])
# Restart is done by remote automation (below), so don't do it during
rename/sync
+ # The sync is automatically done by the remote automation call
add_change("renamed-hosts", message, sites=[site_id],
need_restart=False)
- synchronize_site(site, restart=False)
new_counts = check_mk_automation(site_id, "rename-hosts", [],
name_pairs)
@@ -4865,7 +4865,7 @@ class ModeActivateChanges(WatoMode, ActivateChanges):
def _change_table(self):
- table.begin("changes", sortable=False, searchable=False,
css="changes")
+ table.begin("changes", sortable=False, searchable=False,
css="changes", limit=None)
for change_id, change in reversed(self._changes):
css = []
if self._is_foreign(change):
@@ -5034,11 +5034,11 @@ class ModeAjaxStartActivation(WatoWebApiMode):
manager = ActivateChangesManager()
- sites = request.get("sites", "").strip()
- if not sites:
- sites = manager.dirty_and_active_activation_sites()
+ affected_sites = request.get("sites", "").strip()
+ if not affected_sites:
+ affected_sites = manager.dirty_and_active_activation_sites()
else:
- sites = sites.split(",")
+ affected_sites = affected_sites.split(",")
comment = request.get("comment", "").strip()
if comment == "":
@@ -5046,7 +5046,7 @@ class ModeAjaxStartActivation(WatoWebApiMode):
activate_foreign = request.get("activate_foreign", "0") ==
"1"
- activation_id = manager.start(sites, activate_until, comment, activate_foreign)
+ activation_id = manager.start(affected_sites, activate_until, comment,
activate_foreign)
return {
"activation_id": activation_id,
@@ -5080,7 +5080,7 @@ def do_activate_changes_automation():
try:
domains = ast.literal_eval(html.var("domains"))
except SyntaxError:
- raise MKAutomationException(_("Garbled automation response:
'%s'") % response_text)
+ raise MKAutomationException(_("Garbled automation response:
'%s'") % html.var("domains"))
return execute_activate_changes(domains)
diff --git a/web/htdocs/watolib.py b/web/htdocs/watolib.py
index e8d2bd5..5fc409d 100644
--- a/web/htdocs/watolib.py
+++ b/web/htdocs/watolib.py
@@ -50,6 +50,7 @@ import tarfile
import cStringIO
from lib import *
from valuespec import *
+from hashlib import sha256
import config, hooks, userdb, multitar
import sites
@@ -323,7 +324,9 @@ class ConfigDomainEventConsole(ConfigDomain):
def activate(self):
if getattr(config, "mkeventd_enabled", False):
- mkeventd_reload()
+ mkeventd.execute_command("RELOAD", site=config.omd_site())
+ log_audit(None, "mkeventd-activate",
+ _("Activated changes of event console configuration"))
call_hook_mkeventd_activate_changes()
@@ -1283,7 +1286,7 @@ class Folder(BaseFolder):
def all_site_ids(self):
site_ids = set()
self._add_all_sites_to_set(site_ids)
- return site_ids
+ return list(site_ids)
def title_path(self, withlinks = False):
@@ -1554,7 +1557,7 @@ class Folder(BaseFolder):
raise MKUserError(None, _("Cannot move folder: A folder with this name
already exists in the target folder."))
# 2. Actual modification
- affected_sites = [subfolder.all_site_ids()]
+ affected_sites = subfolder.all_site_ids()
old_filesystem_path = subfolder.filesystem_path()
del self._subfolders[subfolder.name()]
subfolder._parent = target_folder
@@ -1562,7 +1565,7 @@ class Folder(BaseFolder):
shutil.move(old_filesystem_path, subfolder.filesystem_path())
subfolder.rewrite_hosts_files() # fixes changed inheritance
Folder.invalidate_caches()
- affected_sites = list(set(affected_sites + [subfolder.all_site_ids()]))
+ affected_sites = list(set(affected_sites + subfolder.all_site_ids()))
add_change("move-folder",
_("Moved folder %s to %s") % (subfolder.alias_path(),
target_folder.alias_path()),
obj=subfolder,
@@ -1722,7 +1725,7 @@ class Folder(BaseFolder):
changed = rename_host_in_list(self._attributes["parents"], oldname,
newname)
add_change("rename-parent",
_("Renamed parent (set in folder) from %s to %s") % (self.path(),
oldname, newname),
- obj=self, sites=[self.all_site_ids()])
+ obj=self, sites=self.all_site_ids())
self.save_hosts()
self.save()
return changed
@@ -3726,11 +3729,6 @@ def verify_slave_site_config(site_id):
raise MKGeneralException(message)
-def mkeventd_reload():
- mkeventd.execute_command("RELOAD", site=config.omd_site())
- log_audit(None, "mkeventd-activate", _("Activated changes of event
console configuration"))
-
-
# TODO: Recode to new sync?
def push_user_profile_to_site(site, user_id, profile):
url = site["multisiteurl"] + "automation.py?" +
html.urlencode_vars([
@@ -4123,7 +4121,7 @@ class ActivateChangesManager(ActivateChanges):
log_exception()
if config.debug:
raise
- raise MKUserError(None, _("Can not start activation: %s" % e))
+ raise MKUserError(None, _("Can not start activation: %s") % e)
# Lock WATO modifications during snapshot creation
@@ -4230,7 +4228,6 @@ class ActivateChangesManager(ActivateChanges):
def _do_start_site_activation(self, site_id):
ActivateChangesSite(site_id, self._activation_id,
self._site_snapshot_file(site_id),
self._prevent_activate).start()
- p.start()
os._exit(0)
@@ -4501,7 +4498,7 @@ class ActivateChangesSite(multiprocessing.Process,
ActivateChanges):
result = True
if result != True:
- raise MKGeneralException(_("Failed to synchronize with site: %s" %
result))
+ raise MKGeneralException(_("Failed to synchronize with site: %s") %
result)
def _push_snapshot_to_site(self):
diff --git a/web/htdocs/weblib.py b/web/htdocs/weblib.py
index 500bf5c..5d2a9cc 100644
--- a/web/htdocs/weblib.py
+++ b/web/htdocs/weblib.py
@@ -139,6 +139,8 @@ def ajax_set_rowselection():
# | An upper-case char means enabled, lower-case means disabled. |
# '----------------------------------------------------------------------'
+display_options = None
+
class DisplayOptions(object):
H = "H" # The HTML header and body-tag (containing the tags <HTML>
and <BODY>)
T = "T" # The title line showing the header and the logged in user
@@ -236,5 +238,9 @@ class DisplayOptions(object):
def prepare_display_options(context):
- context["display_options"] = DisplayOptions()
- context["display_options"].load_from_html()
+ global display_options
+
+ display_options = DisplayOptions()
+ display_options.load_from_html()
+
+ context["display_options"] = display_options
diff --git a/web/plugins/wato/mkeventd.py b/web/plugins/wato/mkeventd.py
index e2acbfd..9d128b7 100644
--- a/web/plugins/wato/mkeventd.py
+++ b/web/plugins/wato/mkeventd.py
@@ -3084,8 +3084,3 @@ define command {
""" % { "group" : contactgroup, "facility" :
config.mkeventd_notify_facility, "remote" : remote_console })
register_hook("pre-activate-changes",
mkeventd_update_notifiation_configuration)
-
-# Only register the reload hook when mkeventd is enabled
-if mkeventd_enabled:
- register_hook("activate-changes", lambda hosts: config.mkeventd_enabled and
mkeventd_reload())
-