Project

Profile

Help

Issue #4725

closed

Debian lazy sync virt-install fails w/ a 404 error, yet it's on the remote's CDN

Added by bmbouter almost 5 years ago. Updated almost 4 years ago.

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

Description

mdellweg and I both are experiencing this issue with the latest source checkouts of pulpcore, pulpcore-plugin and the pulp_deb. Using pulp_lift you can easily get into this setup.

Then sync+publish w/ a script like:

# Sync Repository
export REPOSITORY=$(http POST :24817/pulp/api/v3/repositories/ name=debian_stretch | jq -r '._href')
export REMOTE=$(http POST :24817/pulp/api/v3/remotes/deb/apt/ name=debian_stretch policy=streamed url="http://ftp.de.debian.org/debian/" distributions=stretch components=main architectures=amd64 sync_udebs=True sync_installer=True | jq -r '._href')
export SYNC_TASK=$(http POST :24817${REMOTE}sync/ repository=${REPOSITORY} | jq -r '.task')
# wait for task to finish
export VERSION=$(http :24817${SYNC_TASK} | jq -r '.created_resources[0]')

# Publish Repository
export PUBLISHER=$(http POST :24817/pulp/api/v3/publishers/deb/verbatim/ name=verbatim_stretch | jq -r '._href')
export PUBLISH_TASK=$(http POST :24817${PUBLISHER}publish/ repository=${REPOSITORY} | jq -r '.task')
# wait for task to finish
export PUBLICATION=$(http :24817${PUBLISH_TASK} | jq -r '.created_resources[0]')
http POST :24817/pulp/api/v3/distributions/ name=verbatim_stretch base_path=verbatim_stretch publication=${PUBLICATION}

You'll need your local ports forwarding from all local interfaces to the pulplift VM for ports 24816 and 24817. You can do this with something like:

vagrant ssh pulp3-source-fedora29 -- -R 29437:localhost:29437 -R 29438:localhost:29438 -L *:24816:127.0.0.1:24816 -L *:24817:127.0.0.1:24817

Then virt-install with a command like:

virt-install     \
    --name deb-pulp-install \
    --disk size=10 \
    --memory 1024 \
    --connect qemu:///system \
    --os-variant debian9 \
    --location http://192.168.122.1:24816/pulp/content/verbatim_stretch/dists/stretch/main/installer-amd64/ \
    --initrd-inject preseed.cfg

Eventually your system will fail with an error that looks like:

It's requesting the URL:

http://192.168.122.1:24816/pulp/content/verbatim_stretch/pool/main/b/busybox/busybox_1.22.0-19+b3_amd64.deb

which should exist because this URL exists:

http://ftp.de.debian.org/debian/pool/main/b/busybox/busybox_1.22.0-19+b3_amd64.deb


Files

deb_install-1.png (15.7 KB) deb_install-1.png bmbouter, 04/23/2019 06:57 PM

Also available in: Atom PDF