Project

Profile

Help

Task #2178

closed

Remove the conduits and port usage to use the progress API

Added by bmbouter over 7 years ago. Updated almost 5 years ago.

Status:
CLOSED - NOTABUG
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
Yes
Tags:
Sprint:
Quarter:

Description

The conduits are in platform[0] so they should be removed from there. Once removed many plugin codepaths and maybe some platform codepaths will break. They should be updated to use the new progress reporting models introduced with #2092. Replacement with direct Django querying is ok too if models are available when this refactor is done. Other non-progress reporting usages of the conduits should probably be brought up for discussion about how to handle to be sure that what we are replacing them with is stable.

Since the conduits are no longer available for usage with 3.0, we should remove references to them in the documentation also. That is part of this story. Adding docs is part of another story, so don't add docs, just remove them.

[0]: https://github.com/pulp/pulp/tree/6868481c1a0eeab06d1f18330e7fd7dc533d8007/server/pulp/plugins/conduits

Actions #1

Updated by bmbouter over 7 years ago

  • Blocked by Task #2092: Create django model(s) for progress reporting added
Actions #2

Updated by bmbouter over 7 years ago

  • Description updated (diff)
Actions #3

Updated by bmbouter over 7 years ago

  • Tracker changed from Refactor to Task
Actions #4

Updated by amacdona@redhat.com over 7 years ago

  • Description updated (diff)
  • Groomed changed from No to Yes
Actions #5

Updated by mhrivnak over 7 years ago

  • Groomed changed from Yes to No

I expect each plugin will require a giant refactor to remove either the step system or whatever custom reporting workflow is in place, and re-organize it into a new workflow that makes use of the new progress reporting. Recall that with the step system, it does a lot (or all) of the reporting for you, so it's not easy to replace that without reorganizing a ton of code.

There's also the issue of replacing the importer and distributor base classes that will have an impact on refactoring the plugins. Not to mention making new django models for units and using them.

So I suggest breaking this up into a separate task for each plugin to convert its use, plus a task for the platform.

I suspect we'll end up having a developer start working on a particular plugin and grab a few tasks to all do together. Those would include things like "Use the new progress reporting", "Use the new django models", and "Use the new plugin base classes". I think it'll be easiest to do them all approximately at once than try to change just one at a time and produce something that still works.

I'm going to un-groom this for further discussion.

Actions #6

Updated by bmbouter over 7 years ago

You've identified a lot of great details in this work. Breaking it up into these parts sounds really good. Would you make those redmine tasks?

Actions #7

Updated by bmbouter almost 7 years ago

  • Blocked by deleted (Task #2092: Create django model(s) for progress reporting)
Actions #8

Updated by bmbouter almost 7 years ago

The progress API will be used as each plugin is ported. The old conduit code will be removed eventually when all the /server code is removed. The old docs will be removed when the /old_docs folder is deleted. Given all ^ I'm going to close this issue since it doesn't really make sense any more given the current state.

Actions #9

Updated by bmbouter almost 7 years ago

  • Status changed from NEW to CLOSED - NOTABUG
Actions #10

Updated by daviddavis about 5 years ago

  • Sprint/Milestone set to 3.0.0
Actions #11

Updated by bmbouter almost 5 years ago

  • Tags deleted (Pulp 3)

Also available in: Atom PDF