]
Barak Korren commented on OVIRT-2814:
-------------------------------------
{quote}
correct me if I’m worng but no real fix has been included right? lock file has just been
removed and we’re going to see this happen again sooner or later.
{quote}
Ok, I see whay you talk about now, I missed the fact that the failure was in a job for a
different mirror.
To solve this, we need to make sure that when we sync repo X, the {{reposync}} command
only sees the part of "{{mirrors-reposync.conf}}" that is relevant for repo X.
It should probably be doable by adding a {{sed}} command to {{mirror_mgr.sh}} that will
remove the unneeded repos from the file before running {{reposync}}.
[~accountid:5b25ec3f8b08c009c48b25c9] this is exactly what we've talked about before
you left today...
reposync fails syncing repos on completely unrelated paths
(concurrency issue?)
-------------------------------------------------------------------------------
Key: OVIRT-2814
URL:
https://ovirt-jira.atlassian.net/browse/OVIRT-2814
Project: oVirt - virtualization made easy
Issue Type: By-EMAIL
Reporter: Sandro Bonazzola
Assignee: infra
About job
https://jenkins.ovirt.org/job/system-sync_mirrors-centos-kvm-common-el7-x...
As you can see below
05:35:07 ++ reposync --config=jenkins/data/mirrors-reposync.conf
--repoid=centos-kvm-common-el7 --arch=x86_64
--cachedir=/home/jenkins/mirrors_cache
--download_path=/var/www/html/repos/yum/centos-kvm-common-el7/base
--norepopath --newest-only --urls --quiet
the sync is related to "/var/www/html/repos/yum/centos-kvm-common-el7/base"
using as cache directory "/home/jenkins/mirrors_cache"
but in "/home/jenkins/mirrors_cache" there's
"/home/jenkins/mirrors_cache/fedora-base-fc29":
05:35:16 Traceback (most recent call last):
05:35:16 File "/usr/bin/reposync", line 373, in <module>
05:35:16 main()
05:35:16 File "/usr/bin/reposync", line 185, in main
05:35:16 my.doRepoSetup()
05:35:16 File "/usr/lib/python2.7/site-packages/yum/__init__.py", line
681, in doRepoSetup
05:35:16 return self._getRepos(thisrepo, True)
05:35:16 File "/usr/lib/python2.7/site-packages/yum/__init__.py", line
721, in _getRepos
05:35:16 self._repos.doSetup(thisrepo)
05:35:16 File "/usr/lib/python2.7/site-packages/yum/repos.py", line 157,
in doSetup
05:35:16 self.retrieveAllMD()
05:35:16 File "/usr/lib/python2.7/site-packages/yum/repos.py", line 88,
in retrieveAllMD
05:35:16 dl = repo._async and repo._commonLoadRepoXML(repo)
05:35:16 File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line
1468, in _commonLoadRepoXML
05:35:16 local = self.cachedir + '/repomd.xml'
05:35:16 File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line
777, in <lambda>
05:35:16 cachedir = property(lambda self: self._dirGetAttr('cachedir'))
05:35:16 File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line
760, in _dirGetAttr
05:35:16 self.dirSetup()
05:35:16 File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line
738, in dirSetup
05:35:16 self._dirSetupMkdir_p(dir)
05:35:16 File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line
715, in _dirSetupMkdir_p
05:35:16 raise Errors.RepoError, msg
05:35:16 yum.Errors.RepoError: Error making cache directory:
/home/jenkins/mirrors_cache/fedora-base-fc29 error was: [Errno 17] File
exists: '/home/jenkins/mirrors_cache/fedora-base-fc29'
this looks like a concurrency issue, a lock should be used in order to
prevent two instances to use the same cache directory at the same time or
use separate cache directories for different repos.
--
Sandro Bonazzola
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100114)