Page MenuHomePhabricator

Migrate BetaCluster Node.JS services to Jessie and Node 4.3
Closed, ResolvedPublic

Description

We are in the process of migrating services to use Node 4.3. Some of them, most notably Graphoid and Mathoid, already strongly depend on it. So we need to move the BetaCluster instances to Jessie and upgrade them to Node 4.3.

Task list

  • Upgrade Node on deployment-restbase02
  • Shift clients from deployment-restbase01 to deployment-restbase02
  • Reconfigure Cassandra temporarily to use consistency = one
  • Re-image deployment-restbase01 to Jessie
  • Re-deploy Cassandra and RESTBase on deployment-restbase01 and reconfigure Cassandra back
  • Re-image deployment-mathoid and redeploy
  • Re-image deployment-cxserver03 and redeploy. Move cxserver to deployment-sca0x
  • Parsoid deployed on deployment-parsoid09 with node v4 and RESTBase updated to talk to this instance.
  • Re-image deployment-sca01 and redeploy
  • Re-image deployment-sca02 and redeploy

Event Timeline

mobrovac claimed this task.
mobrovac raised the priority of this task from to High.
mobrovac updated the task description. (Show Details)
mobrovac subscribed.

@hashar, AFAIK, deployment-parsoid05 and deployment-cxserver03 are Jenkins slaves, right? What do we need to do in order to move them to Jessie?

Change 266945 had a related patch set uploaded (by Mobrovac):
RESTBase: Start using deployment-restbase02 for clients

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

Change 266945 merged by jenkins-bot:
RESTBase: Start using deployment-restbase02 for clients

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

mobrovac removed a project: Patch-For-Review.
mobrovac set Security to None.
mobrovac removed a subscriber: gerritbot.

01:48 < mobrovac> jzerebecki: the question is: can i just delete those machines and create new ones with the same without consequences for the automatic jenkins jobs
01:48 < mobrovac> ?
01:56 < jzerebecki> mobrovac: the jobs are just bound to a label. so yes. but perhaps just disable the old ones in jenkins until the new ones work instead of deleting the instances beforehand. some docs here: https://wikitech.wikimedia.org/wiki/Nova_Resource:Integration/Setup perhaps extend it.
01:58 < jzerebecki> mobrovac: i.e. you can use a new name (count up) and apply the same label when adding the instance to jenkins.
01:58 < mobrovac> hmmm
01:58 < mobrovac> ok
01:58 < jzerebecki> (reusing the name confuses ssh and other things)
01:58 < mobrovac> thnx jzerebecki
01:59 < mobrovac> jzerebecki: "new name" you mean for the MV names or job names? :P
01:59 < jzerebecki> mobrovac: host name
01:59 < mobrovac> kk

Change 266968 had a related patch set uploaded (by Mobrovac):
RESTBase: Labs: Set correct IP for deployment-restbase01

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

Change 266968 merged by Dzahn:
RESTBase: Labs: Set correct IP for deployment-restbase01

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

mobrovac removed a project: Patch-For-Review.

All done except the jenkins slaves (Parsoid and CXServer). @hashar, I'd love your help for those.

deployment-cxserver03 should move to newer node.js as soon as possible (cxserver is now broken at moment due to dependency on node.js >4.2)

deployment-cxserver03 is Trusty which has NodeJS 0.10.25. Maybe migrate the service the shared instances deployment-sca01 / deployment-sca02 which are Jessie / NodeJS 4.3.0?

I'm fine with deployment-sca* instance. Let me know how I can help in migration.

Yeah, at this point I think the best way would be to put it on deployment-sca0x. I have added role::cxserver to both nodes. Once puppet runs on the cluster, cxserver should be present there. @KartikMistry, you will need to poimt MW in BetaCluster to use one of the two nodes for calling cxserver. You can do so by finding all references to deployment-cxserver03 as well as its IP in the beta config file.

hashar renamed this task from Migrate BetaCluster Node.JS services to Jessie and Node 4.2 to Migrate BetaCluster Node.JS services to Jessie and Node 4.3.May 2 2016, 2:50 PM
hashar updated the task description. (Show Details)

node 4.2 -> node 4.3

ssastry updated the task description. (Show Details)