public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/tinderbox-cluster:master commit in: bin/, pym/tbc/
@ 2016-01-24 22:23 Magnus Granberg
  0 siblings, 0 replies; 2+ messages in thread
From: Magnus Granberg @ 2016-01-24 22:23 UTC (permalink / raw
  To: gentoo-commits

commit:     070938ef89e8cc93fe2072c540d8e620607b2bee
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 24 22:24:26 2016 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Jan 24 22:24:26 2016 +0000
URL:        https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=070938ef

add support for logging

 bin/tbc_guest_jobs   | 30 +++++++++++++++++++++--------
 bin/tbc_host_jobs    | 14 +++++++++-----
 pym/tbc/build_log.py | 22 ++++++++++++++--------
 pym/tbc/jobs.py      | 31 +++++++++++++++---------------
 pym/tbc/log.py       | 38 +++++++++++++++++++++++++++++++++++++
 pym/tbc/package.py   | 53 ++++++++++++++++++++++++++--------------------------
 pym/tbc/readconf.py  | 10 ++++++++--
 pym/tbc/sqlquerys.py |  9 ++++++---
 pym/tbc/sync.py      | 21 +++++++++++++--------
 pym/tbc/updatedb.py  | 21 +++++++++++----------
 10 files changed, 164 insertions(+), 85 deletions(-)

diff --git a/bin/tbc_guest_jobs b/bin/tbc_guest_jobs
index 721c7e1..b4b74fd 100755
--- a/bin/tbc_guest_jobs
+++ b/bin/tbc_guest_jobs
@@ -1,15 +1,16 @@
-#!/usr/bin/python
+#!/usr/bin/python3.4
 #
-# Copyright 1998-2015 Gentoo Foundation
+# Copyright 1998-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
 from tbc.readconf import read_config_settings
 from tbc.ConnectionManager import NewConnection
-from tbc.sqlquerys import add_logs, get_config_id_fqdn, check_host_updatedb, update_deamon_status
+from tbc.sqlquerys import get_config_id_fqdn, check_host_updatedb, update_deamon_status
 from tbc.check_setup import check_configure_guest
 from tbc.build_job import build_job_action
 from tbc.jobs import jobs_main
+from tbc.log import setup_logger, write_log
 from sqlalchemy.orm import sessionmaker
 import portage
 import sys
@@ -19,11 +20,18 @@ import time
 def main():
 	repeat = True
 	tbc_settings = read_config_settings()
+
+	# setupt the logger
+	logger = setup_logger(tbc_settings):
+
 	Session = sessionmaker(bind=NewConnection(tbc_settings))
 	session = Session()
 	config_id = get_config_id_fqdn(session, tbc_settings['hostname'])
-	add_logs(session, "Job and build deamon started.", "info", config_id)
-	update_deamon_status(session, 'Waiting', config_id)
+	write_log(session, "Job and build deamon started.", "info", config_id, 'main')
+	Status = 'Waiting'
+	update_deamon_status(session, Status, config_id)
+	msg = 'Status: %s Host: %s' % (Status, tbc_settings['hostname'],)
+	write_log(session, msg, "info", config_id, 'main')
 	init_build_job = build_job_action(config_id, session)
 	while repeat:
 		jobs_main(session, config_id)
@@ -31,10 +39,16 @@ def main():
 			time.sleep(60)
 			continue
 		else:
-			update_deamon_status(session, 'Runing', config_id)
+			Status = 'Runing'
+			update_deamon_status(session, Status, config_id)
+			msg = 'Status: %s Host: %s' % (Status, tbc_settings['hostname'],)
+			write_log(session, msg, "info", config_id, 'main')
 			init_build_job.procces_build_jobs()
-			time.sleep(5)
-			update_deamon_status(session, 'Waiting', config_id)
+			Status = 'Waiting'
+			update_deamon_status(session, Status, config_id)
+			msg = 'Status: %s Host: %s' % (Status, tbc_settings['hostname'],)
+			write_log(session, msg, "info", config_id, 'main')
+			time.sleep(60)
 	conn.close
 
 if __name__ == "__main__":

diff --git a/bin/tbc_host_jobs b/bin/tbc_host_jobs
index c9bbf8c..629ef54 100755
--- a/bin/tbc_host_jobs
+++ b/bin/tbc_host_jobs
@@ -1,6 +1,6 @@
-#!/usr/bin/python
+#!/usr/bin/python3.4
 #
-# Copyright 1998-2015 Gentoo Foundation
+# Copyright 1998-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -8,23 +8,27 @@ from __future__ import print_function
 from tbc.readconf import read_config_settings
 from tbc.jobs import jobs_main
 from tbc.ConnectionManager import NewConnection
-from tbc.sqlquerys import add_logs, get_config_id_fqdn
+from tbc.sqlquerys import get_config_id_fqdn
+from tbc.log import setup_logger, write_log
 from sqlalchemy.orm import sessionmaker
 import time
 
 def main():
 	# Main
 	tbc_settings = read_config_settings()
+	# setupt the logger
+	logger = setup_logger(tbc_settings):
+
 	Session = sessionmaker(bind=NewConnection(tbc_settings))
 	session = Session()
 	config_id = get_config_id_fqdn(session, tbc_settings['hostname'])
-	add_logs(session, "Job deamon started", "info", config_id)
+	write_log(session, "Job deamon started", "info", config_id, 'main')
 	repeat = True
 	while repeat:
 		jobs_main(session, config_id)
 		repeat = False
 		time.sleep(60)
-	add_logs(session, "Job deamon stoped", "info", config_id)
+	write_log(session, "Job deamon stoped", "info", config_id, 'main')
 
 if __name__ == "__main__":
 	main()
\ No newline at end of file

diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 7b3784a..70cd091 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -1,4 +1,4 @@
-# Copyright 1998-2015 Gentoo Foundation
+# Copyright 1998-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -6,6 +6,7 @@ import re
 import os
 import platform
 import hashlib
+import logging
 
 from portage.versions import catpkgsplit, cpv_getversion
 import portage
@@ -25,15 +26,18 @@ from tbc.text import get_log_text_dict
 from tbc.readconf import read_config_settings
 from tbc.flags import tbc_use_flags
 from tbc.ConnectionManager import NewConnection
-from tbc.sqlquerys import add_logs, get_config_id, get_ebuild_id_db, add_new_buildlog, \
+from tbc.sqlquerys import get_config_id, get_ebuild_id_db, add_new_buildlog, \
 	get_package_info, get_build_job_id, get_use_id, get_config_info, get_hilight_info, get_error_info_list, \
 	add_e_info, get_fail_times, add_fail_times, update_fail_times, del_old_build_jobs, add_old_ebuild, \
 	update_buildjobs_status, update_mtime_sql, add_repoman_qa, get_config_id_fqdn, get_setup_info, \
 	add_repoman_log
+from tbc.log import write_log
+
 from sqlalchemy.orm import sessionmaker
 
 def check_repoman_full(session, pkgdir, package_id, config_id, cpv=False):
 	# Check cp with repoman repoman full
+	write_log(session, 'Repoman Check', "info", config_id, 'build_log.check_repoman_full')
 	status = repoman_full(session, pkgdir, config_id)
 	repoman_hash = hashlib.sha256()
 	if cpv:
@@ -59,7 +63,9 @@ def check_repoman_full(session, pkgdir, package_id, config_id, cpv=False):
 					repoman_log = repoman_log + line + "\n"
 					repoman_hash.update(line.encode('utf-8'))
 			add_repoman_log(session, package_id, repoman_log, repoman_hash.hexdigest())
+			write_log(session, 'Repoman Check Fail\n' + repoman_log, "warning", config_id, 'build_log.check_repoman_full')
 			return repoman_log
+	write_log(session, 'Repoman Check Pass', "info", config_id, 'build_log.check_repoman_full')
 	return False
 
 def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg):
@@ -281,7 +287,7 @@ def add_buildlog_main(settings, pkg, trees):
 		build_dict = get_build_dict_db(session, config_id, settings, tbc_settings, pkg)
 	if build_dict is None:
 		log_msg = "Package %s:%s is NOT logged." % (pkg.cpv, pkg.repo,)
-		add_logs(session, log_msg, "info", config_id)
+		write_log(session, log_msg, "info", config_id, 'build_log.add_buildlog_main')
 		session.close
 		return
 	build_log_dict = {}
@@ -298,19 +304,18 @@ def add_buildlog_main(settings, pkg, trees):
 	build_log_dict['log_hash'] = log_hash.hexdigest()
 	build_log_dict['logfilename'] = settings.get("PORTAGE_LOG_FILE").split(host_config)[1]
 	log_msg = "Logfile name: %s" % (settings.get("PORTAGE_LOG_FILE"),)
-	add_logs(session, log_msg, "info", config_id)
+        write_log(session, log_msg, "info", config_id, 'build_log.add_buildlog_main')
 	build_log_dict['emerge_info'] = get_emerge_info_id(settings, trees, session, config_id)
 	log_id = add_new_buildlog(session, build_dict, build_log_dict)
 
 	if log_id is None:
 		log_msg = "Package %s:%s is NOT logged." % (pkg.cpv, pkg.repo,)
-		add_logs(session, log_msg, "info", config_id)
+		write_log(session, log_msg, "info", config_id, 'build_log.add_buildlog_main')
 	else:
 		add_repoman_qa(session, build_log_dict, log_id)
 		os.chmod(settings.get("PORTAGE_LOG_FILE"), 0o664)
 		log_msg = "Package: %s:%s is logged." % (pkg.cpv, pkg.repo,)
-		add_logs(session, log_msg, "info", config_id)
-		print("\n>>> Logging %s:%s\n" % (pkg.cpv, pkg.repo,))
+		write_log(session, log_msg, "info", config_id, 'build_log.add_buildlog_main')
 		build_msg = "BUILD: PASS"
 		qa_msg = "QA: PASS"
 		repoman_msg = "REPOMAN: PASS"
@@ -322,7 +327,8 @@ def add_buildlog_main(settings, pkg, trees):
 					qa_msg = "QA: FAILD"
 				else:
 					build_msg = "BUILD: FAILD"
-		msg = "Package: %s Repo: %s %s %s %s Weblink http://foo.gg.oo/new/logs/build/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, log_id,)
+		msg = "Package: %s Repo: %s %s %s %s Weblink http://77.110.8.67/new/logs/build/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, log_id,)
+		write_log(session, msg, "info", config_id, 'build_log.add_buildlog_main')
 		send_irk(msg)
 	session.close
 

diff --git a/pym/tbc/jobs.py b/pym/tbc/jobs.py
index 924421c..5c136d2 100644
--- a/pym/tbc/jobs.py
+++ b/pym/tbc/jobs.py
@@ -1,11 +1,12 @@
-# Copyright 1998-2015 Gentoo Foundation
+# Copyright 1998-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
 from tbc.sync import git_sync_main
 #from tbc.buildquerydb import add_buildquery_main, del_buildquery_main
 from tbc.updatedb import update_db_main
-from tbc.sqlquerys import get_config_id, add_logs, get_jobs, update_job_list
+from tbc.sqlquerys import get_config_id, get_jobs, update_job_list
+from tbc.log import write_log
 
 def jobs_main(session, config_id):
 	JobsInfo = get_jobs(session, config_id)
@@ -16,55 +17,55 @@ def jobs_main(session, config_id):
 		run_config_id = JobInfo.RunConfigId
 		job_id = JobInfo.JobId
 		log_msg = "Job: %s Type: %s" % (job_id, job,)
-		add_logs(session, log_msg, "info", config_id)
+		write_log(session, log_msg, "info", config_id, 'jobs_main')
 		if job == "addbuildquery":
 			update_job_list(session, "Runing", job_id)
 			log_msg = "Job %s is runing." % (job_id,)
-			add_logs(session, log_msg, "info", config_id)
+			write_log(session, log_msg, "info", config_id, 'jobs_main')
 			#result =  add_buildquery_main(run_config_id)
 			#if result is True:
 			#	update_job_list(session, "Done", job_id)
 			#	log_msg = "Job %s is done.." % (job_id,)
-			#	add_logs(session, log_msg, "info", config_id)
+			#	write_log(session, log_msg, "info", config_id, 'jobs_main')
 			#else:
 			#	update_job_list(session, "Fail", job_id)
 			#	log_msg = "Job %s did fail." % (job_id,)
-			#	add_logs(session, log_msg, "info", config_id)
+			#	write_log(session, log_msg, "info", config_id, 'jobs_main')
 		elif job == "delbuildquery":
 			update_job_list(session, "Runing", job_id)
 			log_msg = "Job %s is runing." % (job_id,)
-			add_logs(session, log_msg, "info", config_id)
+			write_log(session, log_msg, "info", config_id, 'jobs_main')
 			#result =  del_buildquery_main(config_id)
 			#if result is True:
 			#	update_job_list(session, "Done", job_id)
 			#	log_msg = "Job %s is done.." % (job_id,)
-			#	add_logs(session, log_msg, "info", config_id)
+			#	write_log(session, log_msg, "info", config_id, 'jobs_main')
 			#else:
 			#	update_job_list(session, "Fail", job_id)
 			#	log_msg = "Job %s did fail." % (job_id,)
-			#	add_logs(session, log_msg, "info", config_id)
+			#	write_log(session, log_msg, "info", config_id, 'jobs_main')
 		elif job == "esync":
 			update_job_list(session, "Runing", job_id)
 			log_msg = "Job %s is runing." % (job_id,)
-			add_logs(session, log_msg, "info", config_id)
+			write_log(session, log_msg, "info", config_id, 'jobs_main')
 			if update_db_main(session, git_sync_main(session), config_id):
 				update_job_list(session, "Done", job_id)
 				log_msg = "Job %s is done.." % (job_id,)
-				add_logs(session, log_msg, "info", config_id)
+				write_log(session, log_msg, "info", config_id, 'jobs_main')
 			else:
 				update_job_list(session, "Fail", job_id)
 				log_msg = "Job %s did fail." % (job_id,)
-				add_logs(session, log_msg, "info", config_id)
+				write_log(session, log_msg, "info", config_id, 'jobs_main')
 		elif job == "updatedb":
 			update_job_list(session, "Runing", job_id)
 			log_msg = "Job %s is runing." % (job_id,)
-			add_logs(session, log_msg, "info", config_id)
+			write_log(session, log_msg, "info", config_id, 'jobs_main')
 			if update_db_main(session, None, config_id):
 				update_job_list(session, "Done", job_id)
 				log_msg = "Job %s is done.." % (job_id,)
-				add_logs(session, log_msg, "info", config_id)
+				write_log(session, log_msg, "info", config_id, 'jobs_main')
 			else:
 				update_job_list(session, "Fail", job_id)
 				log_msg = "Job %s did fail." % (job_id,)
-				add_logs(session, log_msg, "info", config_id)
+				write_log(session, log_msg, "info", config_id, 'jobs_main')
 	return

diff --git a/pym/tbc/log.py b/pym/tbc/log.py
new file mode 100644
index 0000000..944d3fa
--- /dev/null
+++ b/pym/tbc/log.py
@@ -0,0 +1,38 @@
+# Copyright 1998-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+from __future__ import print_function
+import logging
+module_logger = logging.getLogger('tbc.log')
+
+def setup_logger( tbc_settings):
+	# setupt the logger
+	log_level = getattr(logging, tbc_settings['log_level'].upper(), None)
+	format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
+	if not isinstance(log_level, int):
+		raise ValueError('Invalid log level: %s' % tbc_settings['log_level'])
+	logging.basicConfig()
+	logger = logging.getLogger('tbc')
+	logger.setLevel(log_level)
+	if tbc_settings['log_file']:
+		fh = logging.FileHandler(tbc_settings['log_file'])
+	else:
+		fh = logging.StreamHandler()
+	formatter = logging.Formatter(format)
+	fh.setFormatter(formatter)
+	logger.addHandler(fh)
+	return logger
+
+def write_log(session, msg, level, config_id, function=False):
+	if function:
+		logger = logging.getLogger('tbc.' + function)
+	else:
+		logger = logging.getLogger('tbc')
+	if level == 'info':
+		logger.info(msg)
+	if level == 'error':
+		logger.error(msg)
+	if level == 'debug':
+		logger.debug(msg)
+	if level == 'warning':
+		logger.warning(msg)

diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 40de495..72108a2 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -13,7 +13,8 @@ from tbc.text import get_ebuild_cvs_revision, get_log_text_dict
 from tbc.flags import tbc_use_flags
 from tbc.qachecks import check_repoman
 from tbc.build_log import check_repoman_full
-from tbc.sqlquerys import add_logs, get_package_info, get_config_info, \
+from tbc.log import write_log
+from tbc.sqlquerys import get_package_info, get_config_info, \
 	add_new_build_job, add_new_ebuild_sql, get_ebuild_id_list, add_old_ebuild, \
 	get_package_metadata_sql, update_package_metadata, update_mtime_sql, \
 	get_package_info_from_package_id, get_config_all_info, add_new_package_sql, \
@@ -104,9 +105,9 @@ class tbc_package(object):
 		except:
 			ebuild_version_checksum_tree = "0"
 			log_msg = "QA: Can't checksum the ebuild file. %s on repo %s" % (cpv, repo,)
-			add_logs(self._session, log_msg, "info", self._config_id)
+			write_log(session, log_msg, "warning", config_id, 'packages.get_packageDict')
 			log_msg = "C %s:%s ... Fail." % (cpv, repo)
-			add_logs(self._session, log_msg, "info", self._config_id)
+			write_log(session, log_msg, "info", config_id, 'packages.get_packageDict')
 			git_commit = '0'
 		else:
 			git_commit = self.get_git_log_ebuild(repodir, ebuild_file)
@@ -118,7 +119,7 @@ class tbc_package(object):
 		# so it can be updated next time we update the db
 		if not ebuild_version_metadata_tree:
 			log_msg = " QA: %s have broken metadata on repo %s" % (cpv, repo)
-			add_logs(self._session, log_msg, "info", self._config_id)
+			write_log(session, log_msg, "warning", config_id, 'packages.get_packageDict')
 			ebuild_version_metadata_tree = ['','','','','','','','','','','','','','','','','','','','','','','','','']
 			ebuild_version_checksum_tree = '0'
 
@@ -167,7 +168,7 @@ class tbc_package(object):
 						# B = Build cpv use-flags config
 						# FIXME log_msg need a fix to log the use flags corect.
 						log_msg = "B %s:%s USE: %s Setup: %s" % (k, v['repo'], use_flagsDict, setup_id,)
-						add_logs(self._session, log_msg, "info", self._config_id)
+						write_log(session, log_msg, "info", config_id, 'packages.add_new_build_job_db')
 					i = i +1
 
 	def get_git_log_pkg_text(self, repodir, cp):
@@ -188,7 +189,7 @@ class tbc_package(object):
 			pkg_md = MetaDataXML(pkgdir + "/metadata.xml", herd)
 		except:
 			log_msg = "Metadata file %s is missing or has errors" % (pkgdir + "/metadata.xml")
-			add_logs(self._session, log_msg, "qa", self._config_id)
+			write_log(session, log_msg, "warning", config_id, 'packages.get_package_metadataDict')
 		else:
 			tmp_herds = pkg_md.herds()
 			if tmp_herds != ():
@@ -200,7 +201,7 @@ class tbc_package(object):
 				attDict['metadata_xml_email'] = md_email_list
 			else:
 				log_msg = "Metadata file %s missing Email" % (pkgdir + "/metadata.xml")
-				add_logs(self._session, log_msg, "qa", self._config_id)
+				write_log(session, log_msg, "warning", config_id, 'packages.get_package_metadataDict')
 		attDict['git_log_pkg_text'] = self.get_git_log_pkg_text(repodir, cp)
 		attDict['metadata_xml_descriptions'] = ''
 		package_metadataDict[package_id] = attDict
@@ -246,9 +247,9 @@ class tbc_package(object):
 			mtime = os.path.getmtime(pkgdir + "/Manifest")
 		except:
 			log_msg = "QA: Can't checksum the Manifest file. :%s:%s" % (cp, repo,)
-			add_logs(self._session, log_msg, "error", self._config_id)
+			write_log(session, log_msg, "warning", config_id, 'packages.get_manifest_mtime_tree')
 			log_msg = "C %s:%s ... Fail." % (cp, repo)
-			add_logs(self._session, log_msg, "error", self._config_id)
+			write_log(session, log_msg, "warning", config_id, 'packages.get_manifest_mtime_tree')
 			return False
 		return datetime.datetime.fromtimestamp(mtime).replace(microsecond=0)
 
@@ -257,9 +258,9 @@ class tbc_package(object):
 		# C = Checking
 		# N = New Package
 		log_msg = "C %s:%s" % (cp, repo)
-		add_logs(self._session, log_msg, "info", self._config_id)
+		write_log(session, log_msg, "info", config_id, 'packages.add_new_package_db')
 		log_msg = "N %s:%s" % (cp, repo)
-		add_logs(self._session, log_msg, "info", self._config_id)
+		write_log(session, log_msg, "info", config_id, 'packages.add_new_package_db')
 		repodir = self._myportdb.getRepositoryPath(repo)
 		mytree = []
 		mytree.append(repodir)
@@ -274,16 +275,16 @@ class tbc_package(object):
 		status = check_repoman_full(self._session, pkgdir, package_id, self._config_id)
 		if status:
 			log_msg = "Repoman %s::%s ... Fail." % (cp, repo)
-			add_logs(self._session, log_msg, "error", self._config_id)
+			write_log(session, log_msg, "warning", config_id, 'packages.add_new_package_db')
 
 		package_metadataDict = self.get_package_metadataDict(pkgdir, package_id)
 		# Get the ebuild list for cp
 		ebuild_list_tree = self._myportdb.cp_list(cp, use_cache=1, mytree=mytree)
 		if ebuild_list_tree == []:
 			log_msg = "QA: Can't get the ebuilds list. %s:%s" % (cp, repo,)
-			add_logs(self._session, log_msg, "info", self._config_id)
+			write_log(session, log_msg, "error", config_id, 'packages.add_new_package_db')
 			log_msg = "C %s:%s ... Fail." % (cp, repo)
-			add_logs(self._session, log_msg, "info", self._config_id)
+			write_log(session, log_msg, "warning", config_id, 'packages.add_new_package_db')
 			return None
 
 		# Make the needed packageDict with ebuild infos so we can add it later to the db.
@@ -300,7 +301,7 @@ class tbc_package(object):
 		packageDict[cpv]['new'] = True
 		self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree)
 		log_msg = "C %s:%s ... Done." % (cp, repo)
-		add_logs(self._session, log_msg, "info", self._config_id)
+		write_log(session, log_msg, "info", config_id, 'packages.add_new_package_db')
 
 	def update_package_db(self, package_id):
 		# Update the categories and package with new info
@@ -309,7 +310,7 @@ class tbc_package(object):
 		cp = CategoryInfo.Category + '/' + PackageInfo.Package
 		repo = RepoInfo.Repo
 		log_msg = "C %s:%s" % (cp, repo)
-		add_logs(self._session, log_msg, "info", self._config_id)
+		write_log(session, log_msg, "info", config_id, 'packages.update_package_db')
 		repodir = self._myportdb.getRepositoryPath(repo)
 		pkgdir = repodir + "/" + cp # Get RepoDIR + cp
 		if not os.path.isdir(pkgdir):
@@ -319,11 +320,11 @@ class tbc_package(object):
 				cpv = cp + "-" + EbuildInfo.Version
 				# R =  remove ebuild
 				log_msg = "R %s:%s" % (cpv, repo,)
-				add_logs(self._session, log_msg, "info", self._config_id)
+				write_log(session, log_msg, "info", config_id, 'packages.update_package_db')
 			add_old_ebuild(self._session, old_ebuild_id_list)
 			add_old_package(self._session, package_id)
 			log_msg = "C %s:%s ... Done." % (cp, repo)
-			add_logs(self._session, log_msg, "info", self._config_id)
+			write_log(session, log_msg, "info", config_id, 'packages.update_package_db')
 			return None
 		
 		mytree = []
@@ -337,23 +338,23 @@ class tbc_package(object):
 
 			# U = Update
 			log_msg = "U %s:%s" % (cp, repo)
-			add_logs(self._session, log_msg, "info", self._config_id)
+			write_log(session, log_msg, "info", config_id, 'packages.update_package_db')
 
 			# Get the ebuild list for cp
 			old_ebuild_id_list = []
 			ebuild_list_tree = self._myportdb.cp_list(cp, use_cache=1, mytree=mytree)
 			if ebuild_list_tree == []:
 				log_msg = "QA: Can't get the ebuilds list. %s:%s" % (cp, repo,)
-				add_logs(self._session, log_msg, "info", self._config_id)
+				write_log(session, log_msg, "error", config_id, 'packages.update_package_db')
 				log_msg = "C %s:%s ... Fail." % (cp, repo)
-				add_logs(self._session, log_msg, "info", self._config_id)
+				write_log(session, log_msg, "warning", config_id, 'packages.update_package_db')
 				return None
 
 			# Check cp with repoman full
 			status = check_repoman_full(self._session, pkgdir, package_id, self._config_id)
 			if status:
 				log_msg = "Repoman %s::%s ... Fail." % (cp, repo)
-				add_logs(self._session, log_msg, "error", self._config_id)
+				write_log(session, log_msg, "warning", config_id, 'packages.update_package_db')
 			package_metadataDict = self.get_package_metadataDict(pkgdir, package_id)
 			packageDict ={}
 			new_ebuild_id_list = []
@@ -382,7 +383,7 @@ class tbc_package(object):
 						ebuilds_id , status = get_ebuild_id_db(self._session, checksum, package_id)
 						for ebuild_id in ebuilds_id:
 							log_msg = "U %s:%s:%s Dups of checksums" % (cpv, repo, ebuild_id,)
-							add_logs(self._session, log_msg, "error", self._config_id)
+							write_log(session, log_msg, "warning", config_id, 'packages.update_package_db')
 							dupe_ebuild_id_list.append(ebuild_id)
 					add_old_ebuild(self._session, dupe_ebuild_id_list)
 					ebuild_version_manifest_checksum_db = None
@@ -393,12 +394,12 @@ class tbc_package(object):
 				if ebuild_version_manifest_checksum_db is None:
 					# N = New ebuild
 					log_msg = "N %s:%s" % (cpv, repo,)
-					add_logs(self._session, log_msg, "info", self._config_id)
+					write_log(session, log_msg, "info", config_id, 'packages.update_package_db')
 					packageDict[cpv]['new'] = True
 				elif  ebuild_version_checksum_tree != ebuild_version_manifest_checksum_db:
 					# U = Updated ebuild
 					log_msg = "U %s:%s" % (cpv, repo,)
-					add_logs(self._session, log_msg, "info", self._config_id)
+					write_log(session, log_msg, "info", config_id, 'packages.update_package_db')
 				else:
 					# Remove cpv from packageDict and add ebuild to new ebuils list
 					del packageDict[cpv]
@@ -407,4 +408,4 @@ class tbc_package(object):
 			self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree)
 
 		log_msg = "C %s:%s ... Done." % (cp, repo)
-		add_logs(self._session, log_msg, "info", self._config_id)
+		write_log(session, log_msg, "info", config_id, 'packages.update_package_db')

diff --git a/pym/tbc/readconf.py b/pym/tbc/readconf.py
index b4bad11..ebb3b71 100644
--- a/pym/tbc/readconf.py
+++ b/pym/tbc/readconf.py
@@ -1,4 +1,4 @@
-# Copyright 1998-2015 Gentoo Foundation
+# Copyright 1998-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import os
@@ -10,6 +10,8 @@ configfile = "/etc/tbc/tbc.conf"
 
 def read_config_settings():
 # It will return a dict with options from the configfile
+	log_file= False
+	tbc_settings = {}
 	try:
 		open_conffile = open(configfile, 'r')
 	except:
@@ -27,13 +29,17 @@ def read_config_settings():
 			get_sql_user = element[1]
 		if element[0] == 'SQLPASSWD':		# Password
 			get_sql_passwd = element[1]
+		if element[0] == 'LOG':		# Log level
+			tbc_settings['log_level'] = element[1].rstrip('\n')
+		if element[0] == 'LOGFILE':		# Log level
+			log_file = element[1].rstrip('\n')
 	open_conffile.close()
 
-	tbc_settings = {}
 	tbc_settings['sql_backend'] = get_sql_backend.rstrip('\n')
 	tbc_settings['sql_db'] = get_sql_db.rstrip('\n')
 	tbc_settings['sql_host'] = get_sql_host.rstrip('\n')
 	tbc_settings['sql_user'] = get_sql_user.rstrip('\n')
 	tbc_settings['sql_passwd'] = get_sql_passwd.rstrip('\n')
 	tbc_settings['hostname'] = getfqdn()
+	tbc_settings['log_file'] = log_file
 	return tbc_settings

diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index e93c96d..5100bec 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -1,4 +1,4 @@
-# Copyright 1998-2015 Gentoo Foundation
+# Copyright 1998-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -10,6 +10,7 @@ from tbc.db_mapping import Configs, Logs, ConfigsMetaData, Jobs, BuildJobs, Pack
 	BuildJobsEmergeOptions, EbuildsMetadata, EbuildsIUse, Restrictions, EbuildsRestrictions, EbuildsKeywords, \
 	Keywords, PackagesMetadata, Emails, PackagesEmails, Setups, BuildLogsRepomanQa, CategoriesMetadata, \
 	PackagesRepoman
+from tbc.log import write_log
 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
 from sqlalchemy import and_, or_
 
@@ -83,8 +84,6 @@ def get_packages_to_build(session, config_id):
 	elif BuildJobsTmp.filter_by(BuildNow = False).all() != []:
 		BuildJobsInfo = BuildJobsTmp.filter_by(BuildNow = False).first()
 	else:
-		log_msg = "BuildJobsTmp found job but the if state mant did not."
-		add_zobcs_logs(session, log_msg, "error", config_id)
 		return None
 	update_buildjobs_status(session, BuildJobsInfo.BuildJobId, 'Looked', config_id)
 	EbuildsInfo = session.query(Ebuilds).filter_by(EbuildId = BuildJobsInfo.EbuildId).one()
@@ -219,6 +218,8 @@ def add_new_buildlog(session, build_dict, build_log_dict):
 			else:
 				for use in use_list:
 					useflagsdict[use.UseId] = use.Status
+			msg = 'Log_hash: %s Log_hash_sql: %s Build_log_id: %s' % (build_log_dict['log_hash'], log_hash[0], build_log_id,)
+			write_log(session, msg, "debug", build_dict['config_id'], 'sqlquerys.add_new_buildlog.build_log_id_match')
 			if log_hash[0] == build_log_dict['log_hash'] and build_dict['build_useflags'] == useflagsdict:
 				if session.query(BuildLogsConfig).filter(BuildLogsConfig.ConfigId.in_([build_dict['config_id']])).filter_by(BuildLogId = build_log_id[0]):
 					return None, True
@@ -255,6 +256,8 @@ def add_new_buildlog(session, build_dict, build_log_dict):
 			session.commit()
 		return build_log_id
 
+	msg = 'build_job_id: %s build_log_id_list: %s' % (build_dict['build_job_id'], build_log_id_list,)
+	write_log(session, msg, "debug", build_dict['config_id'], 'sqlquerys.add_new_buildlog')
 	if build_dict['build_job_id'] is None and build_log_id_list == []:
 		build_log_id = build_log_id_no_match(build_dict, build_log_dict)
 		return build_log_id

diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index 610f357..1732f1f 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -13,6 +13,7 @@ import git
 from tbc.sqlquerys import get_config_id_fqdn, add_logs, get_config_all_info, \
 	get_configmetadata_info, get_config_info, get_setup_info
 from tbc.readconf import read_config_settings
+from tbc.log import write_log
 
 def git_repos_list(myportdb):
 	repo_trees_list = myportdb.porttrees
@@ -46,7 +47,7 @@ def git_sync_main(session):
 	myportdb = portage.portdbapi(mysettings=mysettings)
 	GuestBusy = True
 	log_msg = "Waiting for Guest to be idel"
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'sync.git_sync_main')
 	guestid_list = []
 	# check if the guests is idel
 	for config in get_config_all_info(session):
@@ -57,6 +58,7 @@ def git_sync_main(session):
 		for guest_id in guestid_list:
 			ConfigMetadataGuest = get_configmetadata_info(session, guest_id)
 			Status_list.append(ConfigMetadataGuest.Status)
+		write_log(session, 'Guset status: %s' % (Status_list,), "debug", config_id, 'sync.git_sync_main')
 		if not 'Runing' in Status_list:
 			GuestBusy = False
 		else:
@@ -75,13 +77,15 @@ def git_sync_main(session):
 		reponame = myportdb.getRepositoryName(repo_dir)
 		repo = git.Repo(repo_dir)
 		log_msg = "Checking repo %s" % (reponame)
-		add_logs(session, log_msg, "info", config_id)
+		write_log(session, log_msg, "info", config_id, 'sync.git_sync_main')
 		info_list, repouptodate = git_fetch(repo)
 		if not repouptodate:
 			cp_list = []
 			attr = {}
 			# We check for Manifest changes and add the package to a list
-			for diff_line in repo.git.diff('origin', '--name-only').splitlines():
+			repo_diff = repo.git.diff('origin', '--name-only')
+			write_log(session, 'Git diff: %s' % (repo_diff,), "debug", config_id, 'sync.git_sync_main')
+			for diff_line in repo_diff.splitlines():
 				if re.search("Manifest$", diff_line):
 						cp = re.sub('/Manifest', '', diff_line)
 						cp_list.append(cp)
@@ -90,9 +94,9 @@ def git_sync_main(session):
 			git_merge(repo, info_list[0])
 		else:
 			log_msg = "Repo %s is up to date" % (reponame)
-			add_logs(session, log_msg, "info", config_id)
+			write_log(session, log_msg, "info", config_id, 'sync.git_sync_main')
 		log_msg = "Checking repo %s Done" % (reponame)
-		add_logs(session, log_msg, "info", config_id)
+		write_log(session, log_msg, "info", config_id, 'sync.git_sync_main')
 	# Need to add a clone of profiles/base for reading the tree
 	try:
 		os.mkdir(mysettings['PORTDIR'] + "/profiles/config", 0o777)
@@ -103,16 +107,17 @@ def git_sync_main(session):
 		pass
 
 	log_msg = "Repo sync ... Done."
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'sync.git_sync_main')
+	write_log(session, 'Updated Packages: %s' % (repo_cp_dict,), "debug", config_id, 'sync.git_sync_main')
 	return repo_cp_dict
 
 def git_pull(session, repo_dir, config_id):
 	log_msg = "Git pull"
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'sync.git_pull')
 	repo = git.Repo(repo_dir)
 	info_list, repouptodate = git_fetch(repo)
 	if not repouptodate:
 		git_merge(repo, info_list[0])
 	log_msg = "Git pull ... Done"
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'sync.git_pull')
 	return True

diff --git a/pym/tbc/updatedb.py b/pym/tbc/updatedb.py
index b860f51..0753d92 100644
--- a/pym/tbc/updatedb.py
+++ b/pym/tbc/updatedb.py
@@ -11,19 +11,20 @@ import portage
 from portage.xml.metadata import MetaDataXML
 from sqlalchemy.orm import scoped_session, sessionmaker
 from tbc.ConnectionManager import NewConnection
-from tbc.sqlquerys import add_logs, get_package_info, update_repo_db, \
+from tbc.sqlquerys import get_package_info, update_repo_db, \
 	update_categories_db, get_configmetadata_info, get_config_all_info, add_new_build_job, \
 	get_config_info, get_setup_info
 from tbc.check_setup import check_make_conf
 from tbc.package import tbc_package
 # Get the options from the config file tbc.conf
 from tbc.readconf import  read_config_settings
+from tbc.log import write_log
 
 def init_portage_settings(session, config_id):
 	# check config setup
 	check_make_conf(session, config_id)
 	log_msg = "Check configs done"
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'updatedb.init_portage_settings')
 
 	# setup default root
 	ConfigsMetaDataInfo = get_configmetadata_info(session, config_id)
@@ -35,7 +36,7 @@ def init_portage_settings(session, config_id):
 	# Set config_root (PORTAGE_CONFIGROOT)  to default_config_root
 	mysettings = portage.config(config_root = default_config_root)
 	log_msg = "Setting default config to: %s" % (host_config,)
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'updatedb.init_portage_settings')
 	return mysettings
 
 def get_categories_metadataDict(pkgdir):
@@ -78,7 +79,7 @@ def update_cpv_db_pool(mysettings, myportdb, cp, repo, tbc_settings, config_id):
 def update_cpv_db(session, repo_cp_dict, config_id, tbc_settings):
 	GuestBusy = True
 	log_msg = "Waiting for Guest to be idel"
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'updatedb.update_cpv_db')
 	guestid_list = []
 	for config in get_config_all_info(session):
 		if not config.Host:
@@ -93,7 +94,7 @@ def update_cpv_db(session, repo_cp_dict, config_id, tbc_settings):
 		time.sleep(30)
 
 	log_msg = "Checking categories, package, ebuilds"
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'updatedb.update_cpv_db')
 	new_build_jobs_list = []
 
 	# Setup settings, portdb and pool
@@ -101,8 +102,8 @@ def update_cpv_db(session, repo_cp_dict, config_id, tbc_settings):
 	myportdb = portage.portdbapi(mysettings=mysettings)
 	
 	# Use all cores when multiprocessing
-	pool_cores = multiprocessing.cpu_count()
-	pool = multiprocessing.Pool(processes = pool_cores)
+	#pool_cores = multiprocessing.cpu_count()
+	#pool = multiprocessing.Pool(processes = pool_cores)
 
 	# Get packages and repo
 	if repo_cp_dict is None:
@@ -147,7 +148,7 @@ def update_cpv_db(session, repo_cp_dict, config_id, tbc_settings):
 	# pool.close()
 	# pool.join()
 	log_msg = "Checking categories, package and ebuilds ... done"
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'updatedb.update_cpv_db')
 
 def update_db_main(session, repo_cp_dict, config_id):
 	# Main
@@ -156,10 +157,10 @@ def update_db_main(session, repo_cp_dict, config_id):
 	# Logging
 	tbc_settings = read_config_settings()
 	log_msg = "Update db started."
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'updatedb.update_db_main')
 
 	# Update the cpv db
 	update_cpv_db(session, repo_cp_dict, config_id, tbc_settings)
 	log_msg = "Update db ... Done."
-	add_logs(session, log_msg, "info", config_id)
+	write_log(session, log_msg, "info", config_id, 'updatedb.update_db_main')
 	return True


^ permalink raw reply related	[flat|nested] 2+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: bin/, pym/tbc/
@ 2016-01-26 20:50 Magnus Granberg
  0 siblings, 0 replies; 2+ messages in thread
From: Magnus Granberg @ 2016-01-26 20:50 UTC (permalink / raw
  To: gentoo-commits

commit:     7dfbe838fc5b944b56ec6af3d87d9f788913747f
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 26 20:52:01 2016 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Jan 26 20:52:01 2016 +0000
URL:        https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=7dfbe838

fix small typos for the looging

 bin/tbc_guest_jobs   | 4 ++--
 bin/tbc_host_jobs    | 4 ++--
 pym/tbc/build_log.py | 4 ++--
 pym/tbc/package.py   | 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/bin/tbc_guest_jobs b/bin/tbc_guest_jobs
index b4b74fd..5614f07 100755
--- a/bin/tbc_guest_jobs
+++ b/bin/tbc_guest_jobs
@@ -21,8 +21,8 @@ def main():
 	repeat = True
 	tbc_settings = read_config_settings()
 
-	# setupt the logger
-	logger = setup_logger(tbc_settings):
+	# setup the logger
+	logger = setup_logger(tbc_settings)
 
 	Session = sessionmaker(bind=NewConnection(tbc_settings))
 	session = Session()

diff --git a/bin/tbc_host_jobs b/bin/tbc_host_jobs
index 629ef54..50dfe76 100755
--- a/bin/tbc_host_jobs
+++ b/bin/tbc_host_jobs
@@ -16,8 +16,8 @@ import time
 def main():
 	# Main
 	tbc_settings = read_config_settings()
-	# setupt the logger
-	logger = setup_logger(tbc_settings):
+	# setup the logger
+	logger = setup_logger(tbc_settings)
 
 	Session = sessionmaker(bind=NewConnection(tbc_settings))
 	session = Session()

diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index ec4aaa7..d4fa0ef 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -75,8 +75,8 @@ def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg):
 	package = cpvr_list[1]
 	repo = pkg.repo
 	ebuild_version = cpv_getversion(pkg.cpv)
-	log_msg = "Logging %s:%s" % (pkg.cpv, repo,)
-	add_logs(session, log_msg, "info", config_id)
+	log_msg = "Setting up logging for %s:%s" % (pkg.cpv, repo,)
+	write_log(session, log_msg, "info", config_id, 'build_log.get_build_dict_db')
 	PackageInfo = get_package_info(session, categories, package, repo)
 	build_dict = {}
 	build_dict['ebuild_version'] = ebuild_version

diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 68574cf..bb797de 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -112,7 +112,7 @@ class tbc_package(object):
 			write_log(self._session, log_msg, "info", self._config_id, 'packages.get_packageDict')
 			git_commit = '0'
 		else:
-			repodir =self._ myportdb.getRepositoryPath(repo)
+			repodir =self._myportdb.getRepositoryPath(repo)
 			git_commit = self.get_git_log_ebuild(repodir, ebuild_file)
 
 		# Get the ebuild metadata


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-01-26 20:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-24 22:23 [gentoo-commits] proj/tinderbox-cluster:master commit in: bin/, pym/tbc/ Magnus Granberg
  -- strict thread matches above, loose matches on Subject: below --
2016-01-26 20:50 Magnus Granberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox