Bug 2192841 - foreman-protector plugin should not lock packages for reposync
Summary: foreman-protector plugin should not lock packages for reposync
Keywords:
Status: VERIFIED
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Foreman Maintain
Version: 6.12.4
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: 6.14.0
Assignee: Evgeni Golov
QA Contact: Lukas Pramuk
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-05-03 09:35 UTC by Lukas Pramuk
Modified: 2023-07-26 17:54 UTC (History)
4 users (show)

Fixed In Version: rubygem-foreman_maintain-1.3.2
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 36443 0 Normal New foreman-protector plugin should not lock packages for reposync 2023-05-26 08:37:10 UTC
Github theforeman foreman_maintain pull 735 0 None Draft Fixes #36443 - only protect a select list of dnf commands 2023-05-26 08:38:20 UTC
Red Hat Issue Tracker SAT-17545 0 None None None 2023-05-04 14:11:09 UTC

Description Lukas Pramuk 2023-05-03 09:35:55 UTC
Description of problem:
https://access.redhat.com/documentation/en-us/red_hat_satellite/6.12/html-single/upgrading_and_updating_red_hat_satellite/index#updating_disconnected_satellite_server

For disconnected Satellite update we say to reposync packages locally on Satellite connected to internet using this command:

# reposync --delete --download-metadata -p ~/Satellite-repos -n \
 --repoid rhel-8-for-x86_64-baseos-rpms \
 --repoid rhel-8-for-x86_64-appstream-rpms \
 --repoid satellite-6.12-for-rhel-8-x86_64-rpms \
 --repoid satellite-maintenance-6.12-for-rhel-8-x86_64-rpms

However foreman-protector locking plugin prevents to download majority of required packages, making disconnected Satellite update illusory.

Version-Release number of selected component (if applicable):
6.12.4

How reproducible:
deterministic

Steps to Reproduce:
1. Run documented reposync command
# reposync --delete --download-metadata -p ~/Satellite-repos -n \
 --repoid rhel-8-for-x86_64-baseos-rpms \
 --repoid rhel-8-for-x86_64-appstream-rpms \
 --repoid satellite-6.12-for-rhel-8-x86_64-rpms \
 --repoid satellite-maintenance-6.12-for-rhel-8-x86_64-rpms

2. Check the size of a synced content
# du -sh  ~/Satellite-repos
1.5G	Satellite-repos


Actual results:
limited content is being synced
1.5G   Satellite-repos

Expected results:
all content is being synced
14G 	Satellite-repos


Additional info:
Workaround is to run reposync command with this additional option
# reposync --disableplugin=foreman-protector ...

Comment 1 Evgeni Golov 2023-05-26 08:35:05 UTC
I promised some investigation whether this is possible, and yes it is.

Draft PR at https://github.com/theforeman/foreman_maintain/pull/735

Comment 2 Evgeni Golov 2023-05-26 08:37:09 UTC
Created redmine issue https://projects.theforeman.org/issues/36443 from this bug

Comment 3 Bryan Kearney 2023-06-06 16:03:24 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/36443 has been resolved.

Comment 4 Lukas Pramuk 2023-07-26 17:54:56 UTC
VERIFIED.

@Satellite 6.14.0 Snap8
rubygem-foreman_maintain-1.3.2-1.el8sat.noarch

by the reproducer described in comment#0:

1) On Satellite 6.14 run documented reposync command (used 6.13 repos as 6.14 repos are not available yet)
# reposync --delete --download-metadata -p ~/Satellite-repos -n \
 --repoid rhel-8-for-x86_64-baseos-rpms \
 --repoid rhel-8-for-x86_64-appstream-rpms \
 --repoid satellite-6.13-for-rhel-8-x86_64-rpms \
 --repoid satellite-maintenance-6.13-for-rhel-8-x86_64-rpms

2) Check the size of a synced content
# du -sh  ~/Satellite-repos
14G	Satellite-repos

>>> dnf reposync sub-command is not locked down by foreman-protector plugin


Note You need to log in before you can comment on or make changes to this bug.