Project

Profile

Help

Task #4444

closed

Move pulp/pulp to pulp/pulpcore

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

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

0%

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

Description

Problems

Having the pulp/pulp store the pulpcore code creates a few issues:

Confusion. The pulp/pulp repo holds both pulp2 and pulp3 on different branches. This means that pull requests are mixed which causes us to need a lot of labels to distinguish the two at PR review time.

Tags and Releases issues. We want the repo forpulp3 to cleanly show the releases (even the pre-releases). If you look at the Pulp releases page it has 1891 releases (a crazy unbelievable number). https://github.com/pulp/pulp/releases We should leave all these old tags from pulp2 behind and only have the pulp3 tags in the source tree

Naming convention isues. The pulpcore-plugin is the PyPI package name and the repo name is pulp/pulpcore-plugin. For consistency the pulpcore PyPI package name is expected to live at pulp/pulpcore.

Solution

Create a new repo called pulp/pulpcore and make pulp/pulpcore:master contain the HEAD of pulp/pulp:master. Also push all pulp3 tags which should all reference commits in the history of pulp/pulpcore:master.

What about pulp2?

The pulp/pulp:2-master branch is left undisturbed so that release engineering can continue to build from it, and the open PRs against 2-master can remain undisturbed.

the plan

On Thursday Feb 28th at 5pm UTC the cutover will happen. Specifically bmbouter will do the following steps:

1. create a new repo at pulp/pulpcore
2. fetch the latest HEAD from pulp/pulp:master (the refs of pulp3) and push to the pulp/pulpcore:master branch
3. Move the tags starting with 3.0.0b* from the pulp/pulp repo to the pulp/pulpcore repo
4. Confirm with another developer that the refs and tags are moved to the new repo
5. delete pulp/pulp:master and make the default branch for pulp2 2-master.
6. Delete the pulp3 tags from pulp/pulp
7. Handle moving PRs (see below)
8. Send a notification to pulp-dev and irc with info that users can update their forks.
9. Ensure Travis is enabled and running on the new repo.
10. Fixup any other Pulp organization repos that were using source checkouts.
11. Update the pulp/pulpcore PyPI encrypted publish credentials to match the public key of the new repo

Moving PRs

It's a 3 step process done by bmbouter. You can't 'move' PRs between repos. You can open a PR from any repo to any repo. I tested this for the Pulp repos just now. Here are the steps:

1. The Pulp3 PRs on https://github.com/pulp/pulp/pulls that target master branch will be manually closed.
2. A PR will manually be opened for each closed PR to redirect those code contributions to the new repo.
3. A note will be left on the old one with a link to the new one so everyone can see

Fixing forks and checkouts

It should be these steps:

1. Fork a fresh copy of pulp/pulpcore
2. Clone from your fork

Optionally, if you no longer need your pulp/pulp fork and local clone, delete them.

Actions #1

Updated by amacdona@redhat.com over 5 years ago

  • Tags Pulp 3 RC Blocker added

I guess this has been coming for a long time. It's gonna be irritating, but +1.

I'm adding the RC blocker tag. The reason is that this will be disruptive to:
- travis
- docs
- ansible-pulp3
- pulplift
- pulpcore-plugin

Even if we could execute this s.t. there are no breaks, I will sleep easier if we shake out the kinks before RC.

Actions #2

Updated by daviddavis over 5 years ago

+1 to this change. I think plugins will need to be updated as well since many (most?) of them test against source in Travis.

Actions #3

Updated by dkliban@redhat.com over 5 years ago

+1 to making this change sooner rather than later.

Actions #4

Updated by bmbouter over 5 years ago

  • Description updated (diff)

Adding details on the plan.

Actions #5

Updated by bmbouter over 5 years ago

  • Description updated (diff)
Actions #6

Updated by bmbouter over 5 years ago

  • Description updated (diff)
Actions #7

Updated by bmbouter over 5 years ago

  • Description updated (diff)
Actions #8

Updated by daviddavis over 5 years ago

Great write up. A couple questions. Is the plan to remove the pulp 3 tags from pulp/pulp or just to leave them?

Also, for the forking, your recommendation is I delete my github fork and local clone. If I need to develop pulp2 though, I guess I would re-fork pulp/pulp?

Actions #9

Updated by bmbouter over 5 years ago

  • Description updated (diff)

Thank you for commenting.

daviddavis wrote:

Great write up. A couple questions. Is the plan to remove the pulp 3 tags from pulp/pulp or just to leave them?

Great question. We should remove them once they've been independently confirmed that they have been moved to pulp/pulpcore. I added a step to the list.

Also, for the forking, your recommendation is I delete my github fork and local clone. If I need to develop pulp2 though, I guess I would re-fork pulp/pulp?

That is a good point. Having people delete sounds scary and it's really optional. I've restated that part also in the description.

Actions #10

Updated by bmbouter over 5 years ago

I ran into a problem opening the pull requests. They can only be opened from a branch that is part of a repo that is forked from pulp/pulpcore.

See instructions left to PR owners here: https://github.com/pulp/pulp/pull/3740#issuecomment-468365984

Added by amacdona@redhat.com over 5 years ago

Revision 231ef696 | View on GitHub

Transition pulp to pulpcore git repo

The transition only affects source installations, PyPI installations remain unchanged.

re #4444

Added by amacdona@redhat.com over 5 years ago

Revision 231ef696 | View on GitHub

Transition pulp to pulpcore git repo

The transition only affects source installations, PyPI installations remain unchanged.

re #4444

Added by bmbouter over 5 years ago

Revision c77295dd | View on GitHub

Updates to account for repo name change

This updates two main things:

  • various docs
  • the encrypted key for Travis to publish to PyPI. This is an asset that is encrypted per-repo on Travis so changing the repo requires regenerating it.

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

Added by amacdona@redhat.com over 5 years ago

Revision a10df036 | View on GitHub

Transition from pulp to pulpcore git repo

re #4444

Added by dkliban@redhat.com over 5 years ago

Revision bb872d0a | View on GitHub

Switches Travis to use the new pulpcore repo

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

Added by dkliban@redhat.com over 5 years ago

Revision 9a8da5b6 | View on GitHub

Switches Travis to using the new pulpcore repo

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

Added by bmbouter over 5 years ago

Revision 684a2df7 | View on GitHub

Updates for pulpcore repo move

Fixes Travis to checkout and install pulpcore as needed with the repo move.

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

Added by bmbouter over 5 years ago

Revision 1306dd9a | View on GitHub

Updates for pulpcore repo move

Fixes Travis to checkout and install pulpcore as needed with the repo move.

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

Actions #14

Updated by bmbouter over 5 years ago

  • Status changed from NEW to POST
  • Assignee set to bmbouter

Added by dkliban@redhat.com over 5 years ago

Revision 0c9ec8cd | View on GitHub

Adds the key needed for publishing the docs

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

Actions #15

Updated by bmbouter over 5 years ago

  • Status changed from POST to MODIFIED
  • Sprint set to Sprint 49

Final PRs merged and notices sent to pulp-dev: https://www.redhat.com/archives/pulp-dev/2019-February/msg00107.html

Actions #16

Updated by daviddavis over 5 years ago

  • Sprint/Milestone set to 3.0.0
Actions #17

Updated by bmbouter over 5 years ago

  • Tags deleted (Pulp 3, Pulp 3 RC Blocker)
Actions #18

Updated by bmbouter almost 5 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF