Dzahn has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/312523 )

Change subject: contint: move from /mnt to /srv
......................................................................


contint: move from /mnt to /srv

role::labs::lvm::mnt mount the instance extended disk space to /mnt. It
is marked as deprecated and best practice is to use /srv.

Change all mounts to use /srv instead.

Already applied on the CI and beta instances.  The puppet-compiler is
done via a follow up change.

Bug: T146381
Change-Id: I4e9f1954396a1dc6f3f6eaa6c727f787da4b76be
---
M modules/contint/manifests/package_builder.pp
M modules/role/manifests/ci/castor/server.pp
M modules/role/manifests/ci/slave/browsertests.pp
M modules/role/manifests/ci/slave/labs.pp
M modules/role/manifests/ci/slave/labs/common.pp
5 files changed, 63 insertions(+), 64 deletions(-)

Approvals:
  jenkins-bot: Verified
  Dzahn: Looks good to me, approved



diff --git a/modules/contint/manifests/package_builder.pp 
b/modules/contint/manifests/package_builder.pp
index 2b5c3aa..25136fd 100644
--- a/modules/contint/manifests/package_builder.pp
+++ b/modules/contint/manifests/package_builder.pp
@@ -8,28 +8,28 @@
     # Package generated via the mirror operations/debs/jenkins-debian-glue.git
 
     # jenkins-debian glue puppetization:
-    file { '/mnt/pbuilder':
+    file { '/srv/pbuilder':
         ensure  => directory,
         # On extended disk provided by ci::slave::labs::common
-        require => Mount['/mnt'],
+        require => Mount['/srv'],
     }
 
     file { '/var/cache/pbuilder':
         ensure  => link,
-        target  => '/mnt/pbuilder',
-        require => File['/mnt/pbuilder'],
+        target  => '/srv/pbuilder',
+        require => File['/srv/pbuilder'],
     }
 
     class { '::package_builder':
-        # We need /var/cache/pbuilder to be a symlink to /mnt
+        # We need /var/cache/pbuilder to be a symlink to /srv
         # before cowbuilder/pbuilder is installed
         require  => [
             File['/var/cache/pbuilder'],
-            File['/mnt/pbuilder'],
+            File['/srv/pbuilder'],
         ],
         # Cowdancer is confused by /var/cache/pbuilder being a symlink
         # causing it to fail to properly --update cow images. T125999
-        basepath => '/mnt/pbuilder',
+        basepath => '/srv/pbuilder',
     }
 
     package { [
diff --git a/modules/role/manifests/ci/castor/server.pp 
b/modules/role/manifests/ci/castor/server.pp
index fb3b9c8..8cab106 100644
--- a/modules/role/manifests/ci/castor/server.pp
+++ b/modules/role/manifests/ci/castor/server.pp
@@ -6,7 +6,8 @@
 class role::ci::castor::server {
     requires_realm( 'labs' )
 
-    include role::labs::lvm::mnt
+    require role::ci::slave::labs::common
+
     class { 'rsync::server':
         # Disable DNS lookup since wmflabs fails to set some for contintcloud
         # and that is annoying in logs. That is solely needed for host
@@ -16,22 +17,21 @@
         }
     }
 
-    file { '/mnt/jenkins-workspace/caches':
+    file { '/srv/jenkins-workspace/caches':
         ensure  => directory,
         owner   => 'jenkins-deploy',
         group   => 'wikidev',
         mode    => '0775',
-        require => Class['role::labs::lvm::mnt'],
+        require => Mount['/srv'],
     }
 
     rsync::server::module { 'caches':
-        path      => '/mnt/jenkins-workspace/caches',
+        path      => '/srv/jenkins-workspace/caches',
         read_only => 'yes',
         uid       => 'jenkins-deploy',
         gid       => 'wikidev',
         require   => [
-            File['/mnt/jenkins-workspace/caches'],
-            Class['role::labs::lvm::mnt'],
+            File['/srv/jenkins-workspace/caches'],
         ],
     }
 }
diff --git a/modules/role/manifests/ci/slave/browsertests.pp 
b/modules/role/manifests/ci/slave/browsertests.pp
index c28457e..f26b36a 100644
--- a/modules/role/manifests/ci/slave/browsertests.pp
+++ b/modules/role/manifests/ci/slave/browsertests.pp
@@ -13,37 +13,18 @@
     include contint::browsertests
 
     # For CirrusSearch testing:
-    file { '/mnt/elasticsearch':
-        ensure => absent,
-    }
-    file { '/var/lib/elasticsearch':
-        ensure  => absent,
-    }
-
-    # For CirrusSearch testing:
     $redis_port = 6379
 
     redis::instance { $redis_port:
         settings => {
             bind                      => '0.0.0.0',
             appendonly                => true,
-            dir                       => '/mnt/redis',
+            dir                       => '/srv/redis',
             maxmemory                 => '128Mb',
             requirepass               => 'notsecure',
             auto_aof_rewrite_min_size => '32mb',
         },
     }
+    Mount['/srv'] -> File['/srv/redis'] -> 
Service["redis-instance-tcp_${redis_port}"]
 
-    file { '/mnt/redis':
-        ensure  => directory,
-        mode    => '0775',
-        owner   => 'redis',
-        group   => 'redis',
-        before  => Service["redis-instance-tcp_${redis_port}"],
-        require => [
-            Mount['/mnt'],
-            Package['redis-server'],
-        ],
-    }
 }
-
diff --git a/modules/role/manifests/ci/slave/labs.pp 
b/modules/role/manifests/ci/slave/labs.pp
index 4697817..d218f05 100644
--- a/modules/role/manifests/ci/slave/labs.pp
+++ b/modules/role/manifests/ci/slave/labs.pp
@@ -16,11 +16,12 @@
 
     include ::contint::package_builder
 
-    contint::tmpfs { 'tmpfs for jenkins CI labs slave':
+    # And a second mounted on /srv
+    contint::tmpfs { 'tmpfs for jenkins CI labs slave on /srv':
         # Jobs expect the tmpfs to be in $HOME/tmpfs
-        mount_point => '/mnt/home/jenkins-deploy/tmpfs',
+        mount_point => '/srv/home/jenkins-deploy/tmpfs',
         size        => '256M',
-        require     => File['/mnt/home/jenkins-deploy'],
+        require     => File['/srv/home/jenkins-deploy'],
     }
 
     include contint::composer
@@ -41,7 +42,7 @@
 
     class { 'role::ci::slave::browsertests':
         require => [
-            Class['role::ci::slave::labs::common'], # /mnt
+            Class['role::ci::slave::labs::common'], # /srv
             Class['contint::packages::labs'], # realize common packages first
         ]
     }
diff --git a/modules/role/manifests/ci/slave/labs/common.pp 
b/modules/role/manifests/ci/slave/labs/common.pp
index f128047..f88f696 100644
--- a/modules/role/manifests/ci/slave/labs/common.pp
+++ b/modules/role/manifests/ci/slave/labs/common.pp
@@ -8,51 +8,68 @@
     include contint::packages::base
 
     # Need the labs instance extended disk space
-    require role::labs::lvm::mnt
+    require role::labs::lvm::srv
 
-    # Home dir for Jenkins agent
-    #
-    # /var/lib and /home are too small to hold Jenkins workspaces
-    file { '/mnt/jenkins-workspace':
+    # New file layout based on /srv
+
+    # base directory
+    file { '/srv/jenkins':
+        ensure  => directory,
+        owner   => 'jenkins-deploy',
+        group   => 'wikidev',
+        mode    => '0775',
+        require => Mount['/srv'],
+    }
+
+    file { '/srv/jenkins/cache':
+        ensure  => directory,
+        owner   => 'jenkins-deploy',
+        group   => 'wikidev',
+        mode    => '0775',
+        require => File['/srv/jenkins'],
+    }
+
+    file { '/srv/jenkins/workspace':
+        ensure  => directory,
+        owner   => 'jenkins-deploy',
+        group   => 'wikidev',
+        mode    => '0775',
+        require => File['/srv/jenkins'],
+    }
+
+    # Legacy from /mnt era
+    file { '/srv/jenkins-workspace':
         ensure  => directory,
         owner   => 'jenkins-deploy',
         group   => 'wikidev',  # useless, but we need a group
         mode    => '0775',
-        require => Mount['/mnt'],
+        require => Mount['/srv'],
     }
 
-    # Create a homedir for `jenkins-deploy` so we get plenty of disk space.
-    # The user is only LDAP and is not created by puppet
-    # T63144
-    file { '/mnt/home':
+    file { '/srv/home':
         ensure  => directory,
         owner   => 'root',
         group   => 'root',
         mode    => '0755',
-        require => Mount['/mnt'],
+        require => Mount['/srv'],
     }
-
-    file { '/mnt/home/jenkins-deploy':
-        ensure => directory,
-        owner  => 'jenkins-deploy',
-        group  => 'wikidev',
-        mode   => '0775',
-    }
-
-    # drop settings file with old proxy settings
-    file { '/mnt/home/jenkins-deploy/.m2/settings.xml':
-        ensure => absent
+    file { '/srv/home/jenkins-deploy':
+        ensure  => directory,
+        owner   => 'jenkins-deploy',
+        group   => 'wikidev',
+        mode    => '0775',
+        require => File['/srv/home'],
     }
 
     git::userconfig { '.gitconfig for jenkins-deploy user':
-        homedir  => '/mnt/home/jenkins-deploy',
+        homedir  => '/srv/home/jenkins-deploy',
         settings => {
             'user' => {
                 'name'  => 'Wikimedia Jenkins Deploy',
                 'email' => "jenkins-deploy@${::fqdn}",
-            },  # end of [user] section
-        },  # end of settings
-        require  => File['/mnt/home/jenkins-deploy'],
+            },
+        },
+        require  => File['/srv/home/jenkins-deploy'],
     }
 
     # The slaves on labs use the `jenkins-deploy` user which is already

-- 
To view, visit https://gerrit.wikimedia.org/r/312523
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I4e9f1954396a1dc6f3f6eaa6c727f787da4b76be
Gerrit-PatchSet: 11
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Hashar <[email protected]>
Gerrit-Reviewer: BryanDavis <[email protected]>
Gerrit-Reviewer: Dzahn <[email protected]>
Gerrit-Reviewer: Hashar <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to