Пример #1
0
 def setup(self):
     self.repo = models.Repo(
         models.Project('ceph-deploy'),
         'master',
         'centos',
         'el7'
     )
Пример #2
0
 def test_custom_flavor(self):
     self.repo = models.Repo(
         models.Project('ceph'),
         'master',
         'centos',
         'el7',
         flavor='wakawaka',
     )
     pecan.conf.repos_root = '/tmp/repos'
     result = util.repo_paths(self.repo)['absolute']
     assert result == '/tmp/repos/ceph/master/head/centos/el7/flavors/wakawaka'
Пример #3
0
    def mark_related_repos(self):
        related_projects = util.get_related_projects(self.project.name)
        repos = []
        projects = []
        for project_name, refs in related_projects.items():
            p = models.projects.get_or_create(name=project_name)
            projects.append(p)
            repo_query = []
            if refs == ['all']:
                # we need all the repos available
                repo_query = models.Repo.filter_by(project=p).all()
            else:
                for ref in refs:
                    repo_query = models.Repo.filter_by(project=p,
                                                       ref=ref).all()
            if repo_query:
                for r in repo_query:
                    repos.append(r)

        if not repos:
            # there are no repositories associated with this project, so go ahead
            # and create one so that it can be queried by the celery task later
            for project in projects:
                repo = models.Repo(
                    project,
                    self.ref,
                    self.distro,
                    self.distro_version,
                    sha1=self.sha1,
                )
                repo.needs_update = repository_is_automatic(project.name)
                repo.type = self.binary._get_repo_type()

        else:
            for repo in repos:
                repo.needs_update = repository_is_automatic(repo.project.name)
                if repo.type is None:
                    repo.type = self.binary._get_repo_type()