Pocket maintainers cannot always upload to their pocket

Bug #914779 reported by Iain Lane
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Low
Colin Watson

Bug Description

In Ubuntu, the management of pockets other than RELEASE is typically delegated to some subset of the developers. This subset cannot always upload packages to their pocket, because the target pocket is not checked as part the archive's ACL (checked are PPU/packagetset+distroseries/component).

The main benefit is that teams would be able to perform their actions autonomously (instead of blocking on privileged individuals), and some could move over to using copyPackage via the API instead of other means.

In Ubuntu, I believe the following would be desired:

  -backports : ~ubuntu-backporters
  -security : ~ubuntu-security
  (possibly) -proposed/-updates : ~ubuntu-sru

Tags: qa-ok

Related branches

Revision history for this message
Colin Watson (cjwatson) wrote :

This is probably related to bug 648611, but is not quite the same (upload vs. queue admin).

Aaron Bentley (abentley)
Changed in launchpad:
status: New → Triaged
importance: Undecided → Low
Colin Watson (cjwatson)
Changed in launchpad:
status: Triaged → In Progress
Colin Watson (cjwatson)
Changed in launchpad:
assignee: nobody → Colin Watson (cjwatson)
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → In Progress
Revision history for this message
Colin Watson (cjwatson) wrote :

11:13 <wgrant> 2012-05-20 01:41:54 INFO 2209-18-1 applied just now in 0.4 seconds

tags: added: qa-ok
removed: qa-needstesting
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
removed: qa-ok
Changed in launchpad:
status: In Progress → Fix Committed
Revision history for this message
Colin Watson (cjwatson) wrote :

Attempting to call newPocketUploader fails:

  Module zope.publisher.publish, line 134, in publish
    result = publication.callObject(request, obj)
  Module lazr.restful.publisher, line 211, in callObject
    WebServicePublicationMixin, self).callObject(request, object)
  Module lp.services.webapp.publication, line 499, in callObject
    return mapply(ob, request.getPositionalArguments(), request)
  Module zope.publisher.publish, line 109, in mapply
    return debug_call(obj, args)
   - __traceback_info__: <security proxied lazr.restful._resource.EntryResource instance at 0x1140daec>
  Module zope.publisher.publish, line 115, in debug_call
    return obj(*args)
  Module lazr.restful._resource, line 925, in __call__
    result = self.do_POST()
  Module lazr.restful._resource, line 757, in do_POST
    return self.handleCustomPOST(operation_name)
  Module lazr.restful._resource, line 1396, in handleCustomPOST
    value = super(EntryResource, self).handleCustomPOST(operation_name)
  Module lazr.restful._resource, line 741, in handleCustomPOST
    return operation()
  Module lazr.restful._operation, line 83, in __call__
    response = self.call(**values)
  Module lazr.restful.declarations, line 1429, in call
    response.setHeader('Location', absoluteURL(result, self.request))
  Module zope.traversing.browser.absoluteurl, line 35, in absoluteURL
    return zope.component.getMultiAdapter((ob, request), IAbsoluteURL)()
  Module lp.services.webapp.publisher, line 617, in __str__
    return canonical_url(self.context, self.request)
  Module lp.services.webapp.publisher, line 681, in canonical_url
    if urldata.path]
  Module lp.soyuz.browser.archivepermission, line 53, in path
    "One of component, sourcepackagename or package set should "
AssertionError: One of component, sourcepackagename or package set should be set

I'll fix this, which looks easy enough, but it's clearly a gap in my testing. That said, I don't think any existing functionality is broken, so this probably doesn't prevent this patch being rolled out.

Revision history for this message
Colin Watson (cjwatson) wrote :

I've tested that things like Archive.newComponentUploader and Archive.newPackageUploader still work.

tags: added: qa-ok
removed: qa-needstesting
Colin Watson (cjwatson)
Changed in launchpad:
status: Fix Committed → In Progress
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
removed: qa-ok
Changed in launchpad:
status: In Progress → Fix Committed
Revision history for this message
Colin Watson (cjwatson) wrote :

I tested this on dogfood. This time, everything behaved exactly as desired.

tags: added: qa-ok
removed: qa-needstesting
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote :

Per e-mail discussion, I've added the following permissions:

Archive Upload Rights for ubuntu-backporters: archive 'primary', pocket 'Backports'
Archive Upload Rights for ubuntu-security: archive 'primary', pocket 'Security'

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.