Page MenuHomePhabricator
Paste P5244

Undo special tools-home and tools-project share definitions for NFS - step 4
ActivePublic

Authored by madhuvishy on Apr 11 2017, 2:59 PM.
# 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.
# nfs-mounts.yaml
tools:
gid: 50380
mounts:
dumps: true
scratch: true
tools-home: true
tools-project: true
# becomes
tools:
gid: 50380
mounts:
dumps: true
scratch: true
home: true
project: true
# nfsclient.pp can now be
class role::labs::nfsclient(
$mode = 'hard',
$lookupcache = 'all',
) {
labstore::nfs_mount { 'project-on-labstore-secondary':
mount_name => 'project',
project => $::labsproject,
options => ['rw', $mode],
mount_path => '/mnt/nfs/labstore-secondary-project',
share_path => "/project/${::labsproject}/project",
server => 'nfs-tools-project.svc.eqiad.wmnet',
block => true,
lookupcache => $lookupcache,
}
labstore::nfs_mount { 'home-on-labstore-secondary':
mount_name => 'home',
project => $::labsproject,
options => ['rw', 'hard'],
mount_path => '/mnt/nfs/labstore-secondary-home',
share_path => "/project/${::labsproject}/home",
server => 'nfs-tools-project.svc.eqiad.wmnet',
block => true,
lookupcache => $lookupcache,
}
if mount_nfs_volume($::labsproject, 'project') {
file { '/data/project':
ensure => 'link',
force => true,
target => '/mnt/nfs/labstore-secondary-project',
require => Labstore::Nfs_mount['project-on-labstore-secondary'],
}
}
if mount_nfs_volume($::labsproject, 'home') {
file { '/home':
ensure => 'link',
force => true,
target => '/mnt/nfs/labstore-secondary-home',
require => Labstore::Nfs_mount['home-on-labstore-secondary'],
}
}
if $::labsproject == 'maps' {
labstore::nfs_mount { 'maps-on-labstore1003':
mount_name => 'maps',
project => $::labsproject,
options => ['rw', 'hard'],
mount_path => '/mnt/nfs/labstore1003-maps',
server => 'labstore1003.eqiad.wmnet',
share_path => '/maps',
lookupcache => $lookupcache,
}
if mount_nfs_volume($::labsproject, 'maps') {
file { '/data/project':
ensure => 'link',
force => true,
target => '/mnt/nfs/labstore1003-maps/project',
require => Labstore::Nfs_mount['maps-on-labstore1003'],
}
file { '/home':
ensure => 'link',
force => true,
target => '/mnt/nfs/labstore1003-maps/home',
require => Labstore::Nfs_mount['maps-on-labstore1003'],
}
}
}
labstore::nfs_mount { 'scratch-on-labstore1003':
mount_name => 'scratch',
project => $::labsproject,
options => ['rw', 'soft', 'timeo=300', 'retrans=3', 'nosuid', 'noexec', 'nodev'],
mount_path => '/mnt/nfs/labstore1003-scratch',
server => 'labstore1003.eqiad.wmnet',
share_path => '/scratch',
lookupcache => $lookupcache,
}
labstore::nfs_mount { 'dumps-on-labstore1003':
mount_name => 'dumps',
project => $::labsproject,
options => ['ro', 'soft', 'timeo=300', 'retrans=3'],
mount_path => '/public/dumps',
share_path => '/dumps',
server => 'labstore1003.eqiad.wmnet',
lookupcache => $lookupcache,
}
if mount_nfs_volume($::labsproject, 'scratch') {
file { '/data/scratch':
ensure => 'link',
target => '/mnt/nfs/labstore1003-scratch',
require => Labstore::Nfs_mount['scratch-on-labstore1003'],
}
}
}