Problem:
Pulp RPM remote (cli) does not have a way to filter out specific architectures (such as x86_64). Hence Sync will download all the other architectures such as ARM (aarch64), PowerSystem (ppc64le), and Mainframe (s390x). This is consuming massive amount of disk space.
There is a parameter in Pulp DEB remote (cli) to limit the architecture to achieve this.
Expected outcome:
To be able to filter out specific rpm remote architectures using pulp cli.
Pulpcore version:
{
“component”: “core”,
“version”: “3.54.1”,
“package”: “pulpcore”,
“module”: “pulpcore.app”,
“domain_compatible”: true
}
Pulp plugins installed and their versions:
{
“component”: “ansible”,
“version”: “0.22.0”,
“package”: “pulp-ansible”,
“module”: “pulp_ansible.app”,
“domain_compatible”: false
},
{
“component”: “container”,
“version”: “2.20.0”,
“package”: “pulp-container”,
“module”: “pulp_container.app”,
“domain_compatible”: false
},
{
“component”: “deb”,
“version”: “3.3.0”,
“package”: “pulp_deb”,
“module”: “pulp_deb.app”,
“domain_compatible”: false
},
{
“component”: “maven”,
“version”: “0.8.1”,
“package”: “pulp-maven”,
“module”: “pulp_maven.app”,
“domain_compatible”: false
},
{
“component”: “ostree”,
“version”: “2.4.1”,
“package”: “pulp-ostree”,
“module”: “pulp_ostree.app”,
“domain_compatible”: true
},
{
“component”: “python”,
“version”: “3.12.1”,
“package”: “pulp-python”,
“module”: “pulp_python.app”,
“domain_compatible”: true
},
{
"component": “rpm”,
"version": “3.27.1”,
“package”: “pulp-rpm”,
“module”: “pulp_rpm.app”,
“domain_compatible”: true
},
{
“component”: “certguard”,
“version”: “3.54.1”,
“package”: “pulpcore”,
“module”: “pulp_certguard.app”,
“domain_compatible”: true
},
{
“component”: “file”,
“version”: “3.54.1”,
“package”: “pulpcore”,
“module”: “pulp_file.app”,
“domain_compatible”: true
}
Operating system - distribution and version:
NAME=“Alma Linux”
VERSION=“8.9”
Pulp with docker compose is used for deployment.
Other relevant data:
pulp rpm remote show --name openSUSE-Leap-15.6-distribution
{
“pulp_href”: “/pulp/api/v3/remotes/rpm/rpm/01912e5d-f59b-7efd-9246-72cb6bcd5cff/”,
“pulp_created”: “2024-08-07T19:43:15.358546Z”,
“pulp_last_updated”: “2024-08-07T19:43:15.358569Z”,
“name”: “openSUSE-Leap-15.6-distribution”,
“url”: “https://download.opensuse.org/distribution/leap/15.6/repo/oss”,
“ca_cert”: null,
“client_cert”: null,
“tls_validation”: false,
“proxy_url”: “http://X.X.X.:80/”,
“pulp_labels”: {
“OS”: “openSUSE-Leap”
},
“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
}
],
“sles_auth_token”: null
}
Please note that some of the upstream urls such as https://download.opensuse.org/distribution/leap/15.6/repo/oss do not have repodata directory in the specific architecture directory to achieve filtering via url.