コード例 #1
0
 def _ensure_repos(self, updatedb=True):
     if 'release-latest' in self.repo_url or 'release-stable' in self.repo_url:
         LOG.warn("Special branches release/latest and release/stable currently doesn't work")
         self.repo_url = devel_repo_url_for_branch('master')
     repo = pkgmgr.repository('scalr-{0}'.format(self.repository), self.repo_url)
     # Delete previous repository
     for filename in glob.glob(os.path.dirname(repo.filename) + os.path.sep + 'scalr*'):
         if os.path.isfile(filename):
             os.remove(filename)
     if 'buildbot.scalr-labs.com' in self.repo_url and not linux.os.windows:
         self._configure_devel_repo(repo)
     elif linux.os.debian_family:
         self._apt_pin_release('scalr')  # make downgrades possible
     elif linux.os.redhat_family or linux.os.oracle_family:
         self._yum_prioritize(repo)
     # Ensure new repository
     repo.ensure()
     if updatedb:
         LOG.info('Updating packages cache')
         def do_updatedb():
             try:
                 self.pkgmgr.updatedb()
                 return True
             except:
                 LOG.warn('Package manager error', exc_info=sys.exc_info())
         wait_until(do_updatedb, sleep=10, timeout=120)
コード例 #2
0
ファイル: api.py プロジェクト: chenleji/scalarizr
    def _ensure_repos(self, updatedb=True):
        if "release-latest" in self.repo_url or "release-stable" in self.repo_url:
            LOG.warn("Special branches release/latest and release/stable currently doesn't work")
            self.repo_url = devel_repo_url_for_branch("master")
        repo = pkgmgr.repository("scalr-{0}".format(self.repository), self.repo_url)
        # Delete previous repository
        for filename in glob.glob(os.path.dirname(repo.filename) + os.path.sep + "scalr*"):
            if os.path.isfile(filename):
                os.remove(filename)
        if "buildbot.scalr-labs.com" in self.repo_url and not linux.os.windows:
            self._configure_devel_repo(repo)
        elif linux.os.debian_family:
            self._apt_pin_release("scalr")  # make downgrades possible
        elif linux.os.redhat_family or linux.os.oracle_family:
            self._yum_prioritize(repo)
        # Ensure new repository
        repo.ensure()
        if updatedb:
            LOG.info("Updating packages cache")

            def do_updatedb():
                try:
                    self.pkgmgr.updatedb()
                    return True
                except:
                    LOG.warn("Package manager error", exc_info=sys.exc_info())

            wait_until(do_updatedb, sleep=10, timeout=120)
コード例 #3
0
 def _ensure_repos(self):
     if not linux.os.windows_family:
         repo = repository('scalr-{0}'.format(self.repository),
                           self.repo_url)
         # Delete previous repository
         for filename in glob.glob(
                 os.path.dirname(repo.filename) + os.path.sep + 'scalr*'):
             if os.path.isfile(filename):
                 os.remove(filename)
         # Ensure new repository
         repo.ensure()
コード例 #4
0
    def _configure_devel_repo(self, repo):
        # Pin devel repository
        if linux.os.redhat_family or linux.os.oracle_family:
            self._yum_prioritize(repo)
        else:
            self._apt_pin_release(self.repository)

        # Scalr repo has all required dependencies (like python-* libs, etc),
        # while Branch repository has only scalarizr package
        release_repo = pkgmgr.repository('scalr-release', devel_repo_url_for_branch('scalr'))
        release_repo.ensure()
コード例 #5
0
ファイル: api.py プロジェクト: chenleji/scalarizr
    def _configure_devel_repo(self, repo):
        # Pin devel repository
        if linux.os.redhat_family or linux.os.oracle_family:
            self._yum_prioritize(repo)
        else:
            self._apt_pin_release(self.repository)

        # Scalr repo has all required dependencies (like python-* libs, etc),
        # while Branch repository has only scalarizr package
        release_repo = pkgmgr.repository("scalr-release", devel_repo_url_for_branch("scalr"))
        release_repo.ensure()