How to list artifacts stored under /var/lib/pulp for a given repository?
Environment
- Red Hat Satellite or Capsule 6.10+
- Red Hat Update Infrastructure / CDS
- Private Automation Hub
Issue
- we need to list all artifact files under
/var/lib/pulpstored for a given repository - it is useful e.g. for debugging purposes or basic overview of the repo downloaded content
Resolution
- On the given pulp-3 server, create file
print_artifacts_for_repo.py:
from pulp_rpm.app.models.repository import RpmDistribution
from pulpcore.app.models import PublishedArtifact
from django.db.models import F
from os import environ
rpmd = RpmDistribution.objects.get(base_path=environ['URI'])
print('-'*133)
print(f"{'artifact file'.ljust(94)}\t{'pulp_type'.ljust(20)}\trelative_path")
print('='*133)
for i in PublishedArtifact.objects.filter(publication=rpmd.publication, content_artifact__artifact__isnull=False) \
.annotate(file=F('content_artifact__artifact__file'), type=F('content_artifact__content__pulp_type')) \
.values('file', 'type', 'relative_path').order_by('type'):
print(f"/var/lib/pulp/media/{i['file']}\t{i['type'].ljust(20)}\t{i['relative_path']}")
- Run it for parametrized
URIvalue denoting the URI relative path of the repository of interest. Example output follows:
$ cat print_artifacts_for_repo.py | sudo -u pulp URI='RedHat/Library/content/dist/rhel9/9/x86_64/baseos/os' \
PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' pulpcore-manager shell
-------------------------------------------------------------------------------------------------------------------------------------
artifact file pulp_type relative_path
=====================================================================================================================================
/var/lib/pulp/media/artifact/eb/2d67800c4e64e6b2d00d1c4326da1519e34728bf9a94d4a456a9fa62309ef6 core.publishedmetadata repodata/eb2d67800c4e64e6b2d00d1c4326da1519e34728bf9a94d4a456a9fa62309ef6-primary.xml.gz
/var/lib/pulp/media/artifact/6e/d9f89400ce340577d01f7dfd026d5d8ced8150b47a9a3fe3d0273c477965a6 core.publishedmetadata repodata/repomd.xml
/var/lib/pulp/media/artifact/32/ef087e4b8e99383ee11c5f1b5aef1a93549ba79ac0bf5e91bd63c4027bf862 core.publishedmetadata repodata/32ef087e4b8e99383ee11c5f1b5aef1a93549ba79ac0bf5e91bd63c4027bf862-filelists.sqlite.bz2
/var/lib/pulp/media/artifact/01/41bcce44ea4747898fb784da0b23ca59e74ecee2b7bc9a20169d86f0181980 core.publishedmetadata repodata/0141bcce44ea4747898fb784da0b23ca59e74ecee2b7bc9a20169d86f0181980-other.sqlite.bz2
/var/lib/pulp/media/artifact/52/57a8d4d36c4b4ae74b90ac7440de20fa6138555116b1e198389669aaf1257b core.publishedmetadata repodata/5257a8d4d36c4b4ae74b90ac7440de20fa6138555116b1e198389669aaf1257b-other.xml.gz
/var/lib/pulp/media/artifact/b9/4c92671afe96cedcc2c1287627ef491012862dc00a3aec10e046145a44473d core.publishedmetadata repodata/8fd17e5c-9ec5-4a1f-bfd3-068972c88f1b
/var/lib/pulp/media/artifact/11/27ea786128d82eea211c28ae95947a7f267d5de0c4693e3161d29ec8b862fd core.publishedmetadata repodata/1127ea786128d82eea211c28ae95947a7f267d5de0c4693e3161d29ec8b862fd-filelists.xml.gz
/var/lib/pulp/media/artifact/b4/5f50851756a554bd9200b0fe043937a6ae7d2bba57f71ebdd2ed9e7e5406cd core.publishedmetadata repodata/b45f50851756a554bd9200b0fe043937a6ae7d2bba57f71ebdd2ed9e7e5406cd-comps.xml
/var/lib/pulp/media/artifact/48/93f66a6bf21bc87d348aef9975733a8828796cb5257047b4c3b1c3b171c3f0 core.publishedmetadata repodata/4893f66a6bf21bc87d348aef9975733a8828796cb5257047b4c3b1c3b171c3f0-updateinfo.xml.gz
/var/lib/pulp/media/artifact/d3/c63c847ba1a6cb806b3d5fc4fc236c90071108ed198ec8657fd2a9f1b1e0ca core.publishedmetadata repodata/d3c63c847ba1a6cb806b3d5fc4fc236c90071108ed198ec8657fd2a9f1b1e0ca-primary.sqlite.bz2
/var/lib/pulp/media/artifact/0f/bbf101e39189364f717b2e0e87ef4b96597d44d4472384960a91e7fd6d02cb rpm.package Packages/r/rpm-plugin-selinux-4.16.1.3-22.el9.x86_64.rpm
/var/lib/pulp/media/artifact/20/139ff1cb27e530e3646c156153f9f5ae0a674aab772ddde24153314b353cdf rpm.package Packages/e/elfutils-0.187-5.el9.x86_64.rpm
/var/lib/pulp/media/artifact/da/93842881f376ccd9f6d8c684f68a131279ab1735652c9b41d6cfa3b9be4cb4 rpm.package Packages/r/rpm-libs-4.16.1.3-22.el9.x86_64.rpm
/var/lib/pulp/media/artifact/e1/0a5222bae30c0b24eda08127c597c88ddb1f846dcb75ea99eecd009d73828c rpm.package Packages/r/rpm-sign-libs-4.16.1.3-22.el9.x86_64.rpm
/var/lib/pulp/media/artifact/64/e8ec9952972793c9d41ee437449531a475f2f3c91e92992d89ad07adb4aea7 rpm.package Packages/p/python3-rpm-4.16.1.3-22.el9.x86_64.rpm
/var/lib/pulp/media/artifact/59/ae5f56ad08c41dfa73182de11fe6881bbf0f9a6b6753be65d0364e7a36e724 rpm.package Packages/r/rpm-4.16.1.3-22.el9.x86_64.rpm
/var/lib/pulp/media/artifact/6c/54ef9e820fa1d330b643e905d62a35e34ed61fbc9b185b9175e5bc3472c89c rpm.package Packages/r/rpm-build-libs-4.16.1.3-22.el9.x86_64.rpm
/var/lib/pulp/media/artifact/0c/b01a2d54af8ae508814d3f026f9aee2e4af866e9b2cbcdcd6110ae4296450b rpm.package Packages/t/tzdata-2023b-1.el9.noarch.rpm
/var/lib/pulp/media/artifact/37/b83e3bfed94252ab4abba53771968a0ab82947b2605353f243df31acb7a272 rpm.package Packages/t/tzdata-2023c-1.el9.noarch.rpm
/var/lib/pulp/media/artifact/87/f192c56f6465bc893be1b914d514c8dc17652ab6ae0bbbd7af22a97cd3a7e5 rpm.package Packages/r/rpm-plugin-audit-4.16.1.3-22.el9.x86_64.rpm
$
- each line contains existing
/var/lib/pulp/media/artifact/file that contains pulp content of given type and provides content of given relative path - if some content (e.g. a package) is missing, it has not yet been downloaded for the repository - just the downloaded ones are shown
For more KB articles/solutions related to Red Hat Satellite 6.x Pulp 3.0 Issues, please refer to the Consolidated Troubleshooting Article for Red Hat Satellite 6.x Pulp 3.0-related Issues
SBR
Product(s)
Components
Category
Tags
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.