Page MenuHomePhabricator

Migrate node-based services in production to node10
Open, NormalPublic

Description

The majority of our node-based services is currently running Node 6 and that branch is EOLed 2019-04-01: https://nodejs.org/en/about/releases/

I can backport security fixes for a while, but that's not ideal and we should plan the migration of node-based services to 10 (which also implies stretch as node10 has hard requirements on libraries only in stretch).

Services currently using nodejs:

node10 debs for stretch are available in the repository component "component/node10" , see T203239 for further details. After https://gerrit.wikimedia.org/r/477475 service::node deploys the stretch nodejs10 component with the parameter use_nodejs10 set to true.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 29 2018, 8:46 AM

Does this mean he have a hard deadline of 2019-04-01 for completing the migrations? Or per the "I can backport security fixes for a while" we have a couple of more months? The current goal is that by July 2019 all scb services, restbase (and probably aqs as well), proton, parsoid will be in kubernetes. That will leave turnilo and aphlict I guess.

etherpad-lite is a whole story in its own as the software is in what I would call "maintenance mode". Docs say it requires node 6.9+ and recommends node 8.9+. Hopefully that means it's compatible with node10 but remains to be seen.

Does this mean he have a hard deadline of 2019-04-01 for completing the migrations? Or per the "I can backport security fixes for a while" we have a couple of more months?

No, it's not a hard deadline. I feel perfectly comfortable to backport fixes for longer. It's mostly a case of "Moritz was working on nodejs security updates, saw the EOL note, realised that goal planning is in progress, so seemed useful to start the discussion and make a task" :-)

As mentioned in https://phabricator.wikimedia.org/T209711#4788954 I am looping in @hashar to also allow Releng to test NodeJS 10 :)

Change 477475 had a related patch set uploaded (by Elukey; owner: Elukey):
[operations/puppet@production] service::node: add the 'use_nodejs10' parameter

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

Change 477500 had a related patch set uploaded (by Elukey; owner: Elukey):
[operations/puppet@production] turnilo: fix dependency cycle removing require_package

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

Change 477500 merged by Elukey:
[operations/puppet@production] turnilo: fix dependency cycle removing require_package

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

jijiki triaged this task as Normal priority.Dec 4 2018, 10:17 PM

Change 477475 merged by Elukey:
[operations/puppet@production] service::node: add the 'use_nodejs10' parameter

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

jijiki updated the task description. (Show Details)Feb 19 2019, 11:27 AM
jijiki added a project: serviceops.
elukey updated the task description. (Show Details)Feb 19 2019, 11:56 AM
hashar removed a subscriber: hashar.Feb 20 2019, 1:40 PM

Change 508822 had a related patch set uploaded (by Gehel; owner: Gehel):
[operations/puppet@production] maps: upgrade to nodejs10

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

Mentioned in SAL (#wikimedia-operations) [2019-05-08T14:03:26Z] <gehel> starting upgrade to nodejs 10 for maps - T210704

Change 508822 merged by Gehel:
[operations/puppet@production] maps: upgrade to nodejs10

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

Mentioned in SAL (#wikimedia-operations) [2019-05-08T19:26:27Z] <gehel> continue upgrade to nodejs 10 for maps - T210704

Mentioned in SAL (#wikimedia-operations) [2019-05-08T20:10:42Z] <gehel> upgrade to nodejs 10 for maps completed - T210704