Problem:
Python remote excluding platform Linux still syncs in “musllinux” wheel packages
e.g. aiohttp-3.9.5-cp310-cp310-musllinux_1_1_aarch64.whl
Expected outcome:
musllinux distributions do not get synced into the Python repository.
Pulpcore version:
3.75.2
Pulp plugins installed and their versions:
“deb”: “3.5.1”,
“npm”: “0.3.2”,
“rpm”: “3.29.1”,
“core”: “3.75.2”,
“file”: “3.75.2”,
“maven”: “0.10.0”,
“ostree”: “2.4.7”,
“python”: “3.14.0”,
“ansible”: “0.24.4”,
“certguard”: “3.75.2”,
“container”: “2.24.1”
Operating system - distribution and version:
Alma Linux 8 - Docker Compose - Multi-Container
Other relevant data:
Python remote excluding platform Linux still syncs in “musllinux” wheel packages
{
“pulp_href”: “/pulp/api/v3/remotes/python/python/01963a17-e440-7868-884c-04ab1e74ae1c/”,
“prn”: “prn:python.pythonremote:01963a17-e440-7868-884c-04ab1e74ae1c”,
“pulp_created”: “2025-04-15T15:36:06.465621Z”,
“pulp_last_updated”: “2025-04-15T15:36:06.465644Z”,
“name”: “TEST-PyPI”,
“url”: “https://pypi.org/”,
“ca_cert”: null,
“client_cert”: null,
“tls_validation”: false,
“proxy_url”: “http://x.x.x.x:8080/”,
“pulp_labels”: {},
“download_concurrency”: 10,
“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”: [
“absl-py==2.1.0”,
“addict==2.4.0”,
“aiofiles==22.1.0”,
“aiohttp-retry==2.8.3”,
“aiohttp==3.9.5”,
“aiosignal==1.3.1”,
“aiosqlite==0.20.0”,
“ajsonrpc==1.2.0”,
“alembic==1.13.2”,
“altgraph==0.17.4”,
“amqp==5.2.0”
],
“excludes”: [],
“prereleases”: true,
“package_types”: [
“sdist”,
“bdist_wheel”
],
“keep_latest_packages”: 0,
“exclude_platforms”: [
“freebsd”,
"linux",
“macos”
]
}
Example of synced packages that are not expected:
aiohttp-3.9.5-cp310-cp310-musllinux_1_1_aarch64.whl
aiohttp-3.9.5-cp310-cp310-musllinux_1_1_i686.whl
aiohttp-3.9.5-cp310-cp310-musllinux_1_1_ppc64le.whl
aiohttp-3.9.5-cp310-cp310-musllinux_1_1_s390x.whl
aiohttp-3.9.5-cp311-cp311-musllinux_1_1_i686.whl
aiohttp-3.9.5-cp311-cp311-musllinux_1_1_ppc64le.whl
aiohttp-3.9.5-cp311-cp311-musllinux_1_1_s390x.whl
aiohttp-3.9.5-cp312-cp312-musllinux_1_1_i686.whl
aiohttp-3.9.5-cp312-cp312-musllinux_1_1_ppc64le.whl
aiohttp-3.9.5-cp312-cp312-musllinux_1_1_s390x.whl
aiohttp-3.9.5-cp312-cp312-musllinux_1_1_x86_64.whl
aiohttp-3.9.5-cp38-cp38-musllinux_1_1_aarch64.whl
aiohttp-3.9.5-cp38-cp38-musllinux_1_1_i686.whl
aiohttp-3.9.5-cp38-cp38-musllinux_1_1_ppc64le.whl
aiohttp-3.9.5-cp38-cp38-musllinux_1_1_s390x.whl
aiohttp-3.9.5-cp38-cp38-musllinux_1_1_x86_64.whl
musllinux should not have been synced when exclude_platforms specifies linux.
These packages take up a lot of disk space.