| |
@@ -445,6 +445,17 @@
|
| |
self.logger.info('Found repo %s, state=%s'
|
| |
% (repo_id, koji.REPO_STATES[data['state']]))
|
| |
repo = ManagedRepo(self, data, repodata)
|
| |
+ if self.options.ignore_other_volumes:
|
| |
+ info = repo.get_info()
|
| |
+ if info is None:
|
| |
+ continue
|
| |
+ volume = info.get('volume')
|
| |
+ if volume is not None and volume != 'DEFAULT':
|
| |
+ # Other volume
|
| |
+ self.logger.info("Skipping repo ({}) on other volume {}".format(
|
| |
+ repo_id, volume,
|
| |
+ ))
|
| |
+ continue
|
| |
self.repos[repo_id] = repo
|
| |
if not getTag(self.session, repo.tag_id) and not repo.expired():
|
| |
self.logger.info('Tag %d for repo %d disappeared, expiring.', repo.tag_id, repo_id)
|
| |
@@ -634,10 +645,14 @@
|
| |
session.logout()
|
| |
|
| |
def pruneLocalRepos(self):
|
| |
+ volname = 'DEFAULT'
|
| |
+ volumedir = pathinfo.volumedir(volname)
|
| |
+ repodir = "%s/repos" % volumedir
|
| |
+ self._pruneLocalRepos(repodir, self.options.deleted_repo_lifetime)
|
| |
+
|
| |
for volinfo in self.session.listVolumes():
|
| |
- volumedir = pathinfo.volumedir(volinfo['name'])
|
| |
- repodir = "%s/repos" % volumedir
|
| |
- self._pruneLocalRepos(repodir, self.options.deleted_repo_lifetime)
|
| |
+ volname = volinfo['name']
|
| |
+ volumedir = pathinfo.volumedir(volname)
|
| |
distrepodir = "%s/repos-dist" % volumedir
|
| |
self._pruneLocalRepos(distrepodir, self.options.dist_repo_lifetime)
|
| |
|
| |
@@ -1235,6 +1250,7 @@
|
| |
'cert': None,
|
| |
'serverca': None,
|
| |
'queue_file': None,
|
| |
+ 'ignore_other_volumes': False,
|
| |
}
|
| |
if config.has_section(section):
|
| |
int_opts = ('deleted_repo_lifetime', 'max_repo_tasks', 'repo_tasks_limit',
|
| |
@@ -1245,7 +1261,7 @@
|
| |
'cert', 'serverca', 'debuginfo_tags', 'queue_file',
|
| |
'source_tags', 'separate_source_tags', 'ignore_tags')
|
| |
bool_opts = ('verbose', 'debug', 'ignore_stray_repos', 'offline_retry',
|
| |
- 'no_ssl_verify', 'check_external_repos')
|
| |
+ 'no_ssl_verify', 'check_external_repos', 'ignore_other_volumes')
|
| |
legacy_opts = ('with_src', 'delete_batch_size', 'recent_tasks_lifetime')
|
| |
for name in config.options(section):
|
| |
if name in int_opts:
|
| |