Project

Profile

Help

Issue #3100

Updated by daviddavis about 3 years ago

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:

<pre>
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
</pre>

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.

Back