[PATCH] Fix issue with delegation of patch via REST API

Bjorn Helgaas bjorn.helgaas at gmail.com
Thu Oct 10 03:58:29 AEDT 2019


On Thu, Oct 3, 2019 at 4:22 PM Bjorn Helgaas <helgaas at kernel.org> wrote:
>
> I can't get patchwork delegation via git-pw to work either on ozlabs
> or kernel.org.  Any hints on where to look or more data to collect?

This magically started working on patchwork.kernel.org.  I don't know
what changed, but thank you to whoever fixed it!

> On Wed, Sep 25, 2019 at 01:51:20PM -0500, Bjorn Helgaas wrote:
> > On Wed, Sep 25, 2019 at 04:33:35PM +0100, Stephen Finucane wrote:
> > > On Tue, 2019-09-24 at 14:12 -0500, Bjorn Helgaas wrote:
> > > > On Tue, Sep 24, 2019 at 09:45:16AM +0100, Stephen Finucane wrote:
> > > > > On Mon, 2019-09-23 at 15:39 -0500, Bjorn Helgaas wrote:
> > > > > > On Sat, Sep 21, 2019 at 07:30:46PM +0100, Stephen Finucane wrote:
> > > > > > > There have been reports of people being unable to delegate patches to
> > > > > > > themselves, despite being a maintainer or the project to which the patch
> > > > > > > is associated.
> > > > > > > ...
> > > > > > I tried the instance at https://patchwork.kernel.org/project/linux-pci/list/
> > > > > > to see if it was new enough to work without this fix.  But it also
> > > > > > fails, slightly differently:
> > > > > >
> > > > > >   $ git config -l | grep "^pw"
> > > > > >   pw.server=https://patchwork.kernel.org/api/1.1
> > > > > >   pw.project=linux-pci
> > > > > >   pw.token=...
> > > > > >
> > > > > >   $ git-pw patch update --delegate helgaas 11151519
> > > > > >   More than one delegate found: helgaas
> > > > > >
> > > > > > Is this another manifestation of the same bug or something else?
> > > > >
> > > > > This is a different issue and, unlike the other one, is more feature
> > > > > than bug. This is happening because the search for a particular user is
> > > > > returning multiple matches. We match on username, first name, last name
> > > > > and email, so I imagine you have multiple user accounts on the instance
> > > > > and there might be a conflict between an email address of one account
> > > > > and a username of another? (Let me know if this isn't the case). The
> > > > > easy solution is to use a more specific match. I'd suggest just using
> > > > > the email address associated with your user account ([1] suggests this
> > > > > is 'bhelgaas at google.com'). We could also support lookup by user ID
> > > > > (which would guarantee a single match) but I haven't added that to git-
> > > > > pw yet since it didn't seem that usable.
> > > >
> > > > Still no workey.  I'm cursed.  The web "Delegate to" dropdown menu
> > > > includes "bhelgaas" and my profile seems to be associated with
> > > > "bhelgaas" (at least, that's the name in the upper right of the web
> > > > page when I'm logged in).
> > > >
> > > >   $ git-pw patch update --delegate bhelgaas 11151519
> > > >   {u'delegate': [u"User 'bhelgaas' is not a maintainer for project 'Linux PCI development list'"]}
> > > >   $ git-pw patch update --delegate bhelgaas at google.com 11151519
> > > >   {u'delegate': [u"User 'bhelgaas' is not a maintainer for project 'Linux PCI development list'"]}
> > > >   $ git-pw patch update --delegate bjorn at helgaas.com 11151519
> > > >   No matching delegates found: bjorn at helgaas.com
> > > >
> > > > https://patchwork.kernel.org/user/ also claims I'm a maintainer for
> > > > https://patchwork.kernel.org/project/linux-pci/list/ and shows both
> > > > bhelgaas at google.com and bjorn at helgaas.com as email addresses.
> > >
> > > I'll have a look into this but I've no ideas off the top of my head. If
> > > you're comfortable with Python, could you add a couple of print
> > > statements to log what we're requesting from the API and what we're
> > > getting back and share them here? If not, I'll try look into this next
> > > week.
> >
> > I am able to change the *state*, e.g.,
> >
> >   $ git-pw patch update --state accepted 11151519
> >   $ git-pw patch update --state new 11151519
> >
> > seem to work fine.
> >
> > Not sure if this has enough information to be useful to you, but this
> > is the output from:
> >
> >   git-pw --debug patch update --delegate bhelgaas at google.com 11151519
> >
> > 2019-09-25 13:43:04,838 - git_pw.patch - DEBUG - Updating patch: id=11151519, commit_ref=None, state=None, archived=None
> > 2019-09-25 13:43:04,843 - git_pw.config - DEBUG - Retrieved 'server' setting from git-config
> > 2019-09-25 13:43:04,843 - git_pw.config - DEBUG - Retrieved 'server' setting from cache
> > 2019-09-25 13:43:04,847 - git_pw.config - DEBUG - Retrieved 'project' setting from git-config
> > 2019-09-25 13:43:04,847 - git_pw.config - DEBUG - Retrieved 'project' setting from cache
> > 2019-09-25 13:43:04,847 - git_pw.config - DEBUG - Retrieved 'project' setting from cache
> > 2019-09-25 13:43:04,847 - git_pw.config - DEBUG - Retrieved 'project' setting from cache
> > 2019-09-25 13:43:04,847 - git_pw.api - DEBUG - GET https://patchwork.kernel.org/api/1.1/users/
> > 2019-09-25 13:43:04,851 - git_pw.config - DEBUG - Retrieved 'token' setting from git-config
> > 2019-09-25 13:43:04,852 - git_pw.config - DEBUG - Retrieved 'token' setting from cache
> > 2019-09-25 13:43:04,853 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): patchwork.kernel.org:443
> > 2019-09-25 13:43:05,414 - urllib3.connectionpool - DEBUG - https://patchwork.kernel.org:443 "GET /api/1.1/users/?q=bhelgaas%40google.com&project=linux-pci HTTP/1.1" 200 167
> > 2019-09-25 13:43:05,415 - git_pw.api - DEBUG - Got response
> > 2019-09-25 13:43:05,416 - git_pw.config - DEBUG - Retrieved 'server' setting from cache
> > 2019-09-25 13:43:05,416 - git_pw.config - DEBUG - Retrieved 'server' setting from cache
> > 2019-09-25 13:43:05,416 - git_pw.api - DEBUG - PATCH https://patchwork.kernel.org/api/1.1/patches/11151519/, data=[('delegate', 13257)]
> > 2019-09-25 13:43:05,416 - git_pw.config - DEBUG - Retrieved 'token' setting from cache
> > 2019-09-25 13:43:05,416 - git_pw.config - DEBUG - Retrieved 'token' setting from cache
> > 2019-09-25 13:43:05,417 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): patchwork.kernel.org:443
> > 2019-09-25 13:43:05,926 - urllib3.connectionpool - DEBUG - https://patchwork.kernel.org:443 "PATCH /api/1.1/patches/11151519/ HTTP/1.1" 400 93
> > 2019-09-25 13:43:05,927 - git_pw.api - ERROR - JSON response
> > 2019-09-25 13:43:05,928 - git_pw.api - ERROR - {u'delegate': [u"User 'bhelgaas' is not a maintainer for project 'Linux PCI development list'"]}
> > 2019-09-25 13:43:05,928 - git_pw.config - DEBUG - Retrieved 'debug' setting from cache
> > Traceback (most recent call last):
> >   File "/home/bhelgaas/bin/git-pw", line 10, in <module>
> >     sys.exit(cli())
> >   File "/usr/lib/python2.7/dist-packages/click/core.py", line 764, in __call__
> >     return self.main(*args, **kwargs)
> >   File "/usr/lib/python2.7/dist-packages/click/core.py", line 717, in main
> >     rv = self.invoke(ctx)
> >   File "/usr/lib/python2.7/dist-packages/click/core.py", line 1137, in invoke
> >     return _process_result(sub_ctx.command.invoke(sub_ctx))
> >   File "/usr/lib/python2.7/dist-packages/click/core.py", line 1137, in invoke
> >     return _process_result(sub_ctx.command.invoke(sub_ctx))
> >   File "/usr/lib/python2.7/dist-packages/click/core.py", line 956, in invoke
> >     return ctx.invoke(self.callback, **ctx.params)
> >   File "/usr/lib/python2.7/dist-packages/click/core.py", line 555, in invoke
> >     return callback(*args, **kwargs)
> >   File "/home/bhelgaas/src/git-pw/git_pw/patch.py", line 180, in update_cmd
> >     patch = api.update('patches', patch_id, data)
> >   File "/home/bhelgaas/src/git-pw/git_pw/api.py", line 277, in update
> >     return patch(url, data).json()
> >   File "/home/bhelgaas/src/git-pw/git_pw/api.py", line 169, in patch
> >     _handle_error('update', exc)
> >   File "/home/bhelgaas/src/git-pw/git_pw/api.py", line 167, in patch
> >     rsp.raise_for_status()
> >   File "/usr/lib/python2.7/dist-packages/requests/models.py", line 940, in raise_for_status
> >     raise HTTPError(http_error_msg, response=self)
> > requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://patchwork.kernel.org/api/1.1/patches/11151519/
> _______________________________________________
> Patchwork mailing list
> Patchwork at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/patchwork


More information about the Patchwork mailing list