Pkgdb2 - Update on new branch/package process

Pierre-Yves Chibon pingou at pingoured.fr
Thu Oct 9 09:55:07 UTC 2014


Dear all,

Sorry for the long silence about this.

Here is where we are now (in git, nothing merged/in prod atm):
* user can request new packages on pkgdb
* user can request a new branch for a package on pkgdb
* these actions are recorded and stored in pkgdb
  Available at:
  http://209.132.184.188/admin/actions/
  and
  http://209.132.184.188/api/admin/actions/
* there is a new pkgdb-admin part of pkgdb-cli allowing to list actions and
  act of them (approve (ie: process)/deny)
    -> the pkgdb UI only updates the status of the action, while the cli
       pkgdb-admin actually process the request (as well as updating the status
       of the action at the end)
    -> pkgdb-admin would be the place where we would add all the checks we want
       to do before processing a package/branch request

fedmsg messages will be broadcasted for new branch.

This part is all there and basically ready :)

The second part is about listening to fedmsg message about new branches and
adjusting the git repos accordingly.
This is where things are a little more hairy.

Currently, we have fedmsg-pkgdb-sync-git [1] that basically listens for pkgdb
messages on the bus and run the ansible playbook: run_pkgdb_sync_git.yml [2]
(which in turn runs pkgdb_sync_git_branches.py) when needed.

The problem which I am facing is in the case of new EPEL branch creation.
These branches are created from another one. For example in the case of the
epel7 branch we used (are we still?) to branch either from either el6 or f19.
With that in mind, I allowed in pkgdb to specify from which branch one would
like to get the new branch.
The problem is that this information is not available to fedmsg-pkgdb-sync-git
and even if it was, we would not be able to pass it along to the ansible
playbook.

So afaics the options are:
1/ We hard-code somewhere from which branch each branch should come (ie: f*
  comes from master, el6 comes from ?, epel7 comes from f19...)
2/ We manage to create the branch in such a way that they point to the first
  commit in the repo (suggestion from Till), from there the maintainers should
  be able to fast-forward to the branch they think should apply
3/ We manage to just create the branch in gitolite and just let the maintainer
  populate it by merging the branch they think should apply

I have a preference for #3, but our tests with bochecha for it didn't quite
succeed.

But in all 3 options, I basically can drop the `branch_from` field when
requesting a new branch in pkgdb.


So what is our preference and how do we want to proceed from here?

Thanks,
Pierre


[1] https://github.com/fedora-infra/fedmsg-pkgdb-sync-git
[2] https://infrastructure.fedoraproject.org/infra/ansible/playbooks/run_pkgdb_sync_git.yml


More information about the rel-eng mailing list