[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Haskell binnmus is there a problem?

On 2019-09-02 10:33, Emilio Pozuelo Monfort wrote:
On 29/08/2019 12:08, Philipp Kern wrote:
On 2019-08-29 11:46, Emilio Pozuelo Monfort wrote:
On 29/08/2019 11:17, Philipp Kern wrote:
On 2019-08-29 11:14, Emilio Pozuelo Monfort wrote:
Why don't you let the interested teams run the scripts and generate the
binNMUs (like they do now), and then you pull that from a cronjob in wuiet and schedule the binNMUs? You would just need to define the format and do some
sanity checks.

What would those sanity checks be?

You fetch the list from a known debian host (like several other services already do, including ftp-master or release). If you define the format to be e.g. yaml
or json, with an array of binNMUs to schedule, each one with
- a source package
- a version
- a list of architectures
- a reason

You can just then call 'wb nmu' with the right arguments and the right quoting. The sanity checks would be to make sure the arguments have the right format.

So that together with the other mail of not making it automatic: Would we just want to have an endpoint you can call as a member of an approved team(?) that ingests a list of work items, processes it and archives it? Assuming that Release Team has no block in place? Can we require a manual action by a team member rather than it being run continuously? So that we could then track down
who initiated it?

The reason why I asked the Release Team specifically was if we need to constrain the set of packages to act upon (e.g. golang-%). If you do not see a reason, assuming that we can always tell the team in question to fix their automation,
that's fine with me too.

On the one hand, adding such a constraint would ensure that the teams don't schedule binNMUs outside their realms. OTOH it would reduce the effectiveness of this solution when they need to schedule them on packages that don't fit whichever criteria we chose (e.g. for apps rather than modules). So I'd start with no constrain and we can add it later if we find out it's preferred.

FWIW, I started working on this. Unfortunately we do not really have transactions available to schedule all or nothing. If someone has a creative idea on how to best signal back partial success, let me know. :)

(My current best guess is a JSON file served as an attachment to the API call with success/failure states...)

Kind regards
Philipp Kern

Reply to: