Page MenuHomePhabricator

Migrate Proton to k8s and nodejs 10
Closed, ResolvedPublic

Description

Per T210704: Migrate node-based services in production to node10.

  • Test proton source code against node 10
  • Implement pipeline
  • Profile Proton in deployment-charts
  • Deploy Proton in k8s
  • Switch traffic to the new deployment

Related Objects

StatusSubtypeAssignedTask
StalledNone
ResolvedNone
Resolvedakosiaris
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedReedy
ResolvedReedy
ResolvedBawolff
ResolvedAnomie
ResolvedBawolff
ResolvedBawolff
ResolvedLegoktm
ResolvedLucas_Werkmeister_WMDE
ResolvedBawolff
Resolvedsbassett
Resolvedsbassett
ResolvedJdforrester-WMF
Resolvedsbassett
Resolvedsbassett
ResolvedReedy
ResolvedReedy
ResolvedJdforrester-WMF
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedJdforrester-WMF
Resolvedhashar
Resolvedhashar
ResolvedJdforrester-WMF
Resolvedhashar
DeclinedMoritzMuehlenhoff
Invalidthcipriani
Resolved mmodell
Resolvedhashar
ResolvedJoe
ResolvedJMeybohm
ResolvedJMeybohm
DuplicateDzahn
DeclinedDzahn
ResolvedJdforrester-WMF
OpenNone
ResolvedMSantos

Event Timeline

https://gerrit.wikimedia.org/r/c/mediawiki/services/chromium-render/+/489102 adds URL handling with the legacy URL API (the WHATWG one is not available on nodejs 6.11.0, although it is available on later versions of node 6). Would be nice to fix when the migration happens.

@MoritzMuehlenhoff on what time scale do you expect this to happen?

@Tgr Would you mind memorializing the tricky bits about this in the description, for the benefit of whoever picks it up?

Change 524353 had a related patch set uploaded (by MSantos; owner: MSantos):
[operations/puppet@production] Pass use_nodejs10 to proton

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

Change 524353 merged by Alexandros Kosiaris:
[operations/puppet@production] Pass use_nodejs10 to proton

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

MSantos added a subscriber: Jdforrester-WMF.

So, I think our part is done:

  1. .pipeline is created
  2. Proton is tested against nodejs 10 and has a beta environment set for it. Proton is ready for a nodejs 10 environment.

@MoritzMuehlenhoff and @Jdforrester-WMF what are the next steps? Does that conclude this task?

So, I think our part is done:

  1. .pipeline is created
  2. Proton is tested against nodejs 10 and has a beta environment set for it. Proton is ready for a nodejs 10 environment.

@MoritzMuehlenhoff and @Jdforrester-WMF what are the next steps? Does that conclude this task?

CI is running node 6; there's no testing for node 10 set up (and every time you V+2 you bypass all the testing anyway). Next step is to add the pipeline build step in CI, which I'll do now.

Change 528226 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] layout: [mediawiki/services/chromium-render] Enable pipeline testing and publishing

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

Change 528226 merged by jenkins-bot:
[integration/config@master] layout: [mediawiki/services/chromium-render] Enable pipeline testing and publishing

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

Mentioned in SAL (#wikimedia-releng) [2019-08-05T19:22:27Z] <James_F> Zuul: [mediawiki/services/chromium-render] Enable pipeline testing and publishing T217114

OK, it's now running the pipeline step for CI, but unfortunately that's failing as your pipeline file still tries to use v3 of blubber which is no longer supported; you need to bump to v4.

Change 528232 had a related patch set uploaded (by MSantos; owner: MSantos):
[mediawiki/services/chromium-render@master] blubber: bump version to v4

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

Change 528232 abandoned by MSantos:
blubber: bump version to v4

Reason:
duplicate of If0f9c4d7f2732358b8ee01ed0c6a7e55f5be15fb

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

But nodejs on the proton* hosts is still on nodejs 6?

MSantos updated the task description. (Show Details)

Does this mean we can remove the node 6 CI job and the entire mediawiki/services/chromium-render/deploy repo now?

Change 607746 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] layout: [mediawiki/services/chromium-render/deploy] Archive

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

Change 607747 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] jjb: Drop chromium-render-deploy-npm-node-6-docker, unused

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

I don't think the k8s deployment of Proton is actually serving any traffic yet, so we should wait on those until it's switched over.

Mholloway renamed this task from Migrate Proton to nodejs 10 to Migrate Proton to k8s and nodejs 10.Jun 29 2020, 1:40 PM
Mholloway updated the task description. (Show Details)
Mholloway added a project: serviceops.

Change 607746 merged by jenkins-bot:
[integration/config@master] layout: [mediawiki/services/chromium-render/deploy] Archive

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

Mentioned in SAL (#wikimedia-releng) [2020-07-10T10:15:42Z] <James_F> Zuul: [mediawiki/services/chromium-render/deploy] Archive T217114

Change 607747 merged by jenkins-bot:
[integration/config@master] jjb: Drop chromium-render-deploy-npm-node-6-docker, unused

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