Project

Profile

Help

Task #5580

closed

Move pulpcore-plugin code into pulp/pulpcore and delete pulp/pulpcore-plugin

Added by bmbouter over 4 years ago. Updated over 4 years ago.

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

100%

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

Description

Having pulpcore-plugin and pulpcore in separate repos brings many challenges (see below), and a few benefits. Let's make things much simpler by deleting the pulpcore-plugin repository and moving all code to pulp/pulpcore repository.

Challenges motivating the change

  • Releasing two things makes releasing twice as long and difficult. This has been a practical issue recently.
  • Many (majority?) of the objects in pulpcore-plugin import from pulpcore itself, so when you make changes to pulpcore you have to do extra work to add the changelog for plugin writers to pulpcore-plugin. Merging these together would let you make 1 PR.
  • It forces us to have two documentation sites. Not only is this extra work for us, but it makes our actual plugin docs difficult to find.
  • Coordinating "Required PR:" checkouts is a bunch of extra work (for the CI maintainers).

Why did we originally do it?

There are a few reasons I remember:

1. It clearly marked which APIs are governed by the plugin API. You can be sure you're plugin is OK as long as you always import from pulpcore.plugin.

2. We could version the Plugin API at < 1.0 so that we could modify things in a backwards incompatible way in the Y stream still as long as < 1.0.

3. it allowed us to release pulpcore-plugin separately. (This didn't work in practice though because so many objects from pulpcore-plugin are imported from pulpcore, you can't release them separately...)

Of all of these (1) is the most important.

The plan

Move all code from pulpcore-plugin to pulpcore. Have the version of pulpcore-plugin still declare 0.1.0, but remove it's setup.py since it won't be a separately installable package. Merge the test dependencies, dependencies, and docs.

We should port the changelog and have the pulpcore package report on the pulpcore.plugin changelog also.

Plugins will then delcare dependency on pulpcore directly. Overall this will make Pulp simpler for everyone.

We'll still have pulpcore.plugin, it'll just be in the github.com/pulp/pulpcore repo. This allows us to still clearly mark exactly what is included in the plugin API (benefit 1).

We can document in the plugin_api docs that the 3.Y versions of the plugin API may change backwards incompatibly so plugins should declare compatability only with the current 3.Y release until it's stable. (This achieves benefit 2).


Related issues

Related to Pulp - Task #5612: Fix plugin API docsCLOSED - CURRENTRELEASEdalley

Actions
Actions #1

Updated by bmbouter over 4 years ago

  • Description updated (diff)
Actions #2

Updated by bmbouter over 4 years ago

  • Description updated (diff)
Actions #3

Updated by bmbouter over 4 years ago

  • Description updated (diff)
Actions #4

Updated by daviddavis over 4 years ago

This all looks good to me. One question: where would the plugin code live? github.com/pulp/pulpcore/plugin?

Actions #5

Updated by bmbouter over 4 years ago

daviddavis wrote:

This all looks good to me. One question: where would the plugin code live inside the pulpcore repo? pulpcore/plugin?

Yes it would go there. A new 'plugin' folder in this dir: https://github.com/pulp/pulpcore/tree/master/pulpcore

Actions #6

Updated by daviddavis over 4 years ago

  • Sprint/Milestone set to 3.0.0
  • Groomed changed from No to Yes
  • Sprint set to Sprint 60
Actions #7

Updated by bmbouter over 4 years ago

  • Sprint deleted (Sprint 60)

I took off the sprint pending more discussion on the list.

Added by dalley over 4 years ago

Revision 5725a69a | View on GitHub

Depend on pulpcore directly instead of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 029130cd | View on GitHub

Depend on pulpcore directly instead of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 0274a15d | View on GitHub

Depend on pulpcore directly instead of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 0274a15d | View on GitHub

Depend on pulpcore directly instead of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 0274a15d | View on GitHub

Depend on pulpcore directly instead of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 0274a15d | View on GitHub

Depend on pulpcore directly instead of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 46d639dd | View on GitHub

Depend on pulpcore directly instead of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 56da7aa8 | View on GitHub

Update Travis config for the removal of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 56da7aa8 | View on GitHub

Update Travis config for the removal of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 56da7aa8 | View on GitHub

Update Travis config for the removal of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Actions #9

Updated by dalley over 4 years ago

  • Related to Task #5612: Fix plugin API docs added

Added by dalley over 4 years ago

Revision ed043681 | View on GitHub

Move pulpcore-plugin into pulpcore as a subpackage

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 196425b1 | View on GitHub

Depend on pulpcore directly instead of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 62e6a3b2 | View on GitHub

Move pulpcore-plugin into pulpcore as a subpackage

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 4e45c4a0 | View on GitHub

Move pulpcore-plugin documentation

re: #5580 https://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 133e935c | View on GitHub

Update Travis config for the removal of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 ihttps://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 133e935c | View on GitHub

Update Travis config for the removal of pulpcore-plugin

Required PR: https://github.com/pulp/pulpcore/pull/347

re: #5580 ihttps://pulp.plan.io/issues/5580

Added by dalley over 4 years ago

Revision 2793e002 | View on GitHub

Update submodules, remove references to pulpcore-plugin

closes: #5580 https://pulp.plan.io/issues/5580

Actions #10

Updated by dalley over 4 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #11

Updated by bmbouter over 4 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF