Page MenuHomePhabricator

Complete the use of HHVM over Zend PHP on the Wikimedia cluster
Closed, ResolvedPublic

Description

Because there are things blocked on this event, and until I asked I thought it had already happened. :-)

Related Objects

StatusSubtypeAssignedTask
ResolvedLegoktm
Declined demon
ResolvedJoe
ResolvedReedy
ResolvedNone
ResolvedJoe
ResolvedJoe
ResolvedJoe
Resolvedtstarling
ResolvedJoe
Resolvedkaldari
Resolvedjcrespo
ResolvedVolans
ResolvedPRODUCTION ERRORaaron
InvalidNone
DeclinedArielGlenn
ResolvedArielGlenn
Resolvedori
DeclinedNone
ResolvedMoritzMuehlenhoff
ResolvedJoe
ResolvedJoe
ResolvedJoe
ResolvedAndrew
ResolvedJoe
Duplicatefgiunchedi
Resolved brion
Resolved brion
Resolvedbd808
ResolvedJoe
Resolvedfgiunchedi
ResolvedPRODUCTION ERROREBernhardson
ResolvedKrenair
ResolvedNone
Resolvedhashar
Resolvedtstarling
Resolvedtstarling

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Still has open blockers, this task shouldn't be closed until everything is defaulting to using HHVM in the wikimedia cluster.

silver is also using PHP 5.3, IIRC

hashar renamed this task from Complete the use of HHVM over Zend PHP on the Wikimedia cluster to Complete the use of HHVM over Zend PHP on the Wikimedia cluster (tracking).Apr 13 2015, 10:47 PM
hashar added a project: Tracking-Neverending.

I have make this ticket to be oviously a Tracking-Neverending task.

The subsidiary tasks remain undone.

When can we expect this to be done?

So it is now possible to deploy code with PHP 5.6 features?

I strongly suspect that we will bump our requirements only to 5.4 - however some folks out there really want to switch to Hack altogether.

I am not asking about what versions of PHP that MediaWiki ought to work with. This is purely about what the restrictions are for PHP code to be deployed on the WMF cluster, which includes libraries and tools that have nothing to do with MediaWiki. So, PHP 5.6 fine or not?

There's still a handful of production used machines still running PHP 5.3

If they get (all) upgraded to trusty, but not switched to hhvm, then in theory PHP 5.5 would be the minimum for WMF usage at least

http://packages.ubuntu.com/trusty/php5

Are these production machines that run MediaWiki? I'd like to know if they are relevant for extension development, or just for certain tools written in PHP. Is there an issue for upgrading those machines?

Are these production machines that run MediaWiki? I'd like to know if they are relevant for extension development, or just for certain tools written in PHP. Is there an issue for upgrading those machines?

The eqiad video scalers (tmh*), snapshot hosts (snapshot*), deployment machine (tin), maintenance machine (terbium), and wikitech (silver) all run MediaWiki on zend php. These are very relevant to developing extensions for use in Wikimedia production. All are 5.3 except silver which is 5.5.

So using PHP 5.4 in a MediaWiki extension used by WMF will still cause problems? :(

Are these production machines that run MediaWiki? I'd like to know if they are relevant for extension development, or just for certain tools written in PHP. Is there an issue for upgrading those machines?

The eqiad video scalers (tmh*), snapshot hosts (snapshot*), deployment machine (tin), maintenance machine (terbium), and wikitech (silver) all run MediaWiki on zend php. These are very relevant to developing extensions for use in Wikimedia production. All are 5.3 except silver which is 5.5.

About silver, I see no point in converting it at the moment, but that may change in the future.

In T86081#1517308, @Joe wrote:

Are these production machines that run MediaWiki? I'd like to know if they are relevant for extension development, or just for certain tools written in PHP. Is there an issue for upgrading those machines?

The eqiad video scalers (tmh*), snapshot hosts (snapshot*), deployment machine (tin), maintenance machine (terbium), and wikitech (silver) all run MediaWiki on zend php. These are very relevant to developing extensions for use in Wikimedia production. All are 5.3 except silver which is 5.5.

About silver, I see no point in converting it at the moment, but that may change in the future.

You already said this on the silver blocker. Unfortunately that is still a requirement to get rid of some zend tests and using hack in mediawiki-config.

Do we really want to use hack in mediawiki-config? Who decided to vendor-lock ourselves into HHVM forever?

Also, Zend tests are needed for third-party, for mediawiki; I don't really see a good reason to spend what could be a sizeable engineering time (wikitech runs OSM, which is completely untested with HHVM) to convert wikitech to HHVM. Surely not mine unless a very good case is made for getting rid of it.

I would go as far as to suggest we either:

a) Drop OSM

b) Remove wikitech from the deployment train

@andrewbogott might want to comment on this, btw

Also, Zend tests are needed for third-party, for mediawiki

Yeah, it'd be unfortunate to no longer verify MediaWiki works with Zend PHP. However, does that prevent us from creating extensions that depend on PHP 5.4 or PHP 5.5?

@JeroenDeDauw I think it's referring to zend tests on wmf-only branches, to be fair. My point then would be we don't need those for silver alone.

In T86081#1517619, @Joe wrote:

I would go as far as to suggest we either:

a) Drop OSM

I think that was already in the works with horizon? There's also E:LdapAuthentication to think about, and the Semantic extensions (T53642 for getting rid of those).

b) Remove wikitech from the deployment train

That is a step backwards, see T70751.

Is there any ETA on being able to use PHP 5.4 features in WMF deployed extensions yet?

snapshot conversion to hhvm is blocked on an upstream bug; see the snapshot task blocking tasks. once that's fixed and either backported or we catch up to the version with that fix, the snapshots can all start using it immediately.

There is exactly zero machines left running PHP 5.3

IMO the real intent of this ticket is now resolved.

This task is a blocker for getting rid of Zend 5.3 Jenkins jobs for WMF branches and master branches deployed on Wikimedia infra ( T94149 ).

There is still three blockers, but they don't seem to have Zend 5.3 running still:

T98813: Move wikitech (silver) to HHVM
T94277: Convert snapshot hosts to use HHVM and trusty
T86096: Switch HAT appservers to trusty's ICU (or newer)

Can subscribers to this task please confirm the three task above are no more for migrating out of Zend 5.3? If nothing left running Zend 5.3 we will get rid of the related Jenkins jobs.

This task is a blocker for getting rid of Zend 5.3 Jenkins jobs for WMF branches and master branches deployed on Wikimedia infra ( T94149 ).

There is still three blockers, but they don't seem to have Zend 5.3 running still:

T98813: Move wikitech (silver) to HHVM
T94277: Convert snapshot hosts to use HHVM and trusty
T86096: Switch HAT appservers to trusty's ICU (or newer)

Can subscribers to this task please confirm the three task above are no more for migrating out of Zend 5.3? If nothing left running Zend 5.3 we will get rid of the related Jenkins jobs.

Yes, confirmed. Wikitech and the snapshot hosts are running 5.5.9, and T86096 is blocked by the migration, not blocking it.

Sorry, to rain on the carefully painted parade Unicorns. 5.5.9 is still zend.

So we do want to keep Zend tests for... wikitech?

Seems rather foolish to me.

And all the people outside the WMF who use Mediawiki with Zend...

T94149 is "Get rid of zend tests for wmf branches", not for all branches

Phabricator_maintenance renamed this task from Complete the use of HHVM over Zend PHP on the Wikimedia cluster (tracking) to Complete the use of HHVM over Zend PHP on the Wikimedia cluster.Aug 13 2016, 11:25 PM

With HHVM ditching PHP compatibility, we're going in the direction opposite to this task.

With HHVM ditching PHP compatibility, we're going in the direction opposite to this task.

Reference: http://hhvm.com/blog/2017/09/18/the-future-of-hhvm.html

I thought ops still wanted to do this,at least for wikitech to get to a level playing field?

Jdforrester-WMF changed the task status from Declined to Resolved.Mar 21 2018, 12:10 AM

Despite being declined, the Release Engineering and Cloud Services teams between them fixed this last week as part of their work towards the new real goal of T172165: Require either PHP 7.0+ or HHVM in MW 1.31, so for completionism I'll retag this as such. ;-)