For easier debugging, I have recreated everything and added all the tasks logs:
bash pypi.sh
+ pulp python repository create --name local-pypi
{
"pulp_href": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/",
"prn": "prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
"pulp_created": "2025-01-20T14:34:14.356597Z",
"pulp_last_updated": "2025-01-20T14:34:14.371397Z",
"versions_href": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/versions/",
"pulp_labels": {},
"latest_version_href": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/versions/0/",
"name": "local-pypi",
"description": null,
"retain_repo_versions": null,
"remote": null,
"autopublish": false
}
+ pulp python remote create --name remote-pypi --url https://pypi.org/ --includes '["shelf-reader", "django", "flask", "flask-app", "requests", "hvac", "vault"]' --policy immediate
{
"pulp_href": "/pulp/api/v3/remotes/python/python/01948422-b712-72d7-8caf-e8b7875de617/",
"prn": "prn:python.pythonremote:01948422-b712-72d7-8caf-e8b7875de617",
"pulp_created": "2025-01-20T14:34:15.189345Z",
"pulp_last_updated": "2025-01-20T14:34:15.189396Z",
"name": "remote-pypi",
"url": "https://pypi.org/",
"ca_cert": null,
"client_cert": null,
"tls_validation": true,
"proxy_url": null,
"pulp_labels": {},
"download_concurrency": null,
"max_retries": null,
"policy": "immediate",
"total_timeout": null,
"connect_timeout": null,
"sock_connect_timeout": null,
"sock_read_timeout": null,
"headers": null,
"rate_limit": null,
"hidden_fields": [
{
"name": "client_key",
"is_set": false
},
{
"name": "proxy_username",
"is_set": false
},
{
"name": "proxy_password",
"is_set": false
},
{
"name": "username",
"is_set": false
},
{
"name": "password",
"is_set": false
}
],
"includes": [
"shelf-reader",
"django",
"flask",
"flask-app",
"requests",
"hvac",
"vault"
],
"excludes": [],
"prereleases": true,
"package_types": [],
"keep_latest_packages": 0,
"exclude_platforms": []
}
+ pulp python repository update --name local-pypi --remote remote-pypi
Started background task /pulp/api/v3/tasks/01948422-c0a6-7019-8c8b-d47b786af6a6/
Done.
+ pulp python repository sync --name local-pypi --remote remote-pypi
Started background task /pulp/api/v3/tasks/01948422-d0b2-7b25-bc67-dc33c03d8cfb/
............................................................................................................................................................................................................................................................................................................Done.
+ pulp python publication create --repository local-pypi
Started background task /pulp/api/v3/tasks/0194842a-ab70-7cc9-b89b-5c7d359f91f0/
.Done.
{
"pulp_href": "/pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/",
"prn": "prn:python.pythonpublication:0194842a-ad22-720d-afd4-14eadee2bfbf",
"pulp_created": "2025-01-20T14:42:56.932004Z",
"pulp_last_updated": "2025-01-20T14:42:57.889983Z",
"repository_version": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/versions/1/",
"repository": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/",
"distributions": []
}
++ pulp python publication list
++ jq -r '.[0].pulp_href'
+ PUBLICATION_HREF=/pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/
+ pulp python distribution create --name local-pypi-distro --base-path local-pypi --publication /pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/
Started background task /pulp/api/v3/tasks/0194842a-bbab-72e9-b2c5-dbc300cfffca/
.Done.
{
"pulp_href": "/pulp/api/v3/distributions/python/pypi/0194842a-be1e-7dbf-bc71-024e7a53f531/",
"prn": "prn:python.pythondistribution:0194842a-be1e-7dbf-bc71-024e7a53f531",
"pulp_created": "2025-01-20T14:43:01.280237Z",
"pulp_last_updated": "2025-01-20T14:43:01.280257Z",
"base_path": "local-pypi",
"base_url": "https://pulp-api-74cd9b5b87-czpnf/pypi/local-pypi/",
"content_guard": null,
"no_content_change_since": "2025-01-20T14:43:01.280257Z",
"hidden": false,
"pulp_labels": {},
"name": "local-pypi-distro",
"repository": null,
"publication": "/pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/",
"allow_uploads": true,
"remote": null
}
+ pulp python repository update --name local-pypi --autopublish
Started background task /pulp/api/v3/tasks/0194842a-cae8-7af8-9640-612948e7c929/
Done.
+ pulp python distribution update --name local-pypi-distro --remote remote-pypi
Started background task /pulp/api/v3/tasks/0194842a-d69e-7e35-9c87-77a00d858ce6/
Done.
(packages) ilyak@ilyak-mac-xm45 Desktop % pulp task list
[
{
"pulp_href": "/pulp/api/v3/tasks/0194842a-d69e-7e35-9c87-77a00d858ce6/",
"prn": "prn:core.task:0194842a-d69e-7e35-9c87-77a00d858ce6",
"pulp_created": "2025-01-20T14:43:07.551189Z",
"pulp_last_updated": "2025-01-20T14:43:07.551209Z",
"state": "completed",
"name": "pulpcore.app.tasks.base.general_update",
"logging_cid": "26ff407ad66d42b28fb60ddb0ee9d702",
"created_by": "/pulp/api/v3/users/1/",
"unblocked_at": "2025-01-20T14:43:07.723305Z",
"started_at": "2025-01-20T14:43:07.731101Z",
"finished_at": "2025-01-20T14:43:07.937118Z",
"error": null,
"worker": null,
"parent_task": null,
"child_tasks": [],
"task_group": null,
"progress_reports": [],
"created_resources": [],
"reserved_resources_record": [
"pdrn:0194841f-adb7-73af-b814-1e4c69c83896:distributions",
"shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
]
},
{
"pulp_href": "/pulp/api/v3/tasks/0194842a-cae8-7af8-9640-612948e7c929/",
"prn": "prn:core.task:0194842a-cae8-7af8-9640-612948e7c929",
"pulp_created": "2025-01-20T14:43:04.553558Z",
"pulp_last_updated": "2025-01-20T14:43:04.553579Z",
"state": "completed",
"name": "pulpcore.app.tasks.base.general_update",
"logging_cid": "790e46ac67914059afefab132cf8ef13",
"created_by": "/pulp/api/v3/users/1/",
"unblocked_at": "2025-01-20T14:43:04.578436Z",
"started_at": "2025-01-20T14:43:04.588247Z",
"finished_at": "2025-01-20T14:43:04.760399Z",
"error": null,
"worker": null,
"parent_task": null,
"child_tasks": [],
"task_group": null,
"progress_reports": [],
"created_resources": [],
"reserved_resources_record": [
"prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
"shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
]
},
{
"pulp_href": "/pulp/api/v3/tasks/0194842a-bbab-72e9-b2c5-dbc300cfffca/",
"prn": "prn:core.task:0194842a-bbab-72e9-b2c5-dbc300cfffca",
"pulp_created": "2025-01-20T14:43:00.652033Z",
"pulp_last_updated": "2025-01-20T14:43:00.652051Z",
"state": "completed",
"name": "pulpcore.app.tasks.base.general_create",
"logging_cid": "80564ab31ae24fdea089dff317aa936b",
"created_by": "/pulp/api/v3/users/1/",
"unblocked_at": "2025-01-20T14:43:00.832413Z",
"started_at": "2025-01-20T14:43:00.935249Z",
"finished_at": "2025-01-20T14:43:01.376576Z",
"error": null,
"worker": "/pulp/api/v3/workers/01948422-38a7-7d52-880f-78c7b814c547/",
"parent_task": null,
"child_tasks": [],
"task_group": null,
"progress_reports": [],
"created_resources": [
"/pulp/api/v3/distributions/python/pypi/0194842a-be1e-7dbf-bc71-024e7a53f531/"
],
"reserved_resources_record": [
"pdrn:0194841f-adb7-73af-b814-1e4c69c83896:distributions",
"shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
]
},
{
"pulp_href": "/pulp/api/v3/tasks/0194842a-ab70-7cc9-b89b-5c7d359f91f0/",
"prn": "prn:core.task:0194842a-ab70-7cc9-b89b-5c7d359f91f0",
"pulp_created": "2025-01-20T14:42:56.497465Z",
"pulp_last_updated": "2025-01-20T14:42:56.497527Z",
"state": "completed",
"name": "pulp_python.app.tasks.publish.publish",
"logging_cid": "244aa4b7cf4b40d398ea23fd7d74bd8d",
"created_by": "/pulp/api/v3/users/1/",
"unblocked_at": "2025-01-20T14:42:56.711447Z",
"started_at": "2025-01-20T14:42:56.799826Z",
"finished_at": "2025-01-20T14:42:57.907669Z",
"error": null,
"worker": "/pulp/api/v3/workers/01948422-30eb-7901-9a2e-69bc8966a326/",
"parent_task": null,
"child_tasks": [],
"task_group": null,
"progress_reports": [],
"created_resources": [
"/pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/"
],
"reserved_resources_record": [
"shared:prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
"shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
]
},
{
"pulp_href": "/pulp/api/v3/tasks/01948422-d0b2-7b25-bc67-dc33c03d8cfb/",
"prn": "prn:core.task:01948422-d0b2-7b25-bc67-dc33c03d8cfb",
"pulp_created": "2025-01-20T14:34:21.747010Z",
"pulp_last_updated": "2025-01-20T14:34:21.747032Z",
"state": "completed",
"name": "pulp_python.app.tasks.sync.sync",
"logging_cid": "04cd3b30f0fb4ae9951f8568e2a28a66",
"created_by": "/pulp/api/v3/users/1/",
"unblocked_at": "2025-01-20T14:34:21.947087Z",
"started_at": "2025-01-20T14:34:22.066788Z",
"finished_at": "2025-01-20T14:42:54.301025Z",
"error": null,
"worker": "/pulp/api/v3/workers/01948422-38a7-7d52-880f-78c7b814c547/",
"parent_task": null,
"child_tasks": [],
"task_group": null,
"progress_reports": [
{
"message": "Downloading Artifacts",
"code": "sync.downloading.artifacts",
"state": "completed",
"total": null,
"done": 1309,
"suffix": null
},
{
"message": "Associating Content",
"code": "associating.content",
"state": "completed",
"total": null,
"done": 1309,
"suffix": null
},
{
"message": "Fetching Project Metadata",
"code": "sync.fetching.project",
"state": "completed",
"total": null,
"done": 7,
"suffix": null
}
],
"created_resources": [
"/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/versions/1/"
],
"reserved_resources_record": [
"prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
"shared:prn:python.pythonremote:01948422-b712-72d7-8caf-e8b7875de617",
"shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
]
},
{
"pulp_href": "/pulp/api/v3/tasks/01948422-c0a6-7019-8c8b-d47b786af6a6/",
"prn": "prn:core.task:01948422-c0a6-7019-8c8b-d47b786af6a6",
"pulp_created": "2025-01-20T14:34:17.639974Z",
"pulp_last_updated": "2025-01-20T14:34:17.639991Z",
"state": "completed",
"name": "pulpcore.app.tasks.base.general_update",
"logging_cid": "236e9627b28f4b598f9d1b5978836d6a",
"created_by": "/pulp/api/v3/users/1/",
"unblocked_at": "2025-01-20T14:34:17.677234Z",
"started_at": "2025-01-20T14:34:17.702687Z",
"finished_at": "2025-01-20T14:34:17.880272Z",
"error": null,
"worker": null,
"parent_task": null,
"child_tasks": [],
"task_group": null,
"progress_reports": [],
"created_resources": [],
"reserved_resources_record": [
"prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
"shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
]
},
{
"pulp_href": "/pulp/api/v3/tasks/01948422-58d7-70d4-964f-3bbe4aa40f8e/",
"prn": "prn:core.task:01948422-58d7-70d4-964f-3bbe4aa40f8e",
"pulp_created": "2025-01-20T14:33:51.064516Z",
"pulp_last_updated": "2025-01-20T14:33:51.064530Z",
"state": "completed",
"name": "pulpcore.app.tasks.analytics.post_analytics",
"logging_cid": "09cea94a396a4236991467a743a716bd",
"created_by": null,
"unblocked_at": "2025-01-20T14:33:51.099436Z",
"started_at": "2025-01-20T14:33:51.341761Z",
"finished_at": "2025-01-20T14:33:52.472780Z",
"error": null,
"worker": "/pulp/api/v3/workers/01948422-30eb-7901-9a2e-69bc8966a326/",
"parent_task": null,
"child_tasks": [],
"task_group": null,
"progress_reports": [],
"created_resources": [],
"reserved_resources_record": [
"shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
]
}
]
(packages) ilyak@ilyak-mac-xm45 Desktop % pulp python content list --field 'filename,artifact'
Not all 1309 entries were shown.
[
{
"artifact": "/pulp/api/v3/artifacts/01948429-d892-7ea1-a602-1a839e11a047/",
"filename": "Django-4.1.5.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-5869-7499-bbf0-83250d31f1ce/",
"filename": "Django-5.0.6.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/01948429-ab81-7699-82b1-e0db5c094665/",
"filename": "Django-4.0rc1.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-2ec9-7d61-9e90-5e8a198cdf69/",
"filename": "Django-4.2rc1-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/01948428-3cd9-703e-83a3-c880001b6bc7/",
"filename": "Django-3.0.12.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-0a29-7d2a-82cb-1b4b4c41fb47/",
"filename": "Django-4.2.14.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-61aa-7eaa-a7a4-851254e2bf51/",
"filename": "Django-5.0b1-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/01948427-de8d-799f-9e5d-bdd0f41af2af/",
"filename": "Django-2.2.8-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/01948428-d231-78a4-984a-7b83eca821d1/",
"filename": "Django-3.1.8.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-1312-75d8-87c1-39d3964b748b/",
"filename": "Django-4.2.3-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/01948429-8fb2-76f3-b59e-8f513075b7a8/",
"filename": "Django-4.0.5.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/01948428-ffbb-78b5-a492-4fefb2fc9f88/",
"filename": "Django-3.2.15.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/01948429-5f83-7b6d-80f0-95dd37cdbee8/",
"filename": "Django-3.2.8.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/01948429-7046-7c44-a0c9-f78e64ffcbb4/",
"filename": "Django-3.2a1.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/01948428-bf30-7cd0-a8db-4078fe0b1538/",
"filename": "Django-3.1.9-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-3bdd-7da7-9fcf-bb7ab3990f4e/",
"filename": "Django-5.0.1-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/01948429-d9a9-7aa3-a4c0-18f6b89deaf8/",
"filename": "Django-4.1.7-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/01948429-623f-725f-84a1-52fae5fd4410/",
"filename": "Django-3.2.6.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-5e64-722b-a596-5dc9f62f49bd/",
"filename": "Django-5.0.9-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-569a-75e1-b46d-75cf3d341bec/",
"filename": "Django-5.0.7-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-754b-7540-8ab4-57ef0694603c/",
"filename": "Django-5.1.2-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/01948428-bd44-702d-bc62-dfaa9436ea0f/",
"filename": "Django-3.1.5-py3-none-any.whl"
},
{
"artifact": "/pulp/api/v3/artifacts/01948428-a9c8-74f5-88cf-9e0c0c065d08/",
"filename": "Django-3.1.4.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/0194842a-8a2b-7656-b0cd-2488c1d20648/",
"filename": "Django-5.2a1.tar.gz"
},
{
"artifact": "/pulp/api/v3/artifacts/01948429-efa8-744d-9f94-b9e147dce947/",
"filename": "Django-4.1b1.tar.gz"
}
]
When I try to install the library directly from the content lib it works, but it seems that there’s problem with the publication & distribution (simple indexing)
pip3 install http://pulp-web-svc.pulp-operator.svc.cluster.local:24880/pulp/content/local-pypi/vault-1.2.10-py3-none-any.whl
Downloading ...
But when I am trying to install with pip3 -i and package name, I receive:
pip3 install --index-url http://localhost:24880/pulp/content/local-pypi/ vault --trusted-host=localhost
Looking in indexes: http://localhost:24880/pulp/content/local-pypi/
ERROR: Could not find a version that satisfies the requirement vault (from versions: none)
ERROR: No matching distribution found for vault
[notice] A new release of pip is available: 24.0 -> 24.3.1
[notice] To update, run: pip install --upgrade pip
pip3 install --index-url http://localhost:24880/pulp/content/local-pypi/simple vault --trusted-host=localhost
Looking in indexes: http://localhost:24880/pulp/content/local-pypi/simple
ERROR: Could not find a version that satisfies the requirement vault (from versions: none)
ERROR: No matching distribution found for vault
[notice] A new release of pip is available: 24.0 -> 24.3.1
[notice] To update, run: pip install --upgrade pip
pip3 install --index-url http://localhost:24880/pypi/local-pypi/simple vault --trusted-host=localhost
Looking in indexes: http://localhost:24880/pypi/local-pypi/simple
ERROR: Could not find a version that satisfies the requirement vault (from versions: none)
ERROR: No matching distribution found for vault
[notice] A new release of pip is available: 24.0 -> 24.3.1
[notice] To update, run: pip install --upgrade pip