[copr] master: W: 15, 0: Unused import json (unused-import) (e847d9f)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit e847d9fa3083f94f7e401fe14f2178cf5f2c41ff
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Sep 10 09:09:02 2014 +0200
W: 15, 0: Unused import json (unused-import)
>---------------------------------------------------------------
backend/copr-be.py | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/backend/copr-be.py b/backend/copr-be.py
index ec0f6e6..450d6ba 100755
--- a/backend/copr-be.py
+++ b/backend/copr-be.py
@@ -11,7 +11,6 @@ from retask import ConnectionError
import ConfigParser
import daemon
import grp
-import json
import lockfile
import logging
import multiprocessing
9 years, 6 months
[copr] master: W:311, 16: Redefining built-in id (redefined-builtin) (94b5e19)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 94b5e19c0cd1259d28b46fe10367a87eb1663040
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Sep 10 09:06:30 2014 +0200
W:311,16: Redefining built-in id (redefined-builtin)
>---------------------------------------------------------------
backend/copr-be.py | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/backend/copr-be.py b/backend/copr-be.py
index a413d29..005d6bd 100755
--- a/backend/copr-be.py
+++ b/backend/copr-be.py
@@ -327,19 +327,19 @@ class CoprBackend(object):
self.opts = self.read_conf()
for group in self.opts.build_groups:
- id = group["id"]
+ group_id = group["id"]
self.event("# jobs in {0} queue: {1}".format(
group["name"],
- self.task_queues[id].length))
+ self.task_queues[group_id].length))
# this handles starting/growing the number of workers
- if len(self.workers[id]) < group["max_workers"]:
+ if len(self.workers[group_id]) < group["max_workers"]:
self.event("Spinning up more workers")
- for _ in range(group["max_workers"] - len(self.workers[id])):
- self.worker_num[id] += 1
+ for _ in range(group["max_workers"] - len(self.workers[group_id])):
+ self.worker_num[group_id] += 1
w = Worker(
- self.opts, self.events, self.worker_num[id], id,
+ self.opts, self.events, self.worker_num[group_id], group_id,
lock=self.lock)
- self.workers[id].append(w)
+ self.workers[group_id].append(w)
w.start()
self.event("Finished starting worker processes")
# FIXME - prune out workers
9 years, 6 months
[copr] master: [frontend] [RHBZ:#1146825] Reorder chroots for monitor widget (2a42d24)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 2a42d24c4e6b0772d503303912f8548272c6d17d
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Thu Oct 2 17:58:19 2014 +0200
[frontend] [RHBZ:#1146825] Reorder chroots for monitor widget
>---------------------------------------------------------------
.../coprs_frontend/coprs/logic/builds_logic.py | 5 +-
.../coprs/views/coprs_ns/coprs_general.py | 16 ++++-
frontend/coprs_frontend/tests/coprs_test_case.py | 70 ++++++++++++++++++++
.../tests/test_logic/test_builds_logic.py | 11 +++
4 files changed, 95 insertions(+), 7 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/logic/builds_logic.py b/frontend/coprs_frontend/coprs/logic/builds_logic.py
index 6f8ffc4..63c0e23 100644
--- a/frontend/coprs_frontend/coprs/logic/builds_logic.py
+++ b/frontend/coprs_frontend/coprs/logic/builds_logic.py
@@ -283,8 +283,8 @@ class BuildsMonitorLogic(object):
out = []
packages = []
for build in builds:
- chroot_results = {chroot.name: chroot.state
- for chroot in build.build_chroots}
+ chroot_results = dict(
+ [(chroot.name, chroot.state) for chroot in build.build_chroots])
build_results = []
for chroot_name in chroots:
@@ -306,7 +306,6 @@ class BuildsMonitorLogic(object):
out.append(pkg_name)
packages.sort()
- print(packages)
return {
"builds": builds,
"chroots": chroots,
diff --git a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
index aba25c5..993f0a4 100644
--- a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
+++ b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
@@ -546,12 +546,20 @@ def copr_build_monitor(username, coprname):
"Copr with name {0} does not exist.".format(coprname))
form = forms.CoprLegalFlagForm()
- oses = [chroot.os for chroot in copr.active_chroots]
- oses_grouped = [(len(list(group)), key) for key, group in groupby(oses)]
- archs = [chroot.arch for chroot in copr.active_chroots]
- kwargs = dict(copr=copr, oses=oses_grouped, archs=archs, form=form)
monitor = builds_logic.BuildsMonitorLogic.get_monitor_data(copr)
+
+ md_chroots = monitor["chroots"]
+ active_chroots = sorted(
+ copr.active_chroots,
+ key=lambda chroot: md_chroots.index(chroot.name)
+ )
+ oses = [chroot.os for chroot in active_chroots]
+ oses_grouped = [(len(list(group)), key) for key, group in groupby(oses)]
+ archs = [chroot.arch for chroot in active_chroots]
+
+ kwargs = dict(copr=copr, oses=oses_grouped, archs=archs,
+ form=form)
kwargs.update(monitor)
kwargs["build"] = kwargs["latest_build"]
del kwargs["latest_build"]
diff --git a/frontend/coprs_frontend/tests/coprs_test_case.py b/frontend/coprs_frontend/tests/coprs_test_case.py
index 54fe7fe..5585bd1 100644
--- a/frontend/coprs_frontend/tests/coprs_test_case.py
+++ b/frontend/coprs_frontend/tests/coprs_test_case.py
@@ -1,4 +1,5 @@
import base64
+from collections import defaultdict
import os
import time
from functools import wraps
@@ -108,6 +109,37 @@ class CoprsTestCase(object):
self.db.session.add_all([self.mc1, self.mc2, self.mc3, self.mc4])
@pytest.fixture
+ def f_mock_chroots_many(self):
+ """
+ Adds more chroots to self.c1
+ """
+ self.mc_list = []
+ for arch in ["x86_64", "i386"]:
+ for os_version in range(17, 22):
+ mc = models.MockChroot(
+ os_release="fedora", os_version=os_version,
+ arch=arch, is_active=True)
+ self.mc_list.append(mc)
+
+ for os_version in [5, 6, 7]:
+ mc = models.MockChroot(
+ os_release="epel", os_version=os_version,
+ arch=arch, is_active=True)
+ self.mc_list.append(mc)
+
+ self.mc_list[-1].is_active = False
+
+ # only bind to coprs if the test has used the f_coprs fixture
+ if hasattr(self, "c1"):
+ for mc in self.mc_list:
+ cc = models.CoprChroot()
+ cc.mock_chroot = mc
+ self.c1.copr_chroots.append(cc)
+
+
+ self.db.session.add_all(self.mc_list)
+
+ @pytest.fixture
def f_builds(self):
self.b1 = models.Build(
copr=self.c1, user=self.u1, submitted_on=50, started_on=139086644000)
@@ -135,6 +167,44 @@ class CoprsTestCase(object):
self.db.session.add_all([self.b1, self.b2, self.b3, self.b4])
@pytest.fixture
+ def f_builds_many_chroots(self):
+ self.b_many_chroots = models.Build(
+ id=12347,
+ copr=self.c1, user=self.u1,
+ submitted_on=50, started_on=139086644000,
+ pkgs="http://example.com/copr-keygen-1.58-1.fc20.src.rpm",
+ pkg_version="1.58"
+ )
+
+ self.db.session.add(self.b_many_chroots)
+ self.status_by_chroot = {
+ 'epel-5-i386': 0,
+ 'epel-5-x86_64': 1,
+ 'epel-6-i386': 0,
+ 'epel-6-x86_64': 3,
+ 'epel-7-x86_64': 4,
+ 'fedora-17-i386': 5,
+ 'fedora-17-x86_64': 6,
+ 'fedora-18-i386': 2,
+ 'fedora-18-x86_64': 3,
+ 'fedora-19-i386': 0,
+ 'fedora-19-x86_64': 0,
+ 'fedora-20-i386': 1,
+ 'fedora-20-x86_64': 1,
+ 'fedora-21-i386': 1,
+ 'fedora-21-x86_64': 4
+ }
+
+ for chroot in self.b_many_chroots.copr.active_chroots:
+ buildchroot = models.BuildChroot(
+ build=self.b_many_chroots,
+ mock_chroot=chroot,
+ status = self.status_by_chroot[chroot.name])
+ self.db.session.add(buildchroot)
+
+ self.db.session.add(self.b_many_chroots)
+
+ @pytest.fixture
def f_copr_permissions(self):
self.cp1 = models.CoprPermission(
copr=self.c2,
diff --git a/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py b/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
index 9871664..8c03475 100644
--- a/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
+++ b/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
@@ -1,7 +1,9 @@
import pytest
+from coprs import helpers
from coprs.exceptions import ActionInProgressException
from coprs.logic.builds_logic import BuildsLogic
+from coprs.logic.builds_logic import BuildsMonitorLogic
from tests.coprs_test_case import CoprsTestCase
@@ -38,3 +40,12 @@ class TestBuildsLogic(CoprsTestCase):
b = BuildsLogic.add(**params)
for k, v in params.items():
assert getattr(b, k) == v
+
+ def test_monitor_logic(self, f_users, f_coprs, f_mock_chroots_many, f_builds_many_chroots, f_db):
+ copr = self.c1
+ md = BuildsMonitorLogic.get_monitor_data(copr)
+ results = md["packages"][-1][2]
+ mchroots = md["chroots"]
+
+ for chr, res in zip(mchroots, results):
+ assert helpers.StatusEnum(self.status_by_chroot[chr]) == res[1]
9 years, 7 months
[copr] master: Automatic commit of package [copr-keygen] release [1.58-1]. (92e5e6a)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 92e5e6a900702fe4f877ae93df039d6b9fca53b5
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Wed Oct 1 17:38:43 2014 +0200
Automatic commit of package [copr-keygen] release [1.58-1].
>---------------------------------------------------------------
keygen/copr-keygen.spec | 5 ++++-
rel-eng/packages/copr-keygen | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/keygen/copr-keygen.spec b/keygen/copr-keygen.spec
index 01fef65..64c6545 100644
--- a/keygen/copr-keygen.spec
+++ b/keygen/copr-keygen.spec
@@ -7,7 +7,7 @@
# this package doesn't support rhel7- since it doesn't have python3* packages
Name: copr-keygen
-Version: 1.57
+Version: 1.58
Release: 1%{?dist}
Summary: Part of Copr build system. Aux service that generate keys for sign.
@@ -175,6 +175,9 @@ service httpd condrestart
%changelog
+* Wed Oct 01 2014 Valentin Gologuzov <vgologuz(a)redhat.com> 1.58-1
+- [keygen] python3 bugfix, added logging
+
* Wed Sep 24 2014 Valentin Gologuzov <vgologuz(a)redhat.com> 1.57-1
- [keygen] changed shebang in run scripts to #!/usr/bin/python3, Requires:
{,python3-}mod_wsgi
diff --git a/rel-eng/packages/copr-keygen b/rel-eng/packages/copr-keygen
index b33d0b7..ceaf238 100644
--- a/rel-eng/packages/copr-keygen
+++ b/rel-eng/packages/copr-keygen
@@ -1 +1 @@
-1.57-1 keygen/
+1.58-1 keygen/
9 years, 7 months
[copr] master: [keygen] added script to run dev instance (32cabe2)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 32cabe274b058c8ec8eeea3dd9dba4143cb15294
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Wed Oct 1 17:26:26 2014 +0200
[keygen] added script to run dev instance
>---------------------------------------------------------------
keygen/run/dev_run.conf | 13 +++++++++++++
keygen/run/dev_run.py | 15 ++++++++++++++-
keygen/src/copr_keygen/__init__.py | 4 +++-
3 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/keygen/run/dev_run.conf b/keygen/run/dev_run.conf
new file mode 100644
index 0000000..81750f4
--- /dev/null
+++ b/keygen/run/dev_run.conf
@@ -0,0 +1,13 @@
+DEBUG = True
+
+PHRASES_DIR = "/tmp/copr-keygen/var/lib/copr-keygen/phrases/"
+GPG_BINARY = "/bin/gpg2"
+GNUPG_HOMEDIR = "/tmp/copr-keygen/var/lib/copr-keygen/gnupg"
+
+GPG_KEY_LENGTH = 2048
+GPG_EXPIRE = "5y"
+
+LOG_DIR = "/tmp/copr-keygen/var/log/copr-keygen"
+import logging
+LOG_LEVEL = logging.DEBUG
+DEBUG_WITH_LOG = True
diff --git a/keygen/run/dev_run.py b/keygen/run/dev_run.py
index 3511bc5..3f75e4e 100755
--- a/keygen/run/dev_run.py
+++ b/keygen/run/dev_run.py
@@ -2,12 +2,25 @@
import sys
sys.path.append("../src/")
+
+import os
+import glob
+os.environ["COPR_KEYGEN_CONFIG"] = glob.glob("./run/dev_run.conf")
+
+for d in [
+ "/tmp/copr-keygen/var/lib/copr-keygen/phrases/",
+ "/tmp/copr-keygen/var/lib/copr-keygen/gnupg",
+ "/tmp/copr-keygen/var/log/copr-keygen"
+]:
+ if not os.path.exists(d):
+ os.makedirs(d)
+
from copr_keygen import app
import logging
logging.basicConfig(
- level=logging.INFO,
+ level=logging.DEBUG,
format= '[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s',
datefmt='%H:%M:%S'
)
diff --git a/keygen/run_tests.sh b/keygen/run_tests.sh
old mode 100644
new mode 100755
diff --git a/keygen/src/copr_keygen/__init__.py b/keygen/src/copr_keygen/__init__.py
index 41f19b3..0388d18 100644
--- a/keygen/src/copr_keygen/__init__.py
+++ b/keygen/src/copr_keygen/__init__.py
@@ -20,7 +20,7 @@ app.config.from_envvar("COPR_KEYGEN_CONFIG", silent=True)
# setup logger
-if not app.config["DEBUG"]:
+if not app.config["DEBUG"] or app.config["DEBUG_WITH_LOG"]:
filename = os.path.join(app.config["LOG_DIR"], "main.log")
if os.path.exists(app.config["LOG_DIR"]):
handler = RotatingFileHandler(filename,
@@ -51,6 +51,7 @@ def ping():
:status 200: server alive
"""
+ log.debug("got ping")
return Response("pong\n", content_type="text/plain;charset=UTF-8")
@@ -91,6 +92,7 @@ def gen_key():
except Exception as e:
raise BadRequestException("Failed to parse request body: {}".format(e))
+ log.info("received gen_key query: {}".format(query))
if "name_real" not in query:
raise BadRequestException("Request query missing required "
"parameter `name_real`".format(query))
9 years, 7 months