)]}'
{"monasca_agent/collector/checks_d/libvirt.py":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"ed12ba998c810c9467a4acefa8567749eca51c50","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                instance_cache \u003d self._update_instance_cache()"},{"line_number":166,"context_line":"            if inst_name not in instance_cache:"},{"line_number":167,"context_line":"                self.log.error(\"{0} is not known to nova after instance cache update -- skipping this ghost VM.\".format(inst_name))"},{"line_number":168,"context_line":"                continue;"},{"line_number":169,"context_line":"            if inst_name not in metric_cache:"},{"line_number":170,"context_line":"                metric_cache[inst_name] \u003d {}"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_9c810492","line":168,"updated":"2015-07-07 22:16:17.000000000","message":"So, right after the instance is added to the instance cache, you want to check if see if it is in the instance cache?","commit_id":"3dcab06bd03b5fbcedd589dc06fec5efd6ce1171"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"13f9b0bfd11fc2edeb04f211ce2af0004469576f","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                instance_cache \u003d self._update_instance_cache()"},{"line_number":166,"context_line":"            if inst_name not in instance_cache:"},{"line_number":167,"context_line":"                self.log.error(\"{0} is not known to nova after instance cache update -- skipping this ghost VM.\".format(inst_name))"},{"line_number":168,"context_line":"                continue;"},{"line_number":169,"context_line":"            if inst_name not in metric_cache:"},{"line_number":170,"context_line":"                metric_cache[inst_name] \u003d {}"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_d7968593","line":168,"in_reply_to":"ba3cc151_9c810492","updated":"2015-07-07 22:24:57.000000000","message":"That\u0027s the issue we\u0027re hitting in one of our environments -- the instance cache is rebuilt based on what nova sees.  Even after the update to the cache, the instance name isn\u0027t there.  \n\nWe\u0027ve seen this if a live-migration fails, you can end up with ghost vms/qemu processes, and they are orphaned by nova, essentially lost vms.  \n\nIn this case, the plugin completely barfs and stops sending data (without the continue):\n\n2015-07-07 22:23:18 UTC | ERROR | collector | monasca_agent.collector.checks.check.libvirt(libvirt.py:169) | instance-0002095e is not known to nova -- ghost vm?\n2015-07-07 22:23:18 UTC | ERROR | collector | monasca_agent.collector.checks.check.libvirt(check.py:549) | Check \u0027libvirt\u0027 instance #0 failed\nTraceback (most recent call last):\n  File \"/var/lib/monasca-agent/local/lib/python2.7/site-packages/monasca_agent/collector/checks/check.py\", line 540, in run\n    self.check(instance)\n  File \"/var/lib/monasca-agent/lib/python2.7/site-packages/monasca_agent/common/../collector/checks_d/libvirt.py\", line 172, in check\n    vm_probation_remaining \u003d self._test_vm_probation(instance_cache.get(inst_name)[\u0027created\u0027])\nTypeError: \u0027NoneType\u0027 object has no attribute \u0027__getitem__\u0027\n\nThe plugin should be more robust and continue with vms it can get metrics for...","commit_id":"3dcab06bd03b5fbcedd589dc06fec5efd6ce1171"}]}
