)]}'
{"conf.d/hypervisor.yaml.example":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"05050537a4c8d167c9150b5fd02e0767e5574829","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"init_config:"},{"line_number":5,"context_line":"    # the hyperivisor type of the hypervisor checker."},{"line_number":6,"context_line":"    # acceptable values: libvirt"},{"line_number":7,"context_line":"    hypervisor_type: libvirt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    # These are Nova credentials, [keystone_authtoken] in /etc/nova/nova.conf"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7aa08908_4f3e028d","line":6,"range":{"start_line":6,"start_character":6,"end_line":6,"end_character":16},"updated":"2016-06-07 18:13:52.000000000","message":"Should hyperv be added?","commit_id":"f4b86d6c90d8d74cf8cd2986420967f80696a599"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1eb915cee4d8f06e54f5ba9f585d196c069fdb9d","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"init_config:"},{"line_number":5,"context_line":"    # the hyperivisor type of the hypervisor checker."},{"line_number":6,"context_line":"    # acceptable values: libvirt"},{"line_number":7,"context_line":"    hypervisor_type: libvirt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    # These are Nova credentials, [keystone_authtoken] in /etc/nova/nova.conf"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7aa08908_9560f8a6","line":6,"range":{"start_line":6,"start_character":6,"end_line":6,"end_character":16},"in_reply_to":"7aa08908_4f3e028d","updated":"2016-06-07 20:07:31.000000000","message":"I\u0027ve only added the hypervisors that are guaranteed to work. I\u0027m adding hyperv in a future patch.\n\nUntil now, only the libvirt checker was working. I do not have experience with VMWare and XenServer in order to guarantee that the XenServer and VMware inspectors will work, but they weren\u0027t used before, so it isn\u0027t a regression.","commit_id":"f4b86d6c90d8d74cf8cd2986420967f80696a599"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"05050537a4c8d167c9150b5fd02e0767e5574829","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    identity_uri: \u0027http://192.168.10.5:35357/v2.0\u0027"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    # Location of temporary files maintained by the plugin.  Ramdisk preferred."},{"line_number":16,"context_line":"    cache_dir: /dev/shm"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    # How long to wait before querying Nova for instance updates? (seconds)"},{"line_number":19,"context_line":"    # Note that there is an automatic refresh if new instances are encountered."}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7aa08908_6f077eca","line":16,"range":{"start_line":16,"start_character":4,"end_line":16,"end_character":13},"updated":"2016-06-07 18:13:52.000000000","message":"Is there a recommended location on Windows systems?","commit_id":"f4b86d6c90d8d74cf8cd2986420967f80696a599"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1eb915cee4d8f06e54f5ba9f585d196c069fdb9d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    identity_uri: \u0027http://192.168.10.5:35357/v2.0\u0027"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    # Location of temporary files maintained by the plugin.  Ramdisk preferred."},{"line_number":16,"context_line":"    cache_dir: /dev/shm"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    # How long to wait before querying Nova for instance updates? (seconds)"},{"line_number":19,"context_line":"    # Note that there is an automatic refresh if new instances are encountered."}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7aa08908_15052845","line":16,"range":{"start_line":16,"start_character":4,"end_line":16,"end_character":13},"in_reply_to":"7aa08908_6f077eca","updated":"2016-06-07 20:07:31.000000000","message":"There are a few typical \u0027Temp\u0027 locations on Windows:\n\n    C:\\Windows\\Temp\n    or\n    C:\\Users\\\u003cuser\u003e\\AppData\\Local\\Temp\n\nBut they don\u0027t have the same properties as /dev/shm. Honestly, I\u0027d want to avoid the locations above. I\u0027d suggest something like: C:\\temp\\","commit_id":"f4b86d6c90d8d74cf8cd2986420967f80696a599"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"05050537a4c8d167c9150b5fd02e0767e5574829","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    # Command line to ping VMs, set to False (or simply remove) to disable."},{"line_number":26,"context_line":"    # The word \u0027NAMESPACE\u0027 is automatically replaced by the appropriate network"},{"line_number":27,"context_line":"    # namespace for each VM being monitored."},{"line_number":28,"context_line":"    ping_check: sudo -n /sbin/ip exec NAMESPACE /usr/bin/fping -n -c1 -t250 -q"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    # Suppress all per-VM metrics aside from host_alive_status, including all"},{"line_number":31,"context_line":"    # I/O, network, memory, ping, and CPU metrics."}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7aa08908_8fe0eafb","line":28,"range":{"start_line":28,"start_character":4,"end_line":28,"end_character":14},"updated":"2016-06-07 18:13:52.000000000","message":"What would be the command on a win32 system?","commit_id":"f4b86d6c90d8d74cf8cd2986420967f80696a599"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1eb915cee4d8f06e54f5ba9f585d196c069fdb9d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    # Command line to ping VMs, set to False (or simply remove) to disable."},{"line_number":26,"context_line":"    # The word \u0027NAMESPACE\u0027 is automatically replaced by the appropriate network"},{"line_number":27,"context_line":"    # namespace for each VM being monitored."},{"line_number":28,"context_line":"    ping_check: sudo -n /sbin/ip exec NAMESPACE /usr/bin/fping -n -c1 -t250 -q"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    # Suppress all per-VM metrics aside from host_alive_status, including all"},{"line_number":31,"context_line":"    # I/O, network, memory, ping, and CPU metrics."}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7aa08908_b501b46c","line":28,"range":{"start_line":28,"start_character":4,"end_line":28,"end_character":14},"in_reply_to":"7aa08908_8fe0eafb","updated":"2016-06-07 20:07:31.000000000","message":"Hm, I should at least document this.\n\nIt depends on what Neutron agent is used.\n\n- neutron-hyperv-agent - the ports are bound via native Hyper-V API calls. There isn\u0027t really any way to ping the VM, AFAIK, or at the very least, not with a simple command. Typically, to ping the VM, you will have to \"be\" in its network, which can prove difficult, as network types can vary from flat, vlan, gre, nvgre.\n\n- neutron-ovs-agent - We\u0027ve ported OVS to Windows back in Kilo and it is a viable solution. If this agent is used instead, basically, the same command as the one here should work (without the /sbin/ or /usr/bin/ of course).\n\nI\u0027ll add some comments about this here.","commit_id":"f4b86d6c90d8d74cf8cd2986420967f80696a599"}],"monasca_agent/collector/checks_d/hypervisor.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"da87f9774ca40be02c22ff4224f27122f64fc3eb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from datetime import datetime"},{"line_number":21,"context_line":"from datetime import timedelta"},{"line_number":22,"context_line":"import json"},{"line_number":23,"context_line":"import logging"},{"line_number":24,"context_line":"import math"},{"line_number":25,"context_line":"import monasca_agent.collector.checks.utils as utils"},{"line_number":26,"context_line":"from multiprocessing.dummy import Pool"}],"source_content_type":"text/x-python","patch_set":20,"id":"7a77a97e_90efecaf","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":14},"updated":"2016-11-14 21:37:06.000000000","message":"Delete, see below","commit_id":"467be5dd66dc8afb596b758b6c1555dcd48a400a"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"da87f9774ca40be02c22ff4224f27122f64fc3eb","unresolved":false,"context_lines":[{"line_number":30,"context_line":"import time"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from netaddr import all_matching_cidrs"},{"line_number":33,"context_line":"from oslo_utils import importutils"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"from monasca_agent.collector.checks import AgentCheck"},{"line_number":36,"context_line":"from monasca_agent.collector.virt import inspector"}],"source_content_type":"text/x-python","patch_set":20,"id":"7a77a97e_4b1da50e","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":34},"updated":"2016-11-14 21:37:06.000000000","message":"Delete - not used","commit_id":"467be5dd66dc8afb596b758b6c1555dcd48a400a"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"da87f9774ca40be02c22ff4224f27122f64fc3eb","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"from monasca_agent.collector.checks import AgentCheck"},{"line_number":36,"context_line":"from monasca_agent.collector.virt import inspector"},{"line_number":37,"context_line":"from monasca_agent.common import exceptions"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"7a77a97e_8b17bdec","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":43},"updated":"2016-11-14 21:37:06.000000000","message":"Delete - not used","commit_id":"467be5dd66dc8afb596b758b6c1555dcd48a400a"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"da87f9774ca40be02c22ff4224f27122f64fc3eb","unresolved":false,"context_lines":[{"line_number":36,"context_line":"from monasca_agent.collector.virt import inspector"},{"line_number":37,"context_line":"from monasca_agent.common import exceptions"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class HypervisorCheck(AgentCheck):"}],"source_content_type":"text/x-python","patch_set":20,"id":"7a77a97e_50f55481","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":33},"updated":"2016-11-14 21:37:06.000000000","message":"Delete, not used. If you were going to add logging, you should use self.log that is inherited from AgentCheck","commit_id":"467be5dd66dc8afb596b758b6c1555dcd48a400a"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"da87f9774ca40be02c22ff4224f27122f64fc3eb","unresolved":false,"context_lines":[{"line_number":39,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class HypervisorCheck(AgentCheck):"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\"Inherit Agent class and gather hypervisor specific metrics\"\"\""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"9a629dbe_6ea472b9","line":42,"range":{"start_line":42,"start_character":6,"end_line":42,"end_character":21},"updated":"2016-11-14 21:37:06.000000000","message":"Personally, I think this class should be in monasca_agent/collector/virt or one of its subdirectories. Everything else in monasca_agent/collector/checks_d is a real check plugin and I\u0027d like to keep it that way.","commit_id":"467be5dd66dc8afb596b758b6c1555dcd48a400a"}]}
