Task #4444
closedMove pulp/pulp to pulp/pulpcore
0%
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.
Updated by amacdona@redhat.com almost 6 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.
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.
Updated by dkliban@redhat.com over 5 years ago
+1 to making this change sooner rather than later.
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?
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.
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
Updated by bmbouter over 5 years ago
Notice sent to pulp-dev: https://www.redhat.com/archives/pulp-dev/2019-February/msg00104.html
Updated by bmbouter over 5 years ago
Closed these PRs on https://github.com/pulp/pulp/pulls
https://github.com/pulp/pulp/pull/3740
https://github.com/pulp/pulp/pull/3896
https://github.com/pulp/pulp/pull/3895
https://github.com/pulp/pulp/pull/3891
https://github.com/pulp/pulp/pull/3880
https://github.com/pulp/pulp/pull/3876
https://github.com/pulp/pulp/pull/3870
https://github.com/pulp/pulp/pull/3822
https://github.com/pulp/pulp/pull/3813
Added by amacdona@redhat.com over 5 years ago
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.
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
Added by dkliban@redhat.com over 5 years ago
Revision 2cdf7487 | View on GitHub
Switches Travis to use pulpcore repo
Added by dkliban@redhat.com over 5 years ago
Revision 2cdf7487 | View on GitHub
Switches Travis to use pulpcore repo
Added by dkliban@redhat.com over 5 years ago
Revision 2cdf7487 | View on GitHub
Switches Travis to use pulpcore repo
Added by dkliban@redhat.com over 5 years ago
Revision 2cdf7487 | View on GitHub
Switches Travis to use pulpcore repo
Added by dkliban@redhat.com over 5 years ago
Revision 9a8da5b6 | View on GitHub
Switches Travis to using the new pulpcore repo
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.
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.
Updated by bmbouter over 5 years ago
Thanks @asmacdo and @dkliban for the help. These PRs updated the various plugin in the Pulp org:
Core stuff andpulp_file¶
https://github.com/pulp/pulpcore/pull/4/
https://github.com/pulp/pulpcore/pull/7/
https://github.com/pulp/pulpcore-plugin/pull/70
https://github.com/pulp/pulp_file/pull/182/files
https://github.com/pulp/plugin_template/pull/36
Installer Stuff¶
https://github.com/pulp/ansible-pulp3/pull/82
https://github.com/pulp/pulplift/pull/9
Plugins¶
https://github.com/pulp/pulp_rpm/pull/1288
https://github.com/pulp/pulp_python/pull/223
https://github.com/pulp/pulp_ansible/pull/78/files
https://github.com/pulp/pulp_docker/pull/314
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
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
Updated by bmbouter almost 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Transition pulp to pulpcore git repo
The transition only affects source installations, PyPI installations remain unchanged.
re #4444