Merge "Add volumev3 endpoint for Cinder"
diff --git a/doc/source/plugin-registry.rst b/doc/source/plugin-registry.rst
index 4e191d3..9c20765 100644
--- a/doc/source/plugin-registry.rst
+++ b/doc/source/plugin-registry.rst
@@ -1,23 +1,26 @@
 ..
-  Note to patch submitters: this file is covered by a periodic proposal
-  job.  You should edit the files data/devstack-plugins-registry.footer
-  data/devstack-plugins-registry.header instead of this one.
+
+  Note to patch submitters:
+
+  # ============================= #
+  # THIS FILE IS AUTOGENERATED !  #
+  # ============================= #
+
+  ** Plugins are found automatically and added to this list **
+
+  This file is created by a periodic proposal job.  You should not
+  edit this file.
+
+  You should edit the files data/devstack-plugins-registry.footer
+  data/devstack-plugins-registry.header to modify this text.
 
 ==========================
  DevStack Plugin Registry
 ==========================
 
-Since we've created the external plugin mechanism, it's gotten used by
-a lot of projects. The following is a list of plugins that currently
-exist. Any project that wishes to list their plugin here is welcomed
-to.
-
-Detected Plugins
-================
-
-The following are plugins that a script has found in the openstack/
-namespace, which includes but is not limited to official OpenStack
-projects.
+The following list is an automatically-generated collection of
+available DevStack plugins.  This includes, but is not limited to,
+official OpenStack projects.
 
 
 ====================================== ===
diff --git a/tools/worlddump.py b/tools/worlddump.py
index 8c053e0..238a23d 100755
--- a/tools/worlddump.py
+++ b/tools/worlddump.py
@@ -27,6 +27,16 @@
 import sys
 
 
+GMR_PROCESSES = (
+    'nova-compute',
+    'neutron-dhcp-agent',
+    'neutron-l3-agent',
+    'neutron-linuxbridge-agent',
+    'neutron-metadata-agent',
+    'neutron-openvswitch-agent',
+)
+
+
 def get_options():
     parser = argparse.ArgumentParser(
         description='Dump world state for debugging')
@@ -191,17 +201,18 @@
             _dump_cmd("sudo cat %s" % fullpath)
 
 
-def guru_meditation_report():
-    _header("nova-compute Guru Meditation Report")
+def guru_meditation_reports():
+    for service in GMR_PROCESSES:
+        _header("%s Guru Meditation Report" % service)
 
-    try:
-        subprocess.check_call(["pgrep","nova-compute"])
-    except subprocess.CalledProcessError:
-        print("Skipping as nova-compute does not appear to be running")
-        return
+        try:
+            subprocess.check_call(['pgrep', '-f', service])
+        except subprocess.CalledProcessError:
+            print("Skipping as %s does not appear to be running" % service)
+            continue
 
-    _dump_cmd("kill -s USR2 `pgrep nova-compute`")
-    print("guru meditation report in nova-compute log")
+        _dump_cmd("killall -e -USR2 %s" % service)
+        print("guru meditation report in %s log" % service)
 
 
 def main():
@@ -218,7 +229,7 @@
         iptables_dump()
         ebtables_dump()
         compute_consoles()
-        guru_meditation_report()
+        guru_meditation_reports()
 
 
 if __name__ == '__main__':