def ignore_test_basic_yum_info_parse(self): test_url = "http://repos.fedorapeople.org/repos/pulp/pulp/v1/testing/6Server/i386/" temp_label = "temp_label" yum_info = None temp_dir = os.path.join(tempfile.mkdtemp(), temp_label) try: yum_info = YumInfo(temp_label, test_url, repo_dir=temp_dir) yum_info.setUp() self.assertTrue(len(yum_info.rpms) > 0) finally: shutil.rmtree(temp_dir)
def setup(self, basepath="./", callback=None, verify_options=None, num_retries=None, retry_delay=None, incr_progress=False): """ Fetches yum metadata and determines what object should be downloaded. @param basepath: path to store repo data @type basepath: str @param callback: progress callback function @type callback: function which accepts a grinder.GrinderCallback.ProgressReport @param verify_options: controls verification checks on "size" and "checksum". @type verify_options: dict{"size":bool,"checksum":bool} @param num_retries: number of retries to perform if an error occurs @type num_retries: int @param retry_delay: delay in seconds between retries, delay = 'retry_attempt' * 'retry_delay' @type retry_delay: int @param incr_progress: if true, incremental progress on each item as it's downloaded will be reported @type inc_progress: bool """ self.repo_dir = os.path.join(basepath, self.repo_label) LOG.info("%s, %s, Calling RepoFetch with: cacert=<%s>, clicert=<%s>, clikey=<%s>, proxy_url=<%s>, proxy_port=<%s>, proxy_user=<%s>, proxy_pass=<NOT_LOGGED>, sslverify=<%s>, max_speed=<%s>, verify_options=<%s>, filter=<%s>" %\ (self.repo_label, self.repo_url, self.sslcacert, self.sslclientcert, self.sslclientkey, self.proxy_url, self.proxy_port, self.proxy_user, self.sslverify, self.max_speed, verify_options, self.filter)) self.repoFetch = RepoFetch(cacert=self.sslcacert, clicert=self.sslclientcert, clikey=self.sslclientkey,\ proxy_url=self.proxy_url, proxy_port=self.proxy_port, proxy_user=self.proxy_user, proxy_pass=self.proxy_pass, sslverify=self.sslverify, max_speed=self.max_speed, verify_options=verify_options, num_retries=num_retries) self.fetchPkgs = ParallelFetch(self.repoFetch, self.numThreads, callback=callback, incr_progress=incr_progress) self.fetchPkgs.processCallback(ProgressReport.DownloadMetadata) info = YumInfo( repo_label=self.repo_label, repo_url=self.repo_url, mirrors = self.mirrors, repo_dir=self.repo_dir, packages_location=self.pkgpath, newest=self.newest, remove_old=self.remove_old, numOldPackages=self.numOldPackages, cacert=self.sslcacert, clicert=self.sslclientcert, clikey=self.sslclientkey, proxy_url=self.proxy_url, proxy_port=self.proxy_port, proxy_user=self.proxy_user, proxy_pass=self.proxy_pass, sslverify=self.sslverify, skip=self.skip, tmp_path=self.tmp_path, filter=self.filter, num_retries=num_retries, retry_delay=retry_delay) info.setUp() self.rpmlist = info.rpms self.drpmlist = info.drpms
def setup(self, basepath="./", callback=None, verify_options=None, num_retries=None, retry_delay=None): """ Fetches yum metadata and determines what object should be downloaded. @param basepath: path to store repo data @type basepath: str @param callback: progress callback function @type callback: function which accepts a grinder.GrinderCallback.ProgressReport @param verify_options: controls verification checks on "size" and "checksum". @type verify_options: dict{"size":bool,"checksum":bool} @param num_retries: number of retries to perform if an error occurs @type num_retries: int @param retry_delay: delay in seconds between retries, delay = 'retry_attempt' * 'retry_delay' @type retry_delay: int """ self.repo_dir = os.path.join(basepath, self.repo_label) LOG.info("%s, %s, Calling RepoFetch with: cacert=<%s>, clicert=<%s>, clikey=<%s>, proxy_url=<%s>, proxy_port=<%s>, proxy_user=<%s>, proxy_pass=<NOT_LOGGED>, sslverify=<%s>, max_speed=<%s>, verify_options=<%s>, filter=<%s>" %\ (self.repo_label, self.repo_url, self.sslcacert, self.sslclientcert, self.sslclientkey, self.proxy_url, self.proxy_port, self.proxy_user, self.sslverify, self.max_speed, verify_options, self.filter)) self.repoFetch = RepoFetch(cacert=self.sslcacert, clicert=self.sslclientcert, clikey=self.sslclientkey,\ proxy_url=self.proxy_url, proxy_port=self.proxy_port, proxy_user=self.proxy_user, proxy_pass=self.proxy_pass, sslverify=self.sslverify, max_speed=self.max_speed, verify_options=verify_options, num_retries=num_retries) self.fetchPkgs = ParallelFetch(self.repoFetch, self.numThreads, callback=callback) self.fetchPkgs.processCallback(ProgressReport.DownloadMetadata) info = YumInfo( repo_label=self.repo_label, repo_url=self.repo_url, mirrors = self.mirrors, repo_dir=self.repo_dir, packages_location=self.pkgpath, newest=self.newest, remove_old=self.remove_old, numOldPackages=self.numOldPackages, cacert=self.sslcacert, clicert=self.sslclientcert, clikey=self.sslclientkey, proxy_url=self.proxy_url, proxy_port=self.proxy_port, proxy_user=self.proxy_user, proxy_pass=self.proxy_pass, sslverify=self.sslverify, skip=self.skip, tmp_path=self.tmp_path, filter=self.filter, num_retries=num_retries, retry_delay=retry_delay) info.setUp() self.rpmlist = info.rpms self.drpmlist = info.drpms