Task #3698
closed
Story #3693: Lazy for Pulp3
Make the streamer download using a configured downloader, configured by the correct remote.
Status:
CLOSED - CURRENTRELEASE
Description
The inbound request is mapped to a RemoteArtifact just like the Content app does. After that it gets the url and remote from there. It then can:
- forward headers first, then stream data
- Header injection requirements from squid (see old streamer)
- asyncio not twisted
- Description updated (diff)
- Groomed changed from No to Yes
- Sprint Candidate changed from No to Yes
- Related to Task #3699: Make the streamer create an Artifact and update ContentArtifact with the foreign key added
- Related to deleted (Task #3699: Make the streamer create an Artifact and update ContentArtifact with the foreign key)
- Blocks Task #3699: Make the streamer create an Artifact and update ContentArtifact with the foreign key added
- Status changed from NEW to ASSIGNED
- Assignee set to CodeHeeler
- Sprint changed from Sprint 41 to Sprint 42
- Sprint changed from Sprint 42 to Sprint 43
- Sprint changed from Sprint 43 to Sprint 44
- Assignee changed from CodeHeeler to bmbouter
- Sprint changed from Sprint 44 to Sprint 45
- Status changed from ASSIGNED to POST
The github.com/bmbouter/pulp_streamer/ master branch currently does this so I'm moving to POST.
We can move to MODIFIED once the repo is moved to the Pulp organization pending a bigger review/test.
- Sprint changed from Sprint 45 to Sprint 46
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
- Sprint/Milestone set to 3.0.0
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Also available in: Atom
PDF
Adds the content app to pulpcore.content
The Settings can be a lot simpler now that the architecture no longer required redirection. It does need to account for the content being served on a different HOST. This PR handles that.
Since the settings are now single values, they are much easier to override using Dynaconf, which is great.
The content app can be removed now that the streamer code is handling it all.
This PR is a prototype and has no docs. Use Pulp as normal , but run the streamer from github.com/bmbouter/pulp_streamer/ and run the streamer with:
gunicorn pulpcore.streamer:server --bind localhost:8080 --worker-class aiohttp.GunicornWebWorker -w 2
This PR needs pulp-smash changes from pulp_file so it requires the PR below:
Required PR: https://github.com/pulp/pulp_file/pull/140
https://pulp.plan.io/issues/4239 closes #4239
https://pulp.plan.io/issues/3698 closes #3698
https://pulp.plan.io/issues/3699 closes #3699
https://pulp.plan.io/issues/4181 closes #4181
https://pulp.plan.io/issues/4243 closes #4243