SoyuzDelayedCopies

Not logged in - Log In / Register

Overview

Overall Summary

Summary: Provide a way to have asynchronous package copy operations that are decoupled from the requesting operation. This is necessary because most copy operations necessarily take a long time and need to happen outside of a web-app request.

Goal/Deliverables: Decouple package copy requests from the act of performing them; ensure that existing webservice APIs and web UIs continue to work; automatically re-upload private files to the unrestricted librarian as appropriate; provide a way for PPA users to copy packages into Ubuntu provided they have existing upload privileges to it.

We will know we have finished when we have a base infrastructure that will allow us to remove the script that unembargoes packages from the security PPA.

Release Note

Rationale

The current package copying operations are all done either within a single webapp transaction, which frequently times out, or using scripts on the archive master machine. The latter prevents the security team from unembargoing their own packages into Ubuntu.

Use cases

Assumptions

User Interface

Implementation

Code Changes

Add IPackageUpload.acceptFromCopy():

This is consistent with acceptFromQueue() and acceptFromUploader()

There will be changes in PackageUpload.realiseUpload() for calling override_from_ancestry() and update_files_privacy() for each generated publishing record.

And finally, the do_delayed_copy() function itself, which will have the same signature as do_copy() but instead of returning publishing records will return PackageUpload records.

Schema Changes

Migration

Include:

Unresolved issues

In this section list out any issues which are unresolved and will impact or block the implementation of this spec.

SoyuzDelayedCopies (last edited 2009-06-18 08:56:12 by cprov)