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