coren has uploaded a new change for review.
https://gerrit.wikimedia.org/r/61578
Change subject: Transition class for switch to Labs NFS
......................................................................
Transition class for switch to Labs NFS
This overrides LDAP autofs setup to transition to NFS storage
for a project; most of this will end up in LDAP from OpenStack
in the future.
Change-Id: Id838b76e21d8fab11462d99f892b86c1aeb9f6d4
---
A files/labsnfs/nfs-noidmap.conf
A manifests/role/labsnfs.pp
A templates/labsnfs/auto.master.erb
A templates/labsnfs/auto.space.erb
A templates/labsnfs/auto.time.home.erb
A templates/labsnfs/auto.time.project.erb
6 files changed, 70 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/78/61578/1
diff --git a/files/labsnfs/nfs-noidmap.conf b/files/labsnfs/nfs-noidmap.conf
new file mode 100644
index 0000000..102a139
--- /dev/null
+++ b/files/labsnfs/nfs-noidmap.conf
@@ -0,0 +1,12 @@
+# nfs-noidmap - disable idmap for cross-project NFS
+#
+# This task disables the kernel's automatic idmap for NFSv4
+# to allow conflicting group names accross projects
+
+description "disable idmap for cross-project NFS"
+
+start on starting autofs
+
+task
+
+exec echo 1 >/sys/module/nfs/parameters/nfs4_disable_idmapping
diff --git a/manifests/role/labsnfs.pp b/manifests/role/labsnfs.pp
new file mode 100644
index 0000000..edfad17
--- /dev/null
+++ b/manifests/role/labsnfs.pp
@@ -0,0 +1,45 @@
+# This is a transition role - Eventually this will end up
+# in LDAP once transition is over.
+
+class role::labsnfs::client {
+ $nfscluster = "labnfs.pmtpa.wmnet"
+
+ exec { "/sbin/initctl start nfs-noidmap":
+ refreshonly => true
+ }
+
+ file {
+ "/etc/auto.master":
+ ensure => file,
+ owner => root,
+ group => root,
+ mode => 0444,
+ content => template("labsnfs/auto.master.erb");
+ "/etc/auto.space":
+ ensure => file,
+ owner => root,
+ group => root,
+ mode => 0444,
+ content => template("labsnfs/auto.space.erb");
+ "/etc/auto.time.home":
+ ensure => file,
+ owner => root,
+ group => root,
+ mode => 0444,
+ content => template("labsnfs/auto.time.home.erb");
+ "/etc/auto.time.project":
+ ensure => file,
+ owner => root,
+ group => root,
+ mode => 0444,
+ content => template("labsnfs/auto.time.project.erb");
+ "/etc/init/nfs-noidmap.conf":
+ ensure => file,
+ owner => root,
+ group => root,
+ mode => 0444,
+ notify => Exec["/sbin/initctl start nfs-noidmap"],
+ source => "puppet:///files/labsnfs/nfs-noidmap.conf";
+ }
+}
+
diff --git a/templates/labsnfs/auto.master.erb
b/templates/labsnfs/auto.master.erb
new file mode 100644
index 0000000..ee24175
--- /dev/null
+++ b/templates/labsnfs/auto.master.erb
@@ -0,0 +1,5 @@
+#
+# Managed by PUPPET (role::labs-nfs-client)
+#
+/- file:/etc/auto.space
port=0,nfsvers=4,ro,hard,rsize=65536,wsize=65536,sec=sys
+#+auto.master
diff --git a/templates/labsnfs/auto.space.erb b/templates/labsnfs/auto.space.erb
new file mode 100644
index 0000000..331043e
--- /dev/null
+++ b/templates/labsnfs/auto.space.erb
@@ -0,0 +1,6 @@
+/home / -rw <%= nfscluster %>:/<%= instanceproject %>/home \
+ /.snapshot -fstype=autofs,ghost file:/etc/auto.time.home
+/data /project -rw <%= nfscluster %>:/<%= instanceproject %>/project \
+ /project/.snapshot -fstype=autofs,ghost file:/etc/auto.time.project
+/public /keys -nfsvers=3,ro,ghost labstore1.pmtpa.wmnet:/keys \
+ /datasets -nfsvers=3,ro,ghost labstore1.pmtpa.wmnet:/publicdata-project
diff --git a/templates/labsnfs/auto.time.home.erb
b/templates/labsnfs/auto.time.home.erb
new file mode 100644
index 0000000..50e3ae1
--- /dev/null
+++ b/templates/labsnfs/auto.time.home.erb
@@ -0,0 +1 @@
+* -fstype=nfs4,ghost <%= nfscluster %>:/<%= instanceproject
%>/.snapshot/&/home
diff --git a/templates/labsnfs/auto.time.project.erb
b/templates/labsnfs/auto.time.project.erb
new file mode 100644
index 0000000..74d9c79
--- /dev/null
+++ b/templates/labsnfs/auto.time.project.erb
@@ -0,0 +1 @@
+* -fstype=nfs4,ro,ghost <%= nfscluster %>:/<%= instanceproject
%>/.snapshot/&/project
--
To view, visit https://gerrit.wikimedia.org/r/61578
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id838b76e21d8fab11462d99f892b86c1aeb9f6d4
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: coren <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits