Flow/2013-12 Deployment

We have the Tuesday 2013-12-10 1pm (13:00-15:00 PDT) deployment window for our deployment to enable Flow on a few pages on mediawiki.org


 * gerrit config patch is
 * tracking bug

The pages

 * mediawiki.org
 * Talk:Flow QA, Talk:Sandbox, Talk:Flow


 * testwiki
 * testwiki:Talk:Flow QA, testwiki:Talk:Sandbox


 * test2
 * test2wiki:Talk:Flow QA, test2wiki:Talk:Sandbox

There's no content to archive:
 * Talk:Flow QA doesn't exist
 * Talk:Sandbox is a redirect to Project:Sandbox and nothing links to it.
 * Talk:Flow is a redirect to Talk:Flow Portal and only has two links.

Checklist

 * ❌ Reedy +1 on  we deployed outselves
 * Chris Steipp security review, met Monday 2013-12-01 9:30 PST
 * ✅ ops (Faidon) OK
 * ✅ We won't have dedicated memcache servers for this
 * ✅ this plan. Talk:Flow live at 2013-12-11 15:24 PST!

Pre-deploy

 * ✅ Edit the pages to say "Flow team will enable Flow on this page on 2013-12-04. After that, if you can see this then we reverted or something has gone wrong." For bonus points, make Flow-enabled.
 * ✅ a DBA needs to create 'flowdb' on the extension1 cluster. RT ticket 6486 filed.

Deploy steps
The wikis involved are running 1.23wmf6. It's How to deploy code, with some database changes.

L10n messages

 * ✅ push out extension code
 * add the submodule and +2 the submodule change per How to deploy code
 * +2 which adds Flow to wmf-config/extension-list
 * Follow Configuration files, run mergeMessageFileList.php by hand to check for errors.
 * run scap to push Flow code and rebuild l10n cache
 * en-beta Flow QA page still works!

Database tables and records
(If we can't create the tables and default definitions then a DBA has to run the raw commands. RT ticket 6486 we succeeded)
 * ✅ Create Flow tables and workflow definitions in 'flowdb' on extension1 cluster.
 * Follow greg-g's e-mail to run these commands on host terbium, not tin:
 * Backport --wikidb parameter to maintenance/sql.php to wmf6 and sync-file it.
 * On terbium run mwscript sql.php --wikidb=flowdb --cluster=extension1 --wiki=test2wiki extensions/Flow/flow.sql to create the tables on flowdb on extension1.
 * Fetch config change with wgFlowDefaultDb and wgFlowCluster settings (Flow still not enabled on any pages)
 * the updated wmf-config/InitialiseSettings.php, InitialiseSettings-labs.php, and CommonSettings.php files in that order.
 * Run mwscript --wiki=test2wiki maintenance/FlowInsertDefaultDefinitions.php to add the default workflow definitions

Enable Flow

 * ✅push out config changes that enable it on certain pages
 * +2
 * the updated wmf-config/InitialiseSettings.php file.

Follow up

 * ✅ monitor for errors.
 * only exception was someone crafting a bogus workflow UUID in a URL (we're working on it)
 * no fatals


 * ✅ run QA tests on test2.mediawiki.org. (chrismcmahon did). Need to adjust user rights of Selenium_user


 * probably have to fix beta cluster for Flow on separate flowdb (see Matthias comment) – we left beta cluster not using separate flowdb on separate cluster with separate ExternalStore.
 * ✅ our labs config override didn't work, fixes.

Testing

 * Visit the URLs.
 * Point browsertests on test2wiki at [//test2.wikipedia.org/wiki/Talk:Main_Page Talk:Main Page] (using LiquidThreads), and [//test2.wikipedia.org/wiki/Talk:Flow_QA Talk:Flow_QA] (using Flow).