Page MenuHomePhabricator

Undo special tools-home and tools-project share definitions for NFS
Open, NormalPublic

Description

These are left over from the migration to the new NFS server(s) and right now it creates inconsistencies such as https://gerrit.wikimedia.org/r/#/c/344982/6/modules/labstore/files/nfs-manage-binds where we don't expect special share names to exist outside of the usual.

This should really be done in two parts:

  • refactoring so that the paths used in tools for the share links are common to the rest of the projects
  • unwinding the tools-home and tools-project to be 'home' and 'project'

Event Timeline

chasemp created this task.Mar 30 2017, 7:07 PM

This should really be done in two parts:

  • refactoring so that the paths used in tools for the share links are common to the rest of the projects

The share paths are the same for tools and the other projects, they are all served at /exp/project/<project>/<home|project>

unwinding the tools-home and tools-project to be 'home' and 'project'

Proposal:

  • Currently the mount paths for rest of projects and tools is different, all projects are mounted at /mnt/nfs/labstore-secondary-home and /mnt/nfs/labstore-secondary-project on the clients, and tools is at /mnt/nfs/labstore-secondary-tools-home and /mnt/nfs/labstore-secondary-tools-project. As a first step, we dual mount the tools share at the common mount path. (https://phabricator.wikimedia.org/P5241$98)
  • Finally change tools-home and tools-project on nfs-mounts.yaml to home and project, and remove the special case if tools block from nfsclient.pp - This should be a no op, since the mounts are already being served and the symlinks exist. (https://phabricator.wikimedia.org/P5244)

By refactoring so that the paths used in tools for the share links are common to the rest of the projects I meant this :)

  • Currently the mount paths for rest of projects and tools is different, all projects are mounted at /mnt/nfs/labstore-secondary-home and /mnt/nfs/labstore-secondary-project on the clients, and tools is at /mnt/nfs/labstore-secondary-tools-home and /mnt/nfs/labstore-secondary-tools-project. As a first step, we dual mount the tools share at the common mount path. (https://phabricator.wikimedia.org/P5241$98)

Seems reasonable here. A few things we have been bitten by in the past are: absents/presents not scoped to projects when we mean them to be and puppet declarative madness when changing from mounts that use the same paths (shouldn't be a problem anymore). For Symlink /data/project and /home to the new mount paths it gets chaotic on pooled exec nodes so I would vote if possible to do a depool/puppet/repool process. i.e. swapping out the underlying mountpath for running processes is hard to predict

bd808 removed madhuvishy as the assignee of this task.Apr 26 2018, 7:58 PM
bd808 added a subscriber: madhuvishy.