Page MenuHomePhabricator

[EPIC] Migrate base image to Debian Jessie
Closed, ResolvedPublic

Description

The Wikimedia production application servers are being migrated from Ubuntu 14.04 Trusty to Debian Jessie. Our vagrant setup should follow that lead in order to maintain maximum compatibility with testing production changes.

There are several big things that will need to be dealt with, but probably the biggest is that Jessie uses systemd and removes support for upstart. Roles that include upstart service management will need to be updated to use systemd units instead.

As we did with the prior precise to trusty migration we should remember to tag the repo with a "trusty-compat" tag to allow pinning to the older version of code for VMs that for whatever reason can't be upgraded.

Testing the Jessie 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-jessie
$ cd mwv-jessie
$ git checkout jessie-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 Jessie testing VM. This one-liner liner might even do it for you:

$ cd mwv-jessie
$ vagrant roles enable $(cd ../vagrant; vagrant roles list -e -1)
$ vagrant provision

Timeline

See also

Related Objects

StatusSubtypeAssignedTask
Resolvedbd808
Resolvedbd808
Resolvedjgleeson
Resolvedbd808
ResolvedTgr
Resolved mobrovac
Resolvedbd808
Resolved Gilles
Resolved Gilles
Resolved Gilles
Resolved Gilles
Resolvedbd808
Resolved mobrovac
ResolvedReedy
ResolvedReedy
ResolvedReedy
Resolvedbd808
Resolvedbd808
Resolvedbd808
ResolvedNone
DuplicateNone
Resolved Gilles
Resolvedbd808
Resolvedbd808
InvalidNone
Resolved brion
OpenNone
Resolvedori

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
dduvall renamed this task from Migrate base image to Debian Jessie (epic) to [EPIC] Migrate base image to Debian Jessie.Jul 25 2016, 4:11 PM
dduvall triaged this task as Medium priority.
dduvall moved this task from INBOX to Epics (ARCHIVED) on the Release-Engineering-Team board.
bd808 raised the priority of this task from Medium to High.Aug 22 2016, 4:45 PM
bd808 added a subscriber: Joe.

This is looking more important now that T143536: Upgrade all mw* servers to debian jessie has been opened by @Joe.

@ori do you have any time/interest in helping with a creating a roadmap for this?

Some things we will need to do off the top of my head:

I'm way overcommitted, especially since I had to substantially reduce my availability in the last couple of months. Sorry. I do think that ops should provide some support. I suggest @greg bring it up in the next weekly ops meeting.

I suggest @greg bring it up in the next weekly ops meeting.

Not there, sadly. There are just only so many SF<->European slots in the week and our team meetings overlap.

Not there, sadly. There are just only so many SF<->European slots in the week and our team meetings overlap.

I added it to our list of things to bring up in SoS today.

MoritzMuehlenhoff subscribed.

This got mentioned as needing ops involvement in SoS, but in yesterday's Ops meeting we weren't sure what kind of help is needed in particular? Could you please elaborate?

This got mentioned as needing ops involvement in SoS, but in yesterday's Ops meeting we weren't sure what kind of help is needed in particular? Could you please elaborate?

The key activities for this project are enumerated in T136429#2572195. The Puppet and systemd parts are places where techops could probably provide some assistance.

I just created a jessie-migration branch in MediaWiki-Vagrant's gerrit repo. I'll try to get things kicked off by posting a base patch that changes the Vagrantfile to load a jessie base image for the VirtualBox provider. That will make testing things on jessie easier.

Change 342500 had a related patch set uploaded (by BryanDavis):
[mediawiki/vagrant] Merge remote-tracking branch 'origin/jessie-migration'

https://gerrit.wikimedia.org/r/342500

Change 342500 abandoned by BryanDavis:
Merge remote-tracking branch 'origin/jessie-migration'

Reason:
wrong target branch.

https://gerrit.wikimedia.org/r/342500

Change 342501 had a related patch set uploaded (by BryanDavis):
[mediawiki/vagrant] Merge remote-tracking branch 'origin/jessie-migration'

https://gerrit.wikimedia.org/r/342501

Change 342501 merged by jenkins-bot:
[mediawiki/vagrant] Merge remote-tracking branch 'origin/jessie-migration'

https://gerrit.wikimedia.org/r/342501

Change 342502 merged by BryanDavis:
[mediawiki/vagrant] Branch for backwards compatibility with Trusty

https://gerrit.wikimedia.org/r/342502

Meanwhile production is on their way to stretch and jessie is already oldstable. Would it make sense to consider skipping jessie and jump to stretch right away?

Meanwhile production is on their way to stretch and jessie is already oldstable. Would it make sense to consider skipping jessie and jump to stretch right away?

MediaWiki-Vagrant has defaulted to jessie base images since March 2017. This task is still open because there are some straggler roles that have not been fixed to work correctly with jessie. Opening a stretch migration task would be a reasonable thing to do if the production MediaWiki servers are ready to start migrating to stretch.

bd808 claimed this task.

Closing the tracker task to reduce confusion about the state of the default VMs.

Thanks! A task for tracking migration of prod MW servers to stretch has recently been opened at T174431.