Do not print the Pulp CLI result after RPM uploads

What does this MR do?

Run the RPM upload with pulp --format none, so the pulp CLI does not print the result as JSON.

With --no-publish (!9951 (merged), active when PULP_CLI_PUBLISH=false), the result of the upload is the new package. Its JSON lists every file in the package. For gitlab-fips this is more than 4 MB, so the EE nightly upload jobs reached the job log limit (Job's log exceeded limit of 4194304 bytes), and GitLab stopped collecting the log after the first upload. Example: https://gitlab.com/gitlab-org/omnibus-gitlab/-/jobs/17401475024

The progress lines (Started background task, Done., Created new version) go to stderr, so they stay in the log. omnibus-gitlab does not use the JSON result. Deb uploads do not change.

Test on the Pulp pre environment: default format against --format none

Package: tzdata-2026e-1.el9_8.noarch.rpm (511 KB, 1,872 file entries), uploaded with --no-publish to 2 throwaway repositories with autopublish: true.

Default (JSON) pulp --format none
Exit code 0 0
stdout 101,456 bytes (package JSON; files alone is 91,813 characters) 1 byte (newline only)
stderr 659 bytes 659 bytes, same lines
Repository version / publications 1 / 1 1 / 1
Package in the served metadata yes yes

stdout with the default format (first 300 bytes):

{"pulp_href": "/pulp/api/v3/content/rpm/packages/01a167d7-f10f-791d-9e79-33a29cd7e8de/", "prn": "prn:rpm.package:01a167d7-f10f-791d-9e79-33a29cd7e8de", "pulp_created": "2026-10-23T08:19:27.634725Z", "pulp_last_updated": "2026-10-23T08:19:27.634736Z", "md5": null, "sha1": "ae56f9496d0d27bdb8c41f91c78...

First 2 entries of files:

[["dir","/usr/share/doc/","tzdata"],["","/usr/share/doc/tzdata/","NEWS"]]

stdout with --format none (cat -A):

$

stderr, the same with both formats (--format none run):

.../click/core.py:1113: UserWarning: The parameter --file is used more than once. Remove its duplicate as parameters should be unique.
  for param in self.get_params(ctx):
.../click/core.py:1255: UserWarning: The parameter --file is used more than once. Remove its duplicate as parameters should be unique.
  for param in iter_params_for_processing(param_order, self.get_params(ctx)):
Started background task /pulp/api/v3/tasks/01a16806-276a-7d8a-990b-72007750b65d/
.Done.
Created new version 1 in fmt-test-20261023090935-none

Related to gitlab-com/gl-infra/delivery#22495 (closed)

Checklist

See Definition of done.

For anything in this list which will not be completed, please provide a reason in the MR discussion.

Required

  • MR title and description are up to date, accurate, and descriptive.
  • MR targeting the appropriate branch.
  • Latest Merge Result pipeline is green.
  • When ready for review, MR is marked as ready (not a draft) and a reviewer is requested. Pick the reviewer suggested by the reviewer roulette, or one of the project maintainers.
  • The UBT version and corresponding checksum hash have been updated and referenced in the merge request if applicable.
    • UBT EE pipeline (Trigger:ee-package-ubt) is green

For GitLab team members

If you don't have access to this, the reviewer should trigger these jobs for you during the review process.

  • The manual Trigger:ee-package jobs have a green pipeline running against latest commit.
  • If config/software or config/patches directories are changed, make sure the build-package-on-all-os job within the Trigger:ee-package downstream pipeline succeeded.
  • If you are changing anything SSL related, then the Trigger:package:fips manual job within the Trigger:ee-package downstream pipeline must succeed.
  • If CI configuration is changed, the branch must be pushed to dev.gitlab.org to confirm regular branch builds aren't broken.

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes. See the test on the Pulp pre environment above.
  • Documentation created/updated.
  • Tests added.
  • Integration tests added to GitLab QA.
  • Equivalent MR/issue for the GitLab Chart opened.
  • Validate potential values for new configuration settings. Formats such as integer 10, duration 10s, URI scheme://user:passwd@host:port may require quotation or other special handling when rendered in a template and written to a configuration file.

Reviewer checklist

  • As soon as you begin reviewing, select Start a review on your first comment so the MR shows Reviewer started review.
Edited by Dat Tang

Merge request reports

Loading
Loading