Work around munin bug caused by names that start with a number dev prod 0.0.13
authorQuentin Smith <quentin@mit.edu>
Wed, 10 Aug 2011 13:52:17 +0000 (09:52 -0400)
committerQuentin Smith <quentin@mit.edu>
Wed, 10 Aug 2011 13:52:17 +0000 (09:52 -0400)
debian/changelog
host/usr/share/xvm-munin-host-config/plugins/xen_cpu

index 4ac7abf..e384f3a 100644 (file)
@@ -1,3 +1,11 @@
+xvm-munin-config (0.0.13) unstable; urgency=low
+
+  * Ensure that UUIDs begin with a letter and not a number, to work around
+    a Munin bug that breaks CDEFs for fields whose name begin with a
+    number.
+
+ -- Quentin Smith <quentin@mit.edu>  Wed, 10 Aug 2011 09:51:53 -0400
+
 xvm-munin-config (0.0.12) unstable; urgency=low
 
   * Use the .. perl operator to simplify the prerms.
 xvm-munin-config (0.0.12) unstable; urgency=low
 
   * Use the .. perl operator to simplify the prerms.
index 2efffe4..06850cf 100755 (executable)
@@ -37,12 +37,12 @@ def getDomains():
         domains = server.xenapi.VM.get_all_records()
         metrics = server.xenapi.VM_metrics.get_all_records()
         for d in domains.values():
         domains = server.xenapi.VM.get_all_records()
         metrics = server.xenapi.VM_metrics.get_all_records()
         for d in domains.values():
-            ret[d['uuid'].replace('-', '_')] = {'name': d['name_label'],
-                                                'cpu_time': sum(metrics[d['metrics']]['VCPUs_utilisation'].values()),
-                                                'domid': d['domid'],
-                                                'uuid': d['uuid'],
-                                                # No equivalent
-                                                }
+            ret['uuid_'+d['uuid'].replace('-', '_')] = {'name': d['name_label'],
+                                                        'cpu_time': sum(metrics[d['metrics']]['VCPUs_utilisation'].values()),
+                                                        'domid': d['domid'],
+                                                        'uuid': d['uuid'],
+                                                        # No equivalent
+                                                        }
         return ret
     else:
         domains = server.xend.domains_with_state(True, 'all', True)
         return ret
     else:
         domains = server.xend.domains_with_state(True, 'all', True)
@@ -57,7 +57,7 @@ def getDomains():
                 data['sched-credit'] = sched
             except:
                 data['sched-credit'] = None
                 data['sched-credit'] = sched
             except:
                 data['sched-credit'] = None
-            ret[sxp.child_value(d, 'uuid', 'NONE').replace('-', '_')] = data
+            ret['uuid_'+sxp.child_value(d, 'uuid', 'NONE').replace('-', '_')] = data
         return ret
 
 if cmd == 'config':
         return ret
 
 if cmd == 'config':