On 18-04-27 10:49:28, Stas Malyshev wrote:
Hi!

First, we now disallow multi-sync patch deployments. See T187761[0].
This means that the sync order of files is determined by git commit
parent relationships (or Gerrit's "depends-on"). This is to prevent SWAT
deployers from accidentally syncing two patches in the wrong order.

Question about this: if there's a patch that requires files to land in
specific order, e.g. one that part of the config is moved into another
file (example: https://gerrit.wikimedia.org/r/c/419367) is this handled
automatically by scap (i.e. all changes in the same patch land at the
same time atomically and scap takes care of nothing ever seeing the
intermediate states) or has to be managed manually, and if so, how?

Scap doesn't currently handle this since for MediaWiki deploys it's still using rsync at a basic level.

Currently, syncing changes in a way that avoids bad intermediate states is handled by the SWAT deployer and is determined on the fly at the time of deployment.

That is, the deployer figures out how to sync stuff on the fly. And deployers are pretty good at it, mostly. If I were deploying that change today I'd split it up and sync one at a time:

   - wmf-config/WikibaseSearchSettings.php
   - wmf-config/InitialiseSettings.php
   - wmf-config/Wikibase.php
   - wmf-config/Wikibase-production.php

(or maybe I'd combine the last two into a sync-dir wmf-config).

The new policy asks the folks submitting patches to split up patches to avoid bad intermediate states ahead of time.

So Instead of me syncing that change one file at a time, maybe that change becomes two changes and I can pull a change that adds the WikibaseSearchSettings.php file and the variables in InitialiseSettings.php -- sync-dir wmf-config, and then a second patch that could be synced all at once as well. Two syncs rather than 3 or 4 in this case.

The hope is that this will be more efficient, less error-prone, and lower the difficulty factor for deployers. Ideally, this makes it more and more difficult to earn a t-shirt[0] :)

-- Tyler

[0]. <https://photos.tylercipriani.com/i-broke-wikipedia.jpg>

_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to