Repository of type "file" can fill Satellite's /var/cache/pulp filesystem unless it's large enough to hold the entire repository in cache at the same time.
Environment
Red Hat Satellite 6
Issue
When syncing a repository of type file to the Red Hat Satellite, the entire contents of the repository are downloaded to /var/cache/pulp before being moved off to their final location. Potentially this can fill /var/cache/pulp/ and the sync task will be unable to complete.
Resolution
Workaround - Create a separate /var/cache/pulp/ filesystem with enough free space to hold the contents of the syncing repository.
This content is not included.Bugzilla #1755575 has been created to address this issue.
For more KB articles/solutions related to Red Hat Satellite 6.x Repository Issues, please refer to the Red Hat Satellite Consolidated Troubleshooting Article for Red Hat Satellite 6.x Repository Issues.
Root Cause
The Pulp component of Red Hat Satellite is responsible from syncing repositories from their source and putting them in their final location to be available for consumption.
When doing a sync, it will pull the desired content from the source and store it in the cache directory of a pulp worker. The location of a pulp worker's cache directory is /var/cache/pulp/reserved_resource_worker-<n>\@satellite.example.com where <n> is the number of workers configured with the PULP_CONCURRENCY setting in /etc/default/pulp_workers
Pulp uses different methods of synchronizing a repository depending on the type of repository set when creating a new repository under a Product. This only appears to affect repositories of type "File" as discussed in Chapter 14 of the Red Hat Satellite Content Management Guide
Diagnostic Steps
The more pulp workers configured and the more syncs done at the same time can increase the amount of data stored in the /var/cache/pulp filesystem at a given time.
Investigate the amount of space being used by the cache of a given pulp worker:
# du -sh /var/cache/pulp/reserved_resource_worker-*
0 /var/cache/pulp/reserved_resource_worker-0@satellite.example.com
28G /var/cache/pulp/reserved_resource_worker-1@satellite.example.com
The repository sync task will clean up this cache as one of it's final steps.
# du -sh /var/cache/pulp/reserved_resource_worker-*
0 /var/cache/pulp/reserved_resource_worker-0@satellite.example.com
0 /var/cache/pulp/reserved_resource_worker-1@satellite.example.com
If the contents of the repository are larger than the available space for the pulp workers, the sync task cannot complete.
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.