MediaWiki 1.19/Roadmap/Deployment checklist

Moved from http://etherpad.wikimedia.org/119deployment

See http://etherpad.wikimedia.org/118deployment for what should be in here Project phases:

Preparation

Scheduling

Testing

Deployment

Post mortem

- Reviewing / Preparation Bugs blocking a milestone:

1.19 wmf deployment : https://bugzilla.wikimedia.org/buglist.cgi?query_format=advanced&list_id=81812&resolution=---&target_milestone=1.19wmf%20deployment&known_name=1.19%20deploy%20blockers&query_based_on=1.19%20deploy%20blockers

1.19.0 release https://bugzilla.wikimedia.org/buglist.cgi?list_id=80664&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=MediaWiki&target_milestone=1.19.0%20release

Release not that much needed for deployment though. MediaWiki 1.19 pre WMF deployment actions (tracking) https://bugzilla.wikimedia.org/show_bug.cgi?id=33994 MediaWiki 1.19 post WMF deployment actions (tracking) https://bugzilla.wikimedia.org/show_bug.cgi?id=33996 Revision report : https://www.mediawiki.org/wiki/MediaWiki_roadmap/1.19/Revision_report Finish up Filerepo Assigns FIXME Find out:

possible scaptrap

http://www.mediawiki.org/wiki/Special:Code/MediaWiki/tag/scaptrap

config changes

schema changes

maintenance script to be run ( sha1, ...? )

Commit /revert live hacks : make sure tree is kept clean. List 1.18wmf1 hacks that need to be applied to 1.19wmf1 - Communication https://www.mediawiki.org/wiki/MediaWiki_1.19/Roadmap#Communications  - Scheduling Ops resources? Part time staff availability - Staging - Deployment phases See http://www.mediawiki.org/wiki/MediaWiki_1.19/Roadmap Week 1 : Test:
 * [DONE] Assemble list of db schema changes (core and wmf-used extensions)
 * Perform schema updates
 * Identify new config changes that might be needed
 * Update make-wmf-branch
 * Add new extensions
 * Move extensions to/from Specials
 * Email sent to staff asking for input
 * Build list of revisions to "reapply" from 1.18wmf1
 * [DONE] Confirm current lists of patches are correct
 * https://www.mediawiki.org/w/index.php?limit=800&path=%2Fbranches%2Fwmf%2F1.18wmf1&title=Special%3ACode%2FMediaWiki
 * Work out which extensions want to come from trunk, what needs to come from 1.18wmf1
 * Branch REL1_19
 * Cut 119wmf1 branch
 * Check out 119wmf1 branch into the /home/wikipedia/common/php-1.19 directory on fenari
 * Scap

WMFLabs instance, 

Week 2 : Preproduction:

Copy on live cluster

test2 

Week 3 : Pilots ():

Verify hetdeploy script

Check Apache servers disk space

Scap to prepopulate apaches.

https://simple.wikipedia.org/ (simplewiki)

https://simple.wiktionary.org/ (simplewiktionary)

https://strategy.wikimedia.org/ (strategywiki) ??

https://www.mediawiki.org/ (mediawiki)

https://he.wikisource.org/ (hewikisource) Make sure Amir is awake!

Week 4 : Generalization test ():

Small projects

Most Wikipedia

Week 5 :

Commons

English Wikipedia

dewiki

frwiki

jawiki

ruwiki

- Schema Changes Core Extensions with Schema Updates CentralAuth - AntiSpoof table is already created - Run batchCAAntiSpoof.php to pre-populate AntiSpoof tables CodeReview (only mw.org) CREATE INDEX /*i*/repo_path ON /*_*/code_paths (cp_repo_id, cp_path); - Can be added any time ArticleFeedback ALTER TABLE article_feedback ADD INDEX aa_page_user_token (aa_page_id, aa_user_text, aa_user_anon_token, aa_revision), DROP INDEX aa_user_page_revision; - Extension Branching Deploy from Trunk (default - mark "(confirmed)" if you know for sure that should be the case AbuseFilter ActiveAbstract AntiBot AntiSpoof ApiSandbox ArticleFeedback (confirmed -Roan) AssertEdit Babel CategoryTree CentralAuth CentralNotice CharInsert CheckUser Cite cldr ClickTracking ClientSide CodeReview Collection CommunityApplications CommunityHiring CommunityVoice ConditionalShowSection ConfirmEdit CongressLookup ContactPage ContactPageFundraiser Contest (confirmed) ContributionReporting ContributionTracking CustomUserSignup DisableAccount DismissableSiteNotice DonationInterface DoubleWiki DumpHTML EditPageTracking EmailCapture ExpandTemplates ExtensionDistributor FeaturedFeeds (confirmed - Max) FlaggedRevs FormPreloadPostCache Gadgets GlobalBlocking GlobalUsage GoogleNewsSitemap ImageMap InputBox intersection LabeledSectionTransclusion LandingCheck LiquidThreads (confirmed, I think –Andrew) LocalisationUpdate MWSearch MarkAsHelpful Math MobileFrontend MoodBar Narayam NewUserMessage normal Nuke OAI OggHandler OpenSearchXml Oversight PagedTiffHandler ParserFunctions PdfHandler Poem PoolCounter PrefStats PrefSwitch ProofreadPage Quiz ReaderFeedback Renameuser RSS ScanSet SecurePoll ShortUrl SimpleAntiSpam SimpleSurvey SiteMatrix SkinPerPage skins SpamBlacklist StrategyWiki StringFunctionsEscaped SubPageList3 SwiftCloudFiles SyntaxHighlight_GeSHi timeline TitleBlacklist TitleKey TorBlock Translate (confirmed) TrustedXFF UnicodeConverter UploadBlacklist UploadWizard UserDailyContribs UserThrottle Vector VipsScaler WebFonts wikidiff2 wikihiero (confirmed - Max) WikiEditor WikiLove WikimediaIncubator WikimediaMaintenance WikimediaMessages ZeroRatedMobileAccess Deploy from 1.18wmf1 ArticleFeedbackv5 (confirmed -Roan)
 * array( 'addTable', 'config',                           'patch-config.sql' ),
 * Not needed by WMF, probably should be backed out of 1.19
 * array( 'addIndex', 'logging',      'type_action',      'patch-logging-type-action-index.sql'),
 * array( 'doMigrateUserOptions' ),
 * Already done by Roan for Usability
 * array( 'dropField', 'user',        'user_options', 'patch-drop-user_options.sql' ),
 * Would need to be done post deployment (or some changes merged out of 1.19 into 1.18wmf1 to save errors where it is sparsely used
 * Should be postponed to 1.20 deployment
 * array( 'addField', 'revision',     'rev_sha1',         'patch-rev_sha1.sql' ),
 * array( 'addField', 'archive',      'ar_sha1',          'patch-ar_sha1.sql' ),
 * array( 'addIndex', 'page', 'page_redirect_namespace_len', 'patch-page_redirect_namespace_len.sql' ),
 * array( 'modifyField', 'user', 'ug_group', 'patch-ug_group-length-increase.sql' ),
 * Done
 * array( 'addField',       'uploadstash',        'us_chunk_inx',                'patch-uploadstash_chunk.sql' ),
 * Done
 * array( 'addfield', 'job',          'job_timestamp',    'patch-jobs-add-timestamp.sql' ),
 * Done
 * array( 'modifyField', 'user_former_groups', 'ufg_group', 'patch-ufg_group-length-increase.sql' ),
 * Done
 * done 2/3 -asher