Page MenuHomePhabricator

Cloning Node.JS service repos into /vagrant/srv/ fail on Windows host
Closed, ResolvedPublic

Description

T89919: Services in Vagrant should not be cloned into root moved Node.JS service repos into /vagrant/srv, which causes node module installs to fail on Windows hosts. The root cause are symlinks created by npm for certain modules.

Options:

  1. Symlinks become available when Vagrant is run with admin rights, so list that as a workaround on the MW-Vagrant page.
  2. Use npm install --no-bin-links and then try to work around various issues that might arise for each service.
  3. Move them out of /vagrant and bikeshed yet again on where to actually put them

I'm strongly in favour of option 1 as it affects only Windows users that install services.

First reported in T90353 , recently appeared in https://gerrit.wikimedia.org/r/#/c/211957/2/puppet/modules/mathoid/manifests/install/git.pp

Event Timeline

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

Windows hosts don't use NFS. Have you verified that this is really the problem? It seems more likely that the native Windows filesystem does not support symlinks.

Windows hosts don't use NFS. Have you verified that this is really the problem? It seems more likely that the native Windows filesystem does not support symlinks.

Duh, you are right. No NFS, only no support for symlinks.

mobrovac renamed this task from Cloning Node.JS service repos into /vagrant/srv/ fail on Windows NFS shares to Cloning Node.JS service repos into /vagrant/srv/ fail on Windows host.May 24 2015, 4:39 PM
mobrovac updated the task description. (Show Details)
mobrovac set Security to None.

Changed the task desc and gave some options there. Thoughts?

I think simply not using npm symlinks is the easiest way to go about this, as it's least discomforting for users. That will render npm start, npm test and the likes unusable in these repos, but there will still be ways to get the equivalent behaviour if needed. I'll amend change Ia38d8727 accordingly.

Change 214919 had a related patch set uploaded (by Mobrovac):
Introduce the service class and service::node define

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

Change 214919 merged by jenkins-bot:
Introduce the service class and service::node define

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

mobrovac removed a project: Patch-For-Review.
mobrovac removed a subscriber: gerritbot.