)]}'
{"docs/Plugins.md":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"77cca90c1fbe0792ac1aeeeebb7ef982481594c8","unresolved":false,"context_lines":[{"line_number":1074,"context_line":"| mem.swap_used_mb     | Used swap space in megabytes           |                        |"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"Memory statistics require a balloon driver on the VM.  For the Linux kernel, this is the `CONFIG_VIRTIO_BALLOON` configuration parameter, active by default in Ubuntu, and enabled by default as a kernel module in Debian, CentOS, and SUSE."},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"Since separate metrics are sent to the VM\u0027s owner as well as Operations, all metric names designed for Operations are prefixed with \"vm.\" to easily distinguish between VM metrics and compute host\u0027s metrics."},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"### VM Dimensions"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"1a4dcd0f_40535917","line":1077,"updated":"2015-08-12 13:12:30.000000000","message":"Hopefully, supported in hLinux too.\n\nWhen these statistics are reported for the operator, would they have a \u0027vm.\u0027 prefix on them? Just need to separate the vm metrics from the system/host metrics that are reported.","commit_id":"e576463e1d20bada0f3c9680b22c47448ef5937c"},{"author":{"_account_id":12443,"name":"David Schroeder","email":"openstack@a7n.net","username":"dschroeder"},"change_message_id":"7c2fb63e49715a288c7c6a1c488fa37554f9f3e8","unresolved":false,"context_lines":[{"line_number":1074,"context_line":"| mem.swap_used_mb     | Used swap space in megabytes           |                        |"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"Memory statistics require a balloon driver on the VM.  For the Linux kernel, this is the `CONFIG_VIRTIO_BALLOON` configuration parameter, active by default in Ubuntu, and enabled by default as a kernel module in Debian, CentOS, and SUSE."},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"Since separate metrics are sent to the VM\u0027s owner as well as Operations, all metric names designed for Operations are prefixed with \"vm.\" to easily distinguish between VM metrics and compute host\u0027s metrics."},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"### VM Dimensions"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"1a4dcd0f_2c704407","line":1077,"in_reply_to":"1a4dcd0f_40535917","updated":"2015-08-13 16:22:20.000000000","message":"That\u0027s a yes for hLinux; should that be included in the documentation with the other Linux distros?","commit_id":"e576463e1d20bada0f3c9680b22c47448ef5937c"}],"monasca_agent/collector/checks_d/libvirt.py":[{"author":{"_account_id":11094,"name":"Tim Kuhlman","email":"timothy.kuhlman@canonical.com","username":"kuhlmant"},"change_message_id":"3cb27d2a8c0bc401a61f4880b8cbec1e67cd7261","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                    self.gauge(name, mem_metrics[name],"},{"line_number":304,"context_line":"                               dimensions\u003ddims_operations)"},{"line_number":305,"context_line":"            except KeyError:"},{"line_number":306,"context_line":"                # Balloon driver is not active/available on the guest OS"},{"line_number":307,"context_line":"                pass"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"            # Network activity"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_e07df81c","line":306,"updated":"2015-08-11 15:06:38.000000000","message":"I think this should be a log entry not just a comment. Maybe a log.debug or log.info.","commit_id":"002212bfbf2982c1be27976afc2fbdf3cabe6479"},{"author":{"_account_id":11094,"name":"Tim Kuhlman","email":"timothy.kuhlman@canonical.com","username":"kuhlmant"},"change_message_id":"6cf959445897a30216d390b0bc0916c6cdce51db","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            except KeyError:"},{"line_number":306,"context_line":"                self.log.debug(\"Balloon driver not active/available on guest {0} ({1})\".format(inst_name,"},{"line_number":307,"context_line":"                                                                                               instance_cache.get(inst_name)[\u0027hostname\u0027]))"},{"line_number":308,"context_line":"                pass"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"            # Network activity"},{"line_number":311,"context_line":"            for vnic in insp.inspect_vnics(inst):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_eaa4f2a6","line":308,"updated":"2015-08-11 15:49:33.000000000","message":"pass isn\u0027t needed now","commit_id":"a1a4b7413dba68307db75c4058924391fcd27233"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"77cca90c1fbe0792ac1aeeeebb7ef982481594c8","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                    self.gauge(name, mem_metrics[name],"},{"line_number":304,"context_line":"                               dimensions\u003ddims_operations)"},{"line_number":305,"context_line":"            except KeyError:"},{"line_number":306,"context_line":"                self.log.debug(\"Balloon driver not active/available on guest {0} ({1})\".format(inst_name,"},{"line_number":307,"context_line":"                                                                                               instance_cache.get(inst_name)[\u0027hostname\u0027]))"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"            # Network activity"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_00847108","line":306,"updated":"2015-08-12 13:12:30.000000000","message":"Should this be reported as a warn or error message?","commit_id":"e576463e1d20bada0f3c9680b22c47448ef5937c"},{"author":{"_account_id":12443,"name":"David Schroeder","email":"openstack@a7n.net","username":"dschroeder"},"change_message_id":"7c2fb63e49715a288c7c6a1c488fa37554f9f3e8","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                    self.gauge(name, mem_metrics[name],"},{"line_number":304,"context_line":"                               dimensions\u003ddims_operations)"},{"line_number":305,"context_line":"            except KeyError:"},{"line_number":306,"context_line":"                self.log.debug(\"Balloon driver not active/available on guest {0} ({1})\".format(inst_name,"},{"line_number":307,"context_line":"                                                                                               instance_cache.get(inst_name)[\u0027hostname\u0027]))"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"            # Network activity"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_eccb3c1c","line":306,"in_reply_to":"1a4dcd0f_00847108","updated":"2015-08-13 16:22:20.000000000","message":"I was worried that would be too chatty on the default logging level, one entry per VM per Collector iteration.","commit_id":"e576463e1d20bada0f3c9680b22c47448ef5937c"}],"monasca_setup/detection/plugins/libvirt.py":[{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"7de60f8cc20a4d34f3972abb3ab1063007380cdc","unresolved":false,"context_lines":[{"line_number":24,"context_line":"ping_options \u003d [[\"/usr/bin/fping\", \"-n\", \"-c1\", \"-t250\", \"-q\"],"},{"line_number":25,"context_line":"                [\"/sbin/fping\", \"-n\", \"-c1\", \"-t250\", \"-q\"],"},{"line_number":26,"context_line":"                [\"/bin/ping\", \"-n\", \"-c1\", \"-w1\", \"-q\"]]"},{"line_number":27,"context_line":"agent_user \u003d \u0027monasca-agent\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class Libvirt(monasca_setup.detection.Plugin):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_6bd58419","side":"PARENT","line":27,"updated":"2015-08-15 02:30:56.000000000","message":"Shouldn\u0027t we be pulling this from the agent config file?  This is detection which TWC doesn\u0027t use -- but I do know we use monasca-agent as our user, not mon-agent...","commit_id":"182683df68af60ad623b57223c07f3436071da73"},{"author":{"_account_id":12443,"name":"David Schroeder","email":"openstack@a7n.net","username":"dschroeder"},"change_message_id":"1d03af1a08bc6590ab419c9d5d35229e0192a34a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"ping_options \u003d [[\"/usr/bin/fping\", \"-n\", \"-c1\", \"-t250\", \"-q\"],"},{"line_number":25,"context_line":"                [\"/sbin/fping\", \"-n\", \"-c1\", \"-t250\", \"-q\"],"},{"line_number":26,"context_line":"                [\"/bin/ping\", \"-n\", \"-c1\", \"-w1\", \"-q\"]]"},{"line_number":27,"context_line":"agent_user \u003d \u0027monasca-agent\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class Libvirt(monasca_setup.detection.Plugin):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_bb1853d4","side":"PARENT","line":27,"in_reply_to":"1a4dcd0f_6bd58419","updated":"2015-08-20 18:00:07.000000000","message":"The problem is, this is the OS username under which monasca-agent runs, and is not stored in the configuration file.  The most reliable place I can think of to get this information would be the group owner of the Agent config file.  I\u0027ll submit a new patch set to use this detection method instead.","commit_id":"182683df68af60ad623b57223c07f3436071da73"},{"author":{"_account_id":11094,"name":"Tim Kuhlman","email":"timothy.kuhlman@canonical.com","username":"kuhlmant"},"change_message_id":"4091e3d2998edbc863bb1e40d1b266d849298e60","unresolved":false,"context_lines":[{"line_number":23,"context_line":"# The plugin will use the first fuctional command. 127.0.0.1 will be appended."},{"line_number":24,"context_line":"ping_options \u003d [[\"/usr/bin/fping\", \"-n\", \"-c1\", \"-t250\", \"-q\"],"},{"line_number":25,"context_line":"                [\"/sbin/fping\", \"-n\", \"-c1\", \"-t250\", \"-q\"],"},{"line_number":26,"context_line":"                [\"/bin/ping\", \"-n\", \"-c1\", \"-w1\", \"-q\"]]"},{"line_number":27,"context_line":"# Try to detect Agent\u0027s OS username by getting the group owner of confg file"},{"line_number":28,"context_line":"try:"},{"line_number":29,"context_line":"    gid \u003d os.stat(\u0027/etc/monasca/agent/agent.yaml\u0027).st_gid"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_526c7134","line":26,"updated":"2015-08-20 19:12:12.000000000","message":"This new section should be in an __init__ method for the class rather than just in the module. I believe this code in the module will run even if the class itself doesn\u0027t as during the plugin detection phase each file is loaded.","commit_id":"dda39175aa47a8badcd837a52b01e59d799c447f"},{"author":{"_account_id":12443,"name":"David Schroeder","email":"openstack@a7n.net","username":"dschroeder"},"change_message_id":"1fa335d86eea374128d17f1ab937afd035a6f6a7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"# The plugin will use the first fuctional command. 127.0.0.1 will be appended."},{"line_number":24,"context_line":"ping_options \u003d [[\"/usr/bin/fping\", \"-n\", \"-c1\", \"-t250\", \"-q\"],"},{"line_number":25,"context_line":"                [\"/sbin/fping\", \"-n\", \"-c1\", \"-t250\", \"-q\"],"},{"line_number":26,"context_line":"                [\"/bin/ping\", \"-n\", \"-c1\", \"-w1\", \"-q\"]]"},{"line_number":27,"context_line":"# Try to detect Agent\u0027s OS username by getting the group owner of confg file"},{"line_number":28,"context_line":"try:"},{"line_number":29,"context_line":"    gid \u003d os.stat(\u0027/etc/monasca/agent/agent.yaml\u0027).st_gid"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_0390e993","line":26,"in_reply_to":"fa1b9901_526c7134","updated":"2015-08-20 20:11:42.000000000","message":"I moved user/conf detection to _detect, and removed the part where no config is generated if the agent username cannot be determined.  The agent user only affects the ping component, and the rest of the plugin would work otherwise.  New patch to be committed shortly.","commit_id":"dda39175aa47a8badcd837a52b01e59d799c447f"},{"author":{"_account_id":11094,"name":"Tim Kuhlman","email":"timothy.kuhlman@canonical.com","username":"kuhlmant"},"change_message_id":"468f99bf1463b5afae9f756dcd8989aa54b832f0","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        # Walk through the list of processes, searching for \u0027nova-compute\u0027"},{"line_number":43,"context_line":"        # process with \u0027nova.conf\u0027 inside one of the parameters"},{"line_number":44,"context_line":"        nova_conf \u003d None"},{"line_number":45,"context_line":"        pids \u003d [pid for pid in os.listdir(\u0027/proc\u0027) if pid.isdigit()]"},{"line_number":46,"context_line":"        for pid in pids:"},{"line_number":47,"context_line":"            try:"},{"line_number":48,"context_line":"                cmdline \u003d open(os.path.join(\u0027/proc\u0027, pid, \u0027cmdline\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_a3001d67","line":45,"updated":"2015-08-20 20:22:09.000000000","message":"Why not use psutil for finding the nova command?","commit_id":"8f906251eb1fe3f19c89f650fdc1845e485a5d52"}]}
