Exemplo n.º 1
0
 def setUp(self):
     self.qstring = '?foo'
     self.url_modify = RepoURLModifier(query_auth_token=self.qstring[1:])
     self.metadata_files = metadata.MetadataFiles('http://pulpproject.org',
                                                  '/a/b/c',
                                                  DownloaderConfig(),
                                                  self.url_modify)
Exemplo n.º 2
0
 def setUp(self):
     self.metadata_files = metadata.MetadataFiles('http://pulpproject.org',
                                                  '/a/b/c',
                                                  DownloaderConfig())
     self.repo = Repository('repo1')
     self.config = PluginCallConfiguration({}, {})
     self.conduit = RepoSyncConduit(self.repo.id, 'yum_importer', 'abc123')
Exemplo n.º 3
0
    def check_metadata(self, url):
        """
        :param url: curret URL we should sync
        :type url: str

        :return:    instance of MetadataFiles
        :rtype:     pulp_rpm.plugins.importers.yum.repomd.metadata.MetadataFiles
        """
        _logger.info(_('Downloading metadata from %(feed)s.') % {'feed': url})
        metadata_files = metadata.MetadataFiles(url, self.tmp_dir, self.nectar_config,
                                                self._url_modify)
        try:
            metadata_files.download_repomd()
        except IOError, e:
            raise PulpCodedException(error_code=error_codes.RPM1004, reason=str(e))
Exemplo n.º 4
0
    def check_metadata(self, url):
        """
        Download and parse repomd.xml

        If the download fails, sets the "skip_repomd_steps" attribute to True and populates the
        "repomd_not_found_reason" attribute.

        :param url: curret URL we should sync
        :type url: str

        :return:    instance of MetadataFiles
        :rtype:     pulp_rpm.plugins.importers.yum.repomd.metadata.MetadataFiles

        :raises PulpCodedException: if the metadata cannot be parsed
        """
        _logger.info(_('Downloading metadata from %(feed)s.') % {'feed': url})
        metadata_files = metadata.MetadataFiles(url, self.tmp_dir,
                                                self.nectar_config,
                                                self._url_modify)
        _logger.error(self.tmp_dir)
        try:
            metadata_files.download_repomd()
        except IOError as e:
            # remember the reason so it can be reported to the user if no treeinfo is found either.
            self.repomd_not_found_reason = e.message
            _logger.debug(_('No yum repo metadata found.'))
            # set flag to True in order to skip repomd steps, since metadata was not found
            self.skip_repomd_steps = True
            return

        self.skip_repomd_steps = False
        self.metadata_found = True
        _logger.info(_('Parsing metadata.'))

        try:
            metadata_files.parse_repomd()
        except PulpCodedException, e:
            # Specifically ignore concerns about missing 'filelists' and 'other' xmls
            if (e.error_code == error_codes.RPM1015):
                reason = e.error_data.get('reason')
                ignore_reasons = [
                    '"{}" metadata is not found in repomd.xml'.format(s)
                    for s in ['filelists', 'other']
                ]
                if reason not in ignore_reasons:
                    raise
Exemplo n.º 5
0
 def get_metadata(self):
     """
     :return:    instance of MetadataFiles where each relevant file has been
                 identified and downloaded.
     :rtype:     pulp_rpm.plugins.importers.yum.repomd.metadata.MetadataFiles
     """
     _logger.info(
         _('Downloading metadata from %(feed)s.') %
         {'feed': self.sync_feed})
     metadata_files = metadata.MetadataFiles(self.sync_feed, self.tmp_dir,
                                             self.nectar_config)
     # allow the downloader to be accessed by the cancel method if necessary
     self.downloader = metadata_files.downloader
     try:
         metadata_files.download_repomd()
     except IOError, e:
         raise PulpCodedException(error_code=error_codes.RPM1004,
                                  reason=str(e))
Exemplo n.º 6
0
 def setUp(self):
     self.metadata_files = metadata.MetadataFiles('http://pulpproject.org',
                                                  '/a/b/c',
                                                  DownloaderConfig())
Exemplo n.º 7
0
 def setUp(self):
     self.metadata_files = metadata.MetadataFiles('http://pulpproject.org',
                                                  '/a/b/c',
                                                  DownloaderConfig())
     self.working_dir = tempfile.mkdtemp()