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).
Provisioning: OK โ
, warnings โ ๏ธ, errors ๐ฃ. (Jessie result is in parenthesis only if it's different from stretch.)
Source: [[ https://phabricator.wikimedia.org/P6499 | stretch ]], [[ https://gist.github.com/zeljkofilipin/8743a4b3e31a9ce9e7060a4e22c25bd9 | jessie ]].
| Status | Role | Stretch | Jessie
|--|--|--|--
| | 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 | ๐ฃ | ๐ฃ
| OK | 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 | โ
| โ
| OK | 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 | ๐ฃ | โ
| OK | mediawiki (default) | โ
| โ
| | memcached | โ
| โ
| | minerva | โ
| โ
| | mleb | โ
| โ
| | mobileapp | โ
| โ
| | mobilecontentservice | ๐ฃ | โ
| OK | mobilefrontend | โ
| ๐ฃ
| | modern | โ
| โ
| | molhandler | โ
| โ
| | monobook | โ
| โ
| OK | multimedia | โ
| โ
| OK | multimediaviewer | โ
| โ
| | mysql_strict | โ
| โ
| OK | navigationtiming | โ
| โ
| | newsletter | โ
| โ
| | newusermessage | โ
| โ
| | notebook | โ
| ๐ฃ
| | nuke | โ
| โ
| | oathauth | โ
| โ
| | oauth | โ
| โ
| | oauthauthentication | โ
| โ
| | offline | ๐ฃ | โ
| | oozie | ๐ฃ | ๐ฃ
| | openbadges | โ
| โ
| | ores | โ
| โ
| | ores_service | โ
| โ
| | pageassessments | โ
| โ
| | pagedtiffhandler | โ
| โ ๏ธ
| | pageimages | โ
| โ
| | pagetriage | โ
| โ
| | pageviewinfo | โ
| โ
| | parserfunctions | โ
| โ
| | parsoid | โ ๏ธ | ๐ฃ
| | payments | ๐ฃ | ๐ฃ
| OK | pdfhandler | โ
| โ
| OK | performanceinspector | โ
| โ
| | phabricator | ๐ฃ | โ
| | phptags | โ
| โ
| | phragile | ๐ฃ | ๐ฃ
| | pipeescape | โ
| โ
| | poem | โ
| โ
| | poolcounter | ๐ฃ | โ
T183384
| OK | popups | โ
| โ
| | private | โ
| โ
| | proofreadpage | โ
| โ
| | psr3 | โ
| โ
| | questycaptcha | ๐ฃ | ๐ฃ
| | quicksurveys | โ
| โ
| | quips | ๐ฃ | โ
| | quiz | โ
| โ
| | raita | ๐ฃ | ๐ฃ
| | readinglists | โ
| โ
| OK | relatedarticles | โ
| โ
| | renameuser | โ
| โ
| | restbase | ๐ฃ | โ
| | revisionslider | โ
| โ
| | sal | ๐ฃ | โ
| | sandboxlink | โ
| โ
| | scholarships | โ
| โ
| | score | โ
| โ
| | scribunto | ๐ฃ | โ
| | securepoll | โ
| โ
| | semanticextraspecialproperties | โ
| โ
| | semanticmediawiki | โ
| โ
| | semanticresultformats | โ
| โ
| | semantictitle | โ
| โ
| | sentry | ๐ฃ | โ
| | shorturl | โ
| โ
| | simple_miser | ๐ฃ | โ ๏ธ
| | simple_performant | ๐ฃ | โ
| | sitematrix | โ ๏ธ | ๐ฃ
| | spark | ๐ฃ | ๐ฃ
| OK | statsd | โ
| โ
T183374
| | striker | ๐ฃ | ๐ฃ
| OK | svg | โ
| โ
| OK | swift | โ
| โ
T183354
| | syntaxhighlight | โ
| โ
| | templatedata | โ
| โ
| | templatesandbox | โ
| โ
| | templatestyles | โ
| โ
| | testwiki | โ
| โ
| | textextracts | โ
| โ
| OK | three_d | โ
| โ
T183446
| | throttleoverride | โ
| โ
| OK | thumb_on_404 | โ
| โ
| | thumbor | ๐ฃ | ๐ฃ T183462
| | tidy | โ
| โ
| OK | timedmediahandler | โ
| โ
| | timeless | โ
| โ
| | titleblacklist | โ
| โ
| | torblock | โ
| โ
| | translate | โ
| โ
| | uls | โ
| โ
| | uploadslink | โ
| โ
| OK | uploadwizard | โ
| โ ๏ธ
| | urlgetparameters | โ
| โ
| | urlshortener | โ
| โ
| | usermerge | โ
| โ
| | variables | โ
| โ
| OK | varnish | โ ๏ธ | โ
| OK | 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 | ๐ฃ | โ
T181915 (miss role::zend)
==Reporting issues==
Please create a subtask of this tracking task. It will be difficult to keep track of bugs reported as individual comments here.