Track {T174431} and {T176370} in MediaWiki-Vagrant.
The process should be similar to the Trusty->Jessie migration (T136429). Major changes in this migration include upgrading from Puppet 3.x to 4.x and PHP 5.x to PHP 7.x.
==Major changes==
* Debian Stretch (Debian 9) base image
* Default PHP runtime is Zend PHP 7.0 (HHVM available via role)
* Database is MariaDB 10.1
* Puppet 4
==Testing the Stretch base image and Puppet profiles==
Its recommended to test with a fresh MediaWiki-Vagrant checkout so if things go badly you can easily switch back to your original install and keep working.
```
$ git clone --recursive https://gerrit.wikimedia.org/r/mediawiki/vagrant mwv-stretch
$ cd mwv-stretch
$ git checkout stretch-migration
$ ./setup.sh
$ vagrant up
```
You can run `vagrant roles list -e -1` to get a nice list of the roles you have enabled on your normal Trusty VM install to copy over to your Stretch testing VM. This one-liner liner might even do it for you:
```
$ cd mwv-stretch
$ vagrant roles enable $(cd ../vagrant; vagrant roles list -e -1)
$ vagrant provision
```
== Role testing ==
Pure PHP roles (most extensions) should be fine, but it doesn't hurt to test them. The main things which need testing are roles which install additional system packages (e.g. elasticsearch), configure system packages (e.g. https), or install custom services (e.g. parsoid, restbase).
[] abusefilter
[] accountinfo
[] advancedsearch
[] analytics
[] antispam
[] antispoof
[] apex
[] apparmor
[] articlecreationworkflow
[] articleplaceholder
[] babel
[] betafeatures
[] bouncehandler
[] buggy
[] campaigns
[] cassandra
[] categorytree
[] centralauth
[] centralnotice
[] checkuser
[] cirrussearch T183306
[] cite
[] citoid
[] cldr
[] codeeditor
[] codemirror
[] cologneblue
[] commons
[] commons_datasets
[] commonsmetadata
[] confirmedit
[] contactpage
[] contenttranslation
[] disableaccount
[] disambiguator
[] doublewiki
[] easytimeline
[] echo
[] education
[] elk T183071
[] emailauth
[] embedvideo
[] eventbus
[x] eventlogging T183380
[] externalstore
[] featuredfeeds
[] fileannotations
[] fileimporter
[] flaggedrevs
[] flow
[] fss
[] fundraising
[] gadgets
[] gadgets2
[] geodata
[] geodata_elastic
[] geshi
[] gettingstarted
[] globalblocking
[] globalcssjs
[] globalpreferences
[] globalusage
[] globaluserpage
[] gpgmail
[] graph
[] graphoid
[] greystuff
[] guidedtour
[] gwtoolset
[] hadoop
[] headertabs
[x] hhvm
[] hive
[] horizon
[] https T183304, T183302
[] hue
[] iabot
[] iegreview
[] imagemetrics
[] inputbox
[] interwiki
[] invitesignup
[] jsduck
[] jsonconfig
[] kafka
[] kartographer
[] kartographerwv
[] keystone
[] l10nupdate
[] labeledsectiontransclusion
[] langwikis
[] ldapauth
[] liquidthreads
[] lockdown
[] loginnotify
[] maps
[] massaction
[] massmessage
[] math
[] mathoid
[] mathsearch
[x] mediawiki (default)
[] memcached
[] minerva
[] mleb
[] mobileapp
[] mobilecontentservice
[x] mobilefrontend
[] modern
[] molhandler
[] monobook
[x] multimedia
[x] multimediaviewer
[] mysql_strict
[x] navigationtiming
[] newsletter
[] newusermessage
[] notebook
[] nuke
[] oathauth
[] oauth
[] oauthauthentication
[] offline
[] oozie
[] openbadges
[] ores
[] ores_service
[] pageassessments
[] pagedtiffhandler
[] pageimages
[] pagetriage
[] pageviewinfo
[] parserfunctions
[] parsoid
[] payments
[x] pdfhandler
[x] performanceinspector
[] phabricator
[] phptags
[] phragile
[] pipeescape
[] poem
[] poolcounter T183384
[x] popups
[] private
[] proofreadpage
[] psr3
[] questycaptcha
[] quicksurveys
[] quips
[] quiz
[] raita
[] readinglists
[x] relatedarticles
[] renameuser
[] restbase
[] revisionslider
[] sal
[] sandboxlink
[] scholarships
[] score
[] scribunto
[] securepoll
[] semanticextraspecialproperties
[] semanticmediawiki
[] semanticresultformats
[] semantictitle
[] sentry
[] shorturl
[] simple_miser
[] simple_performant
[] sitematrix
[] spark
[x] statsd T183374
[] striker
[x] svg
[x] swift T183354
[] syntaxhighlight
[] templatedata
[] templatesandbox
[] templatestyles
[] testwiki
[] textextracts
[x] three_d T183446
[] throttleoverride
[x] thumb_on_404
[] thumbor T183462
[] tidy
[x] timedmediahandler
[] timeless
[] titleblacklist
[] torblock
[] translate
[] uls
[] uploadslink
[x] uploadwizard
[] urlgetparameters
[] urlshortener
[] usermerge
[] variables
[x] varnish
[x] vipsscaler
[] visualeditor
[] warnings_as_errors
[] whoops
[] widgets
[] wikibase_repo
[] wikidata T183307
[] wikidatapagebanner
[] wikidiff2
[] wikieditor
[] wikihiero
[] wikilabels
[] `wikilove`
[] wikimediaevents
[] wikimediaflow
[] wikimediaincubator
[] wikimediamaintenance
[] wikimediamessages
[] wikimediaproduction
[] wikimetrics
[] wikipediaextracts
[] wikispeech
[] wikitech
[] xanalytics
[] xhprofgui
[] youtube
[] zero
==Reporting issues==
Please create a subtask of this tracking task. It will be difficult to keep track of bugs reported as individual comments here.