Filippo Giunchedi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/356810 )

Change subject: swift: make swift-dispersion-stats policy-aware
......................................................................

swift: make swift-dispersion-stats policy-aware

Required for swift 2.10 upgrade, swift-dispersion defaults to Policy-0

Bug: T151648
Change-Id: Idf7cb2a01eb1df8956fda5eb0c5b787084cb7f42
---
M modules/swift/files/swift-dispersion-stats
1 file changed, 12 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/10/356810/1

diff --git a/modules/swift/files/swift-dispersion-stats 
b/modules/swift/files/swift-dispersion-stats
index 2b730a7..b15749e 100755
--- a/modules/swift/files/swift-dispersion-stats
+++ b/modules/swift/files/swift-dispersion-stats
@@ -5,7 +5,6 @@
 
 import argparse
 import json
-import os
 import subprocess
 import sys
 
@@ -24,19 +23,27 @@
                         help='Send metrics to this statsd host as well')
     parser.add_argument('--statsd-port', dest='statsd_port', default='8125',
                         metavar="PORT", type=int, help='Send metrics to this 
statsd port')
+    parser.add_argument('--policy-name', dest='policy_name', default=None, 
metavar="NAME",
+                        help='Use the storage policy NAME')
     args = parser.parse_args()
 
     dispersion_stats = {}
 
     try:
-        output = subprocess.check_output(['swift-dispersion-report', '-j'])
+        report_command = ['swift-dispersion-report', '--dump-json']
+        if args.policy_name:
+            report_command.extend(['--policy-name', args.policy_name])
+        output = subprocess.check_output(report_command)
     except subprocess.CalledProcessError, e:
-        print >>sys.stderr, 'swift-dispersion-report failed %s: %r' % (
-            e.returncode, e.output)
+        print >>sys.stderr, '%r failed %s: %r' % (
+            report_command, e.returncode, e.output)
         return e.returncode
 
     try:
-        json_stats = json.loads(output)
+        json_data = output
+        if 'Using storage policy:' in output:
+            _, json_data = output.splitlines()
+        json_stats = json.loads(json_data)
     except ValueError, e:
         print >>sys.stderr, 'failed to load json from %r' % output
         return 1

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idf7cb2a01eb1df8956fda5eb0c5b787084cb7f42
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Filippo Giunchedi <fgiunch...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to