Merge commit 'origin/master' into mead-tmp
Conflicts: builder/kojid Resolved conflict between make_sources option and source_cmd option
This commit is contained in:
commit
1e3a7f0fef
14 changed files with 312 additions and 147 deletions
34
util/kojira
34
util/kojira
|
|
@ -135,13 +135,20 @@ class ManagedRepo(object):
|
|||
#also check dir age. We do this because a repo can be created from an older event
|
||||
#and should not be removed based solely on that event's timestamp.
|
||||
mtime = os.stat(path).st_mtime
|
||||
except OSError:
|
||||
self.logger.error("Can't stat repo directory: %s" % path)
|
||||
return True
|
||||
age = time.time() - max(self.event_ts, mtime)
|
||||
if age < options.deleted_repo_lifetime:
|
||||
#XXX should really be called expired_repo_lifetime
|
||||
return False
|
||||
except OSError, e:
|
||||
if e.errno == 2:
|
||||
# No such file or directory, so the repo either never existed,
|
||||
# or has already been deleted, so allow it to be marked deleted.
|
||||
self.logger.info("Repo directory does not exist: %s" % path)
|
||||
pass
|
||||
else:
|
||||
self.logger.error("Can't stat repo directory: %s, %s" % (path, e.strerror))
|
||||
return False
|
||||
else:
|
||||
age = time.time() - max(self.event_ts, mtime)
|
||||
if age < options.deleted_repo_lifetime:
|
||||
#XXX should really be called expired_repo_lifetime
|
||||
return False
|
||||
self.logger.debug("Attempting to delete repo %s.." % self.repo_id)
|
||||
if self.state != koji.REPO_EXPIRED:
|
||||
raise GenericError, "Repo not expired"
|
||||
|
|
@ -248,10 +255,12 @@ class RepoManager(object):
|
|||
continue
|
||||
rinfo = session.repoInfo(repo_id)
|
||||
if rinfo is None:
|
||||
age = time.time() - dir_ts
|
||||
if age > 36000:
|
||||
if not options.ignore_stray_repos:
|
||||
self.logger.warn("Unexpected directory (no such repo): %s" % repodir)
|
||||
if not options.ignore_stray_repos:
|
||||
age = time.time() - dir_ts
|
||||
if age > options.deleted_repo_lifetime:
|
||||
count += 1
|
||||
self.logger.info("Removing unexpected directory (no such repo): %s" % repodir)
|
||||
safe_rmtree(repodir, strict=False)
|
||||
continue
|
||||
if rinfo['tag_name'] != taginfo['name']:
|
||||
self.logger.warn("Tag name mismatch: %s" % repodir)
|
||||
|
|
@ -351,9 +360,6 @@ class RepoManager(object):
|
|||
del self.tasks[tag_id]
|
||||
#TODO [?] - implement a timeout for active tasks?
|
||||
self.logger.debug("Current tasks: %r" % self.tasks)
|
||||
if len(self.tasks) >= options.max_repo_tasks:
|
||||
self.logger.info("Maximum number of repo tasks reached.")
|
||||
return
|
||||
self.logger.debug("Updating repos")
|
||||
self.readCurrentRepos()
|
||||
#check for stale repos
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue