[X2Go-Commits] [x2gobroker] 01/01: load checker integration: Make the default-use-load-checker option work like all other default-* options.
git-admin at x2go.org
git-admin at x2go.org
Mon Apr 16 14:26:09 CEST 2018
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2gobroker.
commit 9887ae4f32b3f87248b898fcab311cbeca5e44b8
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Mon Apr 16 14:25:50 2018 +0200
load checker integration: Make the default-use-load-checker option work like all other default-* options.
---
etc/x2gobroker.conf | 3 ++-
x2gobroker/brokers/base_broker.py | 39 ++++++++++++++++++++-------------------
2 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/etc/x2gobroker.conf b/etc/x2gobroker.conf
index e3e7e69..dc35007 100644
--- a/etc/x2gobroker.conf
+++ b/etc/x2gobroker.conf
@@ -287,12 +287,13 @@
#
# o if enabled here for all backends
# o or if enabled on a per broker backend basis (see below)
+# o or if enabled per session profile (broker-use-load-checker = true)
#
# and
#
# o the session profile defines more than one host
# o the session profile does not block queries to the load checker daemon
-# on a per profile basis (broker-use-load-checker = true|false)
+# on a per profile basis (broker-use-load-checker = false)
#
#default-use-load-checker = false
diff --git a/x2gobroker/brokers/base_broker.py b/x2gobroker/brokers/base_broker.py
index 9a96fb5..75611fe 100644
--- a/x2gobroker/brokers/base_broker.py
+++ b/x2gobroker/brokers/base_broker.py
@@ -722,9 +722,10 @@ class X2GoBroker(object):
Actually query the load checker daemon for the given session profile ID.
This method will check:
- - broker backend configured to use load checker daemon?
- - more than one host configured?
- - load checker queries not explicitly disabled in session profile?
+ - broker backend configured per backend or globally
+ to use load checker daemon?
+ - or on a per session profile basis?
+ - plus: more than one host configured for the given session profile?
@param profile_id: choose remote agent for this profile ID
@type profile_id: C{unicode}
@@ -733,27 +734,27 @@ class X2GoBroker(object):
@rtype: C{bool}
"""
- # only use load checker if...
-
- # it is enabled for the broker backend...
- if self.get_use_load_checker():
-
- _profile_broker = self.get_profile_broker(profile_id)
+ _profile_broker = self.get_profile_broker(profile_id)
+ if not _profile_broker:
+ return False
+ _profile_session = self.get_profile(profile_id)
- # it is not explicitly disabled per session profile definition
- if _profile_broker and 'broker-use-load-checker' in _profile_broker and _profile_broker['broker-use-load-checker'] not in ('1', 'true'):
- return False
-
- _profile = self.get_profile(profile_id)
+ # only use load checker if...
- # more than one host is defined in the session profile
- if len(_profile['host']) < 2:
- return False
+ # more than one host is defined in the session profile
+ if len(_profile_session['host']) < 2:
+ return False
- else:
+ # if not blocked on a per session profile basis
+ if 'broker-use-load-checker' in _profile_broker and _profile_broker['broker-use-load-checker'] not in ('1', 'true'):
return False
- return True
+ # if load checking is enabled globally, for the broker backend,
+ # or for the given session profile...
+ if self.get_use_load_checker() or ('broker-use-load-checker' in _profile_broker and _profile_broker['broker-use-load-checker'] in ('1', 'true')):
+ return True
+
+ return False
def _import_nameservice_module(self, service='libnss'):
try:
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2gobroker.git
More information about the x2go-commits
mailing list