Project

Profile

Help

Issue #3100

closed

Removal of existing iso units doesn't work if there are multiple iso files

Added by daviddavis about 7 years ago. Updated over 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
2.14.3
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Sprint 28
Quarter:

Description

This is similar to #3047 and #2773. We added code to remove duplicate ISOs however, this code doesn't work after one iteration. Looks like a generator type was being used instead of a list:

https://github.com/pulp/pulp_rpm/blob/23492381f285f2799aa894f8834e3fbc40b3ac72/plugins/pulp_rpm/plugins/importers/iso/sync.py#L333

Steps to reproduce:

export REPO1='iso-1'
export REPO2='iso-2'
mkdir /tmp/iso
cd /tmp/iso

echo "test1" > 1.iso
echo "test2" > 2.iso
echo 1.iso,`sha256sum 1.iso | awk '{ print $1 }'`,`stat -L -c '%s' 1.iso` > PULP_MANIFEST
echo 2.iso,`sha256sum 2.iso | awk '{ print $1 }'`,`stat -L -c '%s' 2.iso` >> PULP_MANIFEST

pulp-admin iso repo create --repo-id $REPO1 --feed file:///tmp/iso
pulp-admin iso repo sync run --repo-id $REPO1
pulp-admin iso repo create --repo-id $REPO2 --feed file:///tmp/iso
pulp-admin iso repo sync run --repo-id $REPO2

echo "blah1" > 1.iso
echo "blah2" > 2.iso
echo 1.iso,`sha256sum 1.iso | awk '{ print $1 }'`,`stat -L -c '%s' 1.iso` > PULP_MANIFEST
echo 2.iso,`sha256sum 2.iso | awk '{ print $1 }'`,`stat -L -c '%s' 2.iso` >> PULP_MANIFEST

pulp-admin iso repo sync run --repo-id $REPO1
pulp-admin iso repo sync run --repo-id $REPO2

pulp-admin iso repo list

You'll see that the repos have 3 units instead of 2. One of the existing dupe units is removed but the other is not.


Related issues

Related to RPM Support - Issue #3047: ISO repo doesn't correctly handle updates to files for content already in PulpCLOSED - CURRENTRELEASEdaviddavisActions

Also available in: Atom PDF