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@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