[X2Go-Commits] [x2gobroker] 03/03: LoadChecker.loadchecker(): Report about query failures, as well, in query cycle summary.
git-admin at x2go.org
git-admin at x2go.org
Sat Mar 28 00:43:58 CET 2015
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2gobroker.
commit 0ddf164399d2cd9101896faf4fb8546278a67548
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Sat Mar 28 00:43:44 2015 +0100
LoadChecker.loadchecker(): Report about query failures, as well, in query cycle summary.
---
debian/changelog | 2 ++
x2gobroker/loadchecker.py | 15 ++++++++++-----
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 7f3bbf8..e7d8539 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -256,6 +256,8 @@ x2gobroker (0.0.3.0-0x2go1) UNRELEASED; urgency=low
frequency.
- x2gobroker-agent.pl: Fall-back CPU detection for virtualized systems (e.g.
QEMU hosts).
+ - LoadChecker.loadchecker(): Report about query failures, as well, in query
+ cycle summary.
* debian/control:
+ Provide separate bin:package for SSH brokerage: x2gobroker-ssh.
+ Replace LDAP support with session brokerage support in LONG_DESCRIPTION.
diff --git a/x2gobroker/loadchecker.py b/x2gobroker/loadchecker.py
index d21e776..61ada88 100644
--- a/x2gobroker/loadchecker.py
+++ b/x2gobroker/loadchecker.py
@@ -157,6 +157,7 @@ class LoadChecker(threading.Thread):
# all configured/enabled broker backends
self.brokers = {}
num_queries = 0
+ num_failed_queries = 0
for backend in self.broker_backends:
if self.logger: self.logger.debug('LoadChecker.loadchecker(): load checker thread waking up...')
@@ -175,9 +176,14 @@ class LoadChecker(threading.Thread):
self.server_load[backend][profile_id] = {}
remote_agents = self.brokers[backend].get_all_remote_agents(profile_id)
for remote_agent in remote_agents:
- self.server_load[backend][profile_id][remote_agent[u'hostname']] = x2gobroker.agent.checkload(remote_agent, logger=self.logger)
- if self.logger: self.logger.info('LoadChecker.loadchecker(): contacted remote broker agent for backend={backend}, profile_id={profile_id}, hostname={hostname}, new load factor is: {lf}'.format(backend=backend, profile_id=profile_id, hostname=remote_agent[u'hostname'], lf=self.server_load[backend][profile_id][remote_agent[u'hostname']]))
+ _load_factor = x2gobroker.agent.checkload(remote_agent, logger=self.logger)
num_queries += 1
+ if _load_factor is None:
+ if self.logger: self.logger.info('LoadChecker.loadchecker(): backend={backend}, profile_id={profile_id}, hostname={hostname}, load factor not available'.format(backend=backend, profile_id=profile_id, hostname=remote_agent[u'hostname']))
+ num_failed_queries += 1
+ else:
+ if self.logger: self.logger.info('LoadChecker.loadchecker(): contacted remote broker agent for backend={backend}, profile_id={profile_id}, hostname={hostname}, new load factor is: {lf}'.format(backend=backend, profile_id=profile_id, hostname=remote_agent[u'hostname'], lf=_load_factor))
+ self.server_load[backend][profile_id][remote_agent[u'hostname']] = _load_factor
if time_to_sleep > 0:
if self.logger: self.logger.debug('LoadChecker.loadchecker(): sleeping for {secs}secs before querying next server'.format(secs=time_to_sleep))
time.sleep(time_to_sleep)
@@ -207,12 +213,11 @@ class LoadChecker(threading.Thread):
time.sleep(self.load_checker_intervals)
if num_queries > 0:
if time_to_sleep > 0:
- if self.logger: self.logger.debug('LoadChecker.loadchecker(): performed {num} queries, sleeping for {secs}secs before starting next query cycle'.format(num=num_queries, secs=self.load_checker_intervals - time_to_sleep * num_queries))
+ if self.logger: self.logger.debug('LoadChecker.loadchecker(): performed {num} queries (failures: {num_failures}), sleeping for {secs}secs before starting next query cycle'.format(num=num_queries, num_failures=num_failed_queries, secs=self.load_checker_intervals - time_to_sleep * num_queries))
time.sleep(self.load_checker_intervals - time_to_sleep * num_queries)
time_to_sleep = self.load_checker_intervals / (num_queries +1)
else:
- if num_queries == 0:
- if self.logger: self.logger.warning('LoadChecker.loadchecker(): performed {num} queries in this cycle, if this message keeps repeating itself, consider disabling the X2Go Broker Load Checker daemon'.format(num=num_queries, secs=self.load_checker_intervals - time_to_sleep * num_queries))
+ if self.logger: self.logger.warning('LoadChecker.loadchecker(): performed {num} queries (failures: {num_failures}) in this cycle, if this message keeps repeating itself, consider disabling the X2Go Broker Load Checker daemon'.format(num=num_queries, num_failures=num_failed_queries, secs=self.load_checker_intervals - time_to_sleep * num_queries))
time_to_sleep = 0
def stop_thread(self):
--
Alioth's /srv/git/code.x2go.org/x2gobroker.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2gobroker.git
More information about the x2go-commits
mailing list