Madhuvishy has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/337785 )
Change subject: labstore: Read directory size diamond collector config from
external file
......................................................................
labstore: Read directory size diamond collector config from external file
Change-Id: I599df0119bab8732a76e20d655139e2714568106
---
A modules/labstore/files/monitor/DirectorySizeCollector.conf
M modules/labstore/files/monitor/dir_size_tracker.py
M modules/role/manifests/labs/nfs/secondary.pp
3 files changed, 39 insertions(+), 44 deletions(-)
Approvals:
Madhuvishy: Verified; Looks good to me, approved
diff --git a/modules/labstore/files/monitor/DirectorySizeCollector.conf
b/modules/labstore/files/monitor/DirectorySizeCollector.conf
new file mode 100644
index 0000000..8d34e77
--- /dev/null
+++ b/modules/labstore/files/monitor/DirectorySizeCollector.conf
@@ -0,0 +1,32 @@
+# DirectorySize Diamond Collector configuration
+# This file is managed by Puppet.
+
+enabled = true
+hostname = labstore-secondary
+interval = 86400
+path_prefix = labstore
+
+[dir_size_collector_config]
+ [[misc_home]]
+ base_glob_pattern = /exp/project/*/home
+ base_glob_exclude = /tools/
+ build_prefix_from_dir_path = True
+ build_prefix_depth = 2
+ custom_prefix = misc
+
+ [[misc_project]]
+ base_glob_pattern = /exp/project/*/project
+ base_glob_exclude = /tools/
+ build_prefix_from_dir_path = True
+ build_prefix_depth = 2
+ custom_prefix = misc
+
+ [[tools_home]]
+ base_glob_pattern = exp/project/tools/home/*
+ build_prefix_from_dir_path = True
+ build_prefix_depth = 2
+
+ [[tools_project]]
+ base_glob_pattern = exp/project/tools/project/*
+ build_prefix_from_dir_path = True
+ build_prefix_depth = 2
diff --git a/modules/labstore/files/monitor/dir_size_tracker.py
b/modules/labstore/files/monitor/dir_size_tracker.py
index 0291c2f..4a9b6b6 100644
--- a/modules/labstore/files/monitor/dir_size_tracker.py
+++ b/modules/labstore/files/monitor/dir_size_tracker.py
@@ -17,7 +17,8 @@
config_help.update({
'dir_size_collector_config':
'''
- List of dicts with optional keys:
+ Nested dict with format {<name>: <dict_of_keys>}, where
dict_of_keys
+ is a dict with one or more of the following optional keys:
base_glob_pattern: Glob pattern to match directories to track
size for
e.g. /srv/misc/shared/*/home
@@ -39,13 +40,7 @@
"""
config = super(DirectorySizeCollector, self).get_default_config()
config.update({
- 'dir_size_collector_config': [
- {'base_glob_pattern': '',
- 'base_glob_exclude': '',
- 'build_prefix_from_dir_path': False,
- 'build_prefix_depth': None,
- 'custom_prefix': ''}
- ]
+ 'dir_size_collector_config': {}
})
return config
@@ -98,7 +93,7 @@
"""
Publish directory sizes in kilobytes
"""
- for config in self.config['dir_size_collector_config']:
+ for config in self.config['dir_size_collector_config'].values():
glob_pattern = config.get('base_glob_pattern', '')
glob_exclude = config.get('base_glob_exclude', '')
for directory in self.directories(glob_pattern, glob_exclude):
diff --git a/modules/role/manifests/labs/nfs/secondary.pp
b/modules/role/manifests/labs/nfs/secondary.pp
index 794d022..fa5ee53 100644
--- a/modules/role/manifests/labs/nfs/secondary.pp
+++ b/modules/role/manifests/labs/nfs/secondary.pp
@@ -112,42 +112,10 @@
privileges => ['ALL = NOPASSWD: /usr/bin/timeout 10m /usr/bin/nice
-n 19 /usr/bin/ionice -c 3 /usr/bin/du -k -s'],
}
- $dir_size_collector_config = [
- {
- base_glob_pattern => '/exp/project/*/home',
- base_glob_exclude => '/tools/',
- build_prefix_from_dir_path => True,
- build_prefix_depth => 2,
- custom_prefix => 'misc',
- },
- {
- base_glob_pattern => '/exp/project/*/project',
- base_glob_exclude => '/tools/',
- build_prefix_from_dir_path => True,
- build_prefix_depth => 2,
- custom_prefix => 'misc',
- },
- {
- base_glob_pattern => '/exp/project/tools/home/*',
- build_prefix_from_dir_path => True,
- build_prefix_depth => 2,
- },
- {
- base_glob_pattern => '/exp/project/tools/project/*',
- build_prefix_from_dir_path => True,
- build_prefix_depth => 2,
- },
- ]
-
diamond::collector { 'DirectorySize':
- source =>
'puppet:///modules/labstore/monitor/dir_size_tracker.py',
- settings => {
- interval => 86400,
- hostname => 'labstore-secondary',
- path_prefix => 'labstore',
- dir_size_collector_config => $dir_size_collector_config,
- },
- require => Sudo::User['diamond_dir_size_tracker'],
+ source =>
'puppet:///modules/labstore/monitor/dir_size_tracker.py',
+ config_file =>
'puppet:///modules/labstore/monitor/DirectorySizeCollector.conf',
+ require => Sudo::User['diamond_dir_size_tracker'],
}
}
}
--
To view, visit https://gerrit.wikimedia.org/r/337785
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I599df0119bab8732a76e20d655139e2714568106
Gerrit-PatchSet: 3
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Madhuvishy <[email protected]>
Gerrit-Reviewer: Madhuvishy <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits