Issue #2187
closed
rsync as predistributor logic is wrong
Status:
CLOSED - CURRENTRELEASE
Description
Docker web distributor publishes without regard for predistributor publish history when publishing for the very first time. Here is a snippet from the test plan for this feature:
# remove all content from remote server
rm -rf /root/dir/on/remote/*
# remove all locally published docker content
rm -rf /var/lib/pulp/published/docker
# create docker repo to sync v2 content
pulp-admin docker repo create --feed http://127.0.0.1:5000 --upstream-name ubuntu --repo-id mydocker-repo --auto-publish false
# sync the v2 content
pulp-admin docker repo sync run --repo-id mydocker-repo
# validate that an auto publish did not occur (on local pulp install, not remote)
# add rsync distributor
http --verify no --auth admin:admin POST https://localhost/pulp/api/v2/repositories/mydocker-repo/distributors/ < docker_rsync_distributor_config.json
# publish using web distributor with rsync distributor defined as the predistributor
http --verify no --auth admin:admin POST https://localhost/pulp/api/v2/repositories/mydocker-repo/actions/publish/ < publish_docker_with_predistributor.json
# verify that the publish is skipped in the task details because the rsync predistributor has not published yet
The publish is not skipped. Though no units are actually published because the publisher does check the publish history of predistributor.
- Target Release - Docker set to 2.1.0
- Triaged changed from No to Yes
- Status changed from ASSIGNED to POST
- Project changed from Docker Support to Pulp
This behaviour manifests not just for docker, but for iso also for example. So moving issue to platform.
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
- Platform Release set to 2.10.0
- Status changed from MODIFIED to 5
- Status changed from 5 to 6
Verified against a Pulp 2.10.0 beta system provisioned this morning.
(pulp-smash2) [ichimonji10@beech:pulp-smash]$ python -m unittest2 pulp_smash.tests.rpm.api_v2.test_rsync_distributor
...s..s.
----------------------------------------------------------------------
Ran 8 tests in 476.062s
OK (skipped=2)
(pulp-smash2) [ichimonji10@beech:pulp-smash]$ git grep 2187
pulp_smash/tests/rpm/api_v2/test_rsync_distributor.py: This test targets `Pulp #2187 <https://pulp.plan.io/issues/2187>`_.
pulp_smash/tests/rpm/api_v2/test_rsync_distributor.py: if selectors.bug_is_untestable(2187, self.cfg.version):
pulp_smash/tests/rpm/api_v2/test_rsync_distributor.py: self.skipTest('https://pulp.plan.io/issues/2187')
(pulp-smash2) [ichimonji10@beech:pulp-smash]$ git grep 2199
pulp_smash/tests/rpm/api_v2/test_rsync_distributor.py: system if `Pulp #2199`_ is not yet fixed.
pulp_smash/tests/rpm/api_v2/test_rsync_distributor.py: .. _Pulp #2199: https://pulp.plan.io/issues/2199
pulp_smash/tests/rpm/api_v2/test_rsync_distributor.py: self.maybe_disable_selinux(self.cfg, 2199)
pulp_smash/tests/rpm/api_v2/test_rsync_distributor.py: self.maybe_disable_selinux(self.cfg, 2199)
(pulp-smash2) [ichimonji10@beech:pulp-smash]$ ssh $hostname rpm -qa | sort | grep -i pulp
pulp-admin-client-2.10.0-0.4.beta.fc24.noarch
pulp-docker-admin-extensions-2.1.0-0.2.beta.fc24.noarch
pulp-docker-plugins-2.1.0-0.2.beta.fc24.noarch
pulp-ostree-admin-extensions-1.1.3-1.fc24.noarch
pulp-ostree-plugins-1.1.3-1.fc24.noarch
pulp-puppet-admin-extensions-2.10.0-0.1.beta.fc24.noarch
pulp-puppet-plugins-2.10.0-0.1.beta.fc24.noarch
pulp-python-admin-extensions-1.1.3-1.fc24.noarch
pulp-python-plugins-1.1.3-1.fc24.noarch
pulp-rpm-admin-extensions-2.10.0-0.4.beta.fc24.noarch
pulp-rpm-plugins-2.10.0-0.4.beta.fc24.noarch
pulp-selinux-2.10.0-0.4.beta.fc24.noarch
pulp-server-2.10.0-0.4.beta.fc24.noarch
python-kombu-3.0.33-6.pulp.fc24.noarch
python-pulp-bindings-2.10.0-0.4.beta.fc24.noarch
python-pulp-client-lib-2.10.0-0.4.beta.fc24.noarch
python-pulp-common-2.10.0-0.4.beta.fc24.noarch
python-pulp-docker-common-2.1.0-0.2.beta.fc24.noarch
python-pulp-oid_validation-2.10.0-0.4.beta.fc24.noarch
python-pulp-ostree-common-1.1.3-1.fc24.noarch
python-pulp-puppet-common-2.10.0-0.1.beta.fc24.noarch
python-pulp-python-common-1.1.3-1.fc24.noarch
python-pulp-repoauth-2.10.0-0.4.beta.fc24.noarch
python-pulp-rpm-common-2.10.0-0.4.beta.fc24.noarch
python-pulp-streamer-2.10.0-0.4.beta.fc24.noarch
- Status changed from 6 to CLOSED - CURRENTRELEASE
Also available in: Atom
PDF
Fixes publish with predistributor logic
closes #2187 https://pulp.plan.io/issues/2187