Learn more about these different git repos.
Other Git URLs
I fixed imports in https://pagure.io/pagure/pull-request/4152 but there are more issues I am not able to solve. I am running docker-compose setup. Here is the tail of compose log:
docker-compose
worker_1 | 2018-12-29 00:57:11,942 [INFO] celery.app.trace: Task pagure.lib.tasks.update_git[5c33e85f-57a5-408e-ba35-4b56c523edf6] succeeded in 0.1708963359997142s: None worker_1 | 2018-12-29 00:57:12,020 [INFO] celery.worker.strategy: Received task: pagure.lib.tasks.fork[3e598eaa-4099-40c7-ab3e-ea8feb190c9b] worker_1 | 2018-12-29 00:57:12,041 [INFO] pagure.lib.model: Grabbing lock for 19 worker_1 | 2018-12-29 00:57:12,041 [INFO] pagure.lib.model: Grabbing lock for 19 worker_1 | 2018-12-29 00:57:12,063 [INFO] pagure.lib.model: Got lock for 19: <pagure.lib.model.ProjectLock object at 0x7f3a657fbfd0> worker_1 | 2018-12-29 00:57:12,063 [INFO] pagure.lib.model: Got lock for 19: <pagure.lib.model.ProjectLock object at 0x7f3a657fbfd0> worker_1 | 2018-12-29 00:57:12,141 [INFO] pagure.lib.git: Remote line: remote: env: ‘python’: No such file or directory worker_1 | 2018-12-29 00:57:12,141 [INFO] pagure.lib.git: Remote line: remote: env: ‘python’: No such file or directory worker_1 | 2018-12-29 00:57:12,147 [INFO] pagure.lib.git: Remote line: To /repos/repos/forks/foo/test.git worker_1 | 2018-12-29 00:57:12,147 [INFO] pagure.lib.git: Remote line: To /repos/repos/forks/foo/test.git worker_1 | 2018-12-29 00:57:12,147 [INFO] pagure.lib.git: Remote line: ! [remote rejected] forkedfrom/master -> master (pre-receive hook declined) worker_1 | 2018-12-29 00:57:12,147 [INFO] pagure.lib.git: Remote line: ! [remote rejected] forkedfrom/master -> master (pre-receive hook declined) worker_1 | 2018-12-29 00:57:12,148 [INFO] pagure.lib.git: Remote line: error: failed to push some refs to '/repos/repos/forks/foo/test.git' worker_1 | 2018-12-29 00:57:12,148 [INFO] pagure.lib.git: Remote line: error: failed to push some refs to '/repos/repos/forks/foo/test.git' worker_1 | 2018-12-29 00:57:12,148 [INFO] pagure.lib.git: Remote line: worker_1 | 2018-12-29 00:57:12,148 [INFO] pagure.lib.git: Remote line: worker_1 | 2018-12-29 00:57:12,149 [INFO] pagure.lib.git: Remote rejected with: ['env: ‘python’: No such file or directory'] worker_1 | 2018-12-29 00:57:12,149 [INFO] pagure.lib.git: Remote rejected with: ['env: ‘python’: No such file or directory'] worker_1 | 2018-12-29 00:57:12,151 [INFO] pagure.lib.model: Releasing lock for 19 worker_1 | 2018-12-29 00:57:12,151 [INFO] pagure.lib.model: Releasing lock for 19 worker_1 | 2018-12-29 00:57:12,155 [INFO] pagure.lib.model: Released lock for 19 worker_1 | 2018-12-29 00:57:12,155 [INFO] pagure.lib.model: Released lock for 19 postgresql_1 | 2018-12-29 00:57:12.230 UTC [165] LOG: unexpected EOF on client connection with an open transaction worker_1 | 2018-12-29 00:57:12,298 [ERROR] celery.app.trace: Task pagure.lib.tasks.fork[3e598eaa-4099-40c7-ab3e-ea8feb190c9b] raised unexpected: PagurePushDenied('Remote hook declined the push: env: ‘python’: No such file or directory',) worker_1 | Traceback (most recent call last): worker_1 | File "/code/pagure/lib/git.py", line 1072, in push worker_1 | env=env, worker_1 | File "/usr/lib64/python3.6/subprocess.py", line 336, in check_output worker_1 | **kwargs).stdout worker_1 | File "/usr/lib64/python3.6/subprocess.py", line 418, in run worker_1 | output=stdout, stderr=stderr) worker_1 | subprocess.CalledProcessError: Command '['git', 'push', 'origin', 'remotes/forkedfrom/master:refs/heads/master']' returned non-zero exit status 1. worker_1 | worker_1 | During handling of the above exception, another exception occurred: worker_1 | worker_1 | Traceback (most recent call last): worker_1 | File "/usr/lib/python3.6/site-packages/celery/app/trace.py", line 367, in trace_task worker_1 | R = retval = fun(*args, **kwargs) worker_1 | File "/usr/lib/python3.6/site-packages/celery/app/trace.py", line 622, in __protected_call__ worker_1 | return self.run(*args, **kwargs) worker_1 | File "/code/pagure/lib/tasks_utils.py", line 36, in decorated_function worker_1 | return function(self, session, *args, **kwargs) worker_1 | File "/code/pagure/lib/tasks.py", line 491, in fork worker_1 | internal_no_hooks="yes", worker_1 | File "/code/pagure/lib/git.py", line 1087, in push worker_1 | "Remote hook declined the push: %s" % "\n".join(remotes) worker_1 | pagure.exceptions.PagurePushDenied: Remote hook declined the push: env: ‘python’: No such file or directory
✗ docker-compose -f dev/docker-compose.yml exec worker /usr/bin/env python --version env: 'python': No such file or directory
???
I had to make hookrunner Python 3 only to fix Celery worker. I don't know other way to make it discover Python 3 without a wrapper script.
hookrunner
diff --git a/pagure/hooks/files/hookrunner b/pagure/hooks/files/hookrunner index 07086656..34009eeb 100755 --- a/pagure/hooks/files/hookrunner +++ b/pagure/hooks/files/hookrunner @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python3 # -*- coding: utf-8 -*- """ @@ -9,8 +9,6 @@ """ -from __future__ import unicode_literals, absolute_import - import os import sys # The following is only needed if you did not install pagure
-from future import unicode_literals, absolute_import
These two lines are valid python3, no need to remove them :)
But they are defaults, no?
Yes, but the hook also runs with python2 for which they are needed.
With this shebang modification it won't run on Python 2 anymore.
Correct but the entire pagure code base is compatible with both versions of python :)
I think the PR https://pagure.io/pagure/pull-request/4205 fixed this issue.
So let's close it and re-open this one or another if needed.
Thanks for your report, it is always appreciated :)
Metadata Update from @pingou: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.