def publish_repo(self, repo, publish_conduit, config): """ Publishes the given repository. While this call may be implemented using multiple threads, its execution from the Pulp server's standpoint should be synchronous. This call should not return until the publish is complete. It is not expected that this call be atomic. Should an error occur, it is not the responsibility of the distributor to rollback any changes that have been made. :param repo: metadata describing the repository :type repo: pulp.plugins.model.Repository :param publish_conduit: provides access to relevant Pulp functionality :type publish_conduit: pulp.plugins.conduits.repo_publish.RepoPublishConduit :param config: plugin configuration :type config: pulp.plugins.config.PluginConfiguration :return: report describing the publish run :rtype: pulp.plugins.model.PublishReport """ _logger.debug('Publishing docker repository: %s' % repo.id) self._publisher = WebPublisher(repo, publish_conduit, config) return self._publisher.publish()