Project

Profile

Help

Task #4444

Move pulp/pulp to pulp/pulpcore

Added by bmbouter 8 months ago. Updated 6 months ago.

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

0%

Platform Release:
Blocks Release:
Backwards Incompatible:
No
Groomed:
No
Sprint Candidate:
No
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:
Sprint 49

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.

Associated revisions

Revision 231ef696 View on GitHub
Added by amacdona@redhat.com 8 months ago

Transition pulp to pulpcore git repo

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

re #4444

Revision c77295dd View on GitHub
Added by bmbouter 8 months ago

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

Revision a10df036 View on GitHub
Added by amacdona@redhat.com 8 months ago

Transition from pulp to pulpcore git repo

re #4444

Revision bb872d0a View on GitHub
Added by dkliban@redhat.com 8 months ago

Switches Travis to use the new pulpcore repo

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

Revision 9a8da5b6 View on GitHub
Added by dkliban@redhat.com 8 months ago

Switches Travis to using the new pulpcore repo

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

Revision 684a2df7 View on GitHub
Added by bmbouter 8 months ago

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

Revision 1306dd9a View on GitHub
Added by bmbouter 8 months ago

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

Revision c5e16bed View on GitHub
Added by bmbouter 8 months ago

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

Revision 0c9ec8cd View on GitHub
Added by dkliban@redhat.com 8 months ago

Adds the key needed for publishing the docs

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

History

#1 Updated by amacdona@redhat.com 8 months 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.

#2 Updated by daviddavis 8 months 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.

#3 Updated by dkliban@redhat.com 8 months ago

+1 to making this change sooner rather than later.

#4 Updated by bmbouter 8 months ago

  • Description updated (diff)

Adding details on the plan.

#5 Updated by bmbouter 8 months ago

  • Description updated (diff)

#6 Updated by bmbouter 8 months ago

  • Description updated (diff)

#7 Updated by bmbouter 8 months ago

  • Description updated (diff)

#8 Updated by daviddavis 8 months 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?

#9 Updated by bmbouter 8 months 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.

#10 Updated by bmbouter 8 months 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

#14 Updated by bmbouter 8 months ago

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

#15 Updated by bmbouter 8 months 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

#16 Updated by daviddavis 6 months ago

  • Sprint/Milestone set to 3.0

#17 Updated by bmbouter 6 months ago

  • Tags deleted (Pulp 3, Pulp 3 RC Blocker)

Please register to edit this issue

Also available in: Atom PDF