)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13367,"name":"Pradyumna Sampath","email":"pradyumna@hitachi.co.in","username":"prady"},"change_message_id":"b750ecfbbb075924447a4864dbfc3fbcfb140dc2","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"VM instance name is inconsistent between nova parent node and nova cell node."},{"line_number":10,"context_line":"So it is necessary to rely on VM uuid (which is unique ID and immutable for VM"},{"line_number":11,"context_line":"resource) rather than instance name to fetch system metrics via libvert’s"},{"line_number":12,"context_line":"lookupByUUIDString API."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I59dad915185fb191b7712024697e7b15e9e759e4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a890539_c4e032fd","line":11,"updated":"2014-11-27 06:02:30.000000000","message":"nit: libvirt","commit_id":"abb4128cff12155515f9406cbbc2f32a2d7df443"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"9c1a216bf44fdd2b5718a4048c2d9f6be92445f7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     mizeng \u003cmizeng@ebay.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-11-28 16:59:06 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rely on VM uuid to fetch metrics in libvirt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"VM instance name is inconsistent between nova parent node and nova cell node."},{"line_number":10,"context_line":"So it is necessary to rely on VM uuid (which is unique ID and immutable for VM"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a890539_d48e00d0","line":7,"updated":"2014-11-28 13:59:01.000000000","message":"nit: consider s/uuid/UUID/ ?","commit_id":"2c9d2d1c5314517e9acff48051067884ddad1ffe"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"9c1a216bf44fdd2b5718a4048c2d9f6be92445f7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Rely on VM uuid to fetch metrics in libvirt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"VM instance name is inconsistent between nova parent node and nova cell node."},{"line_number":10,"context_line":"So it is necessary to rely on VM uuid (which is unique ID and immutable for VM"},{"line_number":11,"context_line":"resource) rather than instance name to fetch system metrics via libvert’s"},{"line_number":12,"context_line":"lookupByUUIDString API."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a890539_14c088df","line":10,"updated":"2014-11-28 13:59:01.000000000","message":"ditto\n\nis **an** unique ID","commit_id":"2c9d2d1c5314517e9acff48051067884ddad1ffe"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"9c1a216bf44fdd2b5718a4048c2d9f6be92445f7","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"VM instance name is inconsistent between nova parent node and nova cell node."},{"line_number":10,"context_line":"So it is necessary to rely on VM uuid (which is unique ID and immutable for VM"},{"line_number":11,"context_line":"resource) rather than instance name to fetch system metrics via libvert’s"},{"line_number":12,"context_line":"lookupByUUIDString API."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I59dad915185fb191b7712024697e7b15e9e759e4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a890539_346ca408","line":11,"updated":"2014-11-28 13:59:01.000000000","message":"nit: s/libvert/libvirt/","commit_id":"2c9d2d1c5314517e9acff48051067884ddad1ffe"},{"author":{"_account_id":13273,"name":"Lena Novokshonova","email":"enovokshonova@mirantis.com","username":"enovokshonova"},"change_message_id":"aa5b27a276a71152a96bfe697271595bf1883323","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Rely on VM UUID to fetch metrics in libvirt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"VM instance name is inconsistent between nova parent node and nova cell node."},{"line_number":10,"context_line":"So it is necessary to rely on VM UUID (which is an unique ID and immutable for VM"},{"line_number":11,"context_line":"resource) rather than instance name to fetch system metrics via libvirt’s"},{"line_number":12,"context_line":"lookupByUUIDString API."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a890539_2791b846","line":10,"updated":"2014-12-01 11:54:16.000000000","message":"This line is too long, do it shorter","commit_id":"67c17a64f812379485a96cec2e4f68d88cb4e8a7"}],"ceilometer/compute/pollsters/cpu.py":[{"author":{"_account_id":12927,"name":"Lan Qi song","email":"lqs933@foxmail.com","username":"lqisong"},"change_message_id":"9165ff214b7004746058c89d683a6699eaf742df","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            LOG.debug(_(\u0027checking instance %s\u0027), instance.id)"},{"line_number":35,"context_line":"            try:"},{"line_number":36,"context_line":"                # Instance Name is inconsistent in Nova cell mode in libvirt"},{"line_number":37,"context_line":"                if manager.inspector.__class__.__name__ \u003d\u003d \u0027LibvirtInspector\u0027:"},{"line_number":38,"context_line":"                    cpu_info \u003d manager.inspector.inspect_cpus(instance)"},{"line_number":39,"context_line":"                else:"},{"line_number":40,"context_line":"                    instance_name \u003d util.instance_name(instance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_04485f86","line":37,"updated":"2014-11-28 06:49:08.000000000","message":"This line looks odd. I prefer the parameter type in inspect_cpus function be consistent here for all sub inspector class. instance object or instance_name. It\u0027s better to change behavior in subclass.","commit_id":"b64def56fbe42af9aadd4212a3b3c4b61da48734"}],"ceilometer/compute/pollsters/disk.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"c7acd47436f6b38916bae9740a9c9f4284d96d8d","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def _populate_cache(self, inspector, cache, instance, instance_name):"},{"line_number":65,"context_line":"        i_cache \u003d cache.setdefault(self.CACHE_KEY_DISK, {})"},{"line_number":66,"context_line":"        if instance_name not in i_cache:"},{"line_number":67,"context_line":"            r_bytes \u003d 0"},{"line_number":68,"context_line":"            r_requests \u003d 0"},{"line_number":69,"context_line":"            w_bytes \u003d 0"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_18dc9be3","line":66,"updated":"2014-12-04 03:35:18.000000000","message":"it seems the instance_name is only used as the cache key, how about drop this and use instance.id as the cache key, just like _DiskRatesPollsterBase?","commit_id":"ef53fc733a7d8eb82675678b9e547f117791c532"}],"ceilometer/compute/virt/libvirt/inspector.py":[{"author":{"_account_id":13367,"name":"Pradyumna Sampath","email":"pradyumna@hitachi.co.in","username":"prady"},"change_message_id":"b750ecfbbb075924447a4864dbfc3fbcfb140dc2","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                raise"},{"line_number":97,"context_line":"            msg \u003d (\"Error from libvirt while looking up %(instance_uuid)s: \""},{"line_number":98,"context_line":"                   \"[Error Code %(error_code)s] \""},{"line_number":99,"context_line":"                   \"%(ex)s\" % {\u0027instance_uuid\u0027: instance_uuid,"},{"line_number":100,"context_line":"                               \u0027error_code\u0027: error_code,"},{"line_number":101,"context_line":"                               \u0027ex\u0027: ex})"},{"line_number":102,"context_line":"            raise virt_inspector.InstanceNotFoundException(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_04f4facd","line":99,"updated":"2014-11-27 06:02:30.000000000","message":"From a usability standpoint, I think both name and UUID needs to be there especially when raising exception and logging. \n\n\"Error from libvirt while looking up instance Name: %(instance_name) UUID: %(instance_uuid)...\"","commit_id":"abb4128cff12155515f9406cbbc2f32a2d7df443"},{"author":{"_account_id":13367,"name":"Pradyumna Sampath","email":"pradyumna@hitachi.co.in","username":"prady"},"change_message_id":"b750ecfbbb075924447a4864dbfc3fbcfb140dc2","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        if state \u003d\u003d libvirt.VIR_DOMAIN_SHUTOFF:"},{"line_number":130,"context_line":"            LOG.warn(_(\u0027Failed to inspect vnics of %(instance_uuid)s, \u0027"},{"line_number":131,"context_line":"                       \u0027domain is in state of SHUTOFF\u0027),"},{"line_number":132,"context_line":"                     {\u0027instance_uuid\u0027: instance_uuid})"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":"        tree \u003d etree.fromstring(domain.XMLDesc(0))"},{"line_number":135,"context_line":"        for iface in tree.findall(\u0027devices/interface\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_842f0a3e","line":132,"updated":"2014-11-27 06:02:30.000000000","message":"Same as above comment, all the more important in logs IMHO.","commit_id":"abb4128cff12155515f9406cbbc2f32a2d7df443"},{"author":{"_account_id":13367,"name":"Pradyumna Sampath","email":"pradyumna@hitachi.co.in","username":"prady"},"change_message_id":"b750ecfbbb075924447a4864dbfc3fbcfb140dc2","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        state \u003d domain.info()[0]"},{"line_number":164,"context_line":"        if state \u003d\u003d libvirt.VIR_DOMAIN_SHUTOFF:"},{"line_number":165,"context_line":"            LOG.warn(_(\u0027Failed to inspect disks of %(instance_uuid)s, \u0027"},{"line_number":166,"context_line":"                       \u0027domain is in state of SHUTOFF\u0027),"},{"line_number":167,"context_line":"                     {\u0027instance_uuid\u0027: instance_uuid})"},{"line_number":168,"context_line":"            return"},{"line_number":169,"context_line":"        tree \u003d etree.fromstring(domain.XMLDesc(0))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_e41d2e12","line":166,"updated":"2014-11-27 06:02:30.000000000","message":"Same as above","commit_id":"abb4128cff12155515f9406cbbc2f32a2d7df443"},{"author":{"_account_id":13367,"name":"Pradyumna Sampath","email":"pradyumna@hitachi.co.in","username":"prady"},"change_message_id":"b750ecfbbb075924447a4864dbfc3fbcfb140dc2","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        state \u003d domain.info()[0]"},{"line_number":186,"context_line":"        if state \u003d\u003d libvirt.VIR_DOMAIN_SHUTOFF:"},{"line_number":187,"context_line":"            LOG.warn(_(\u0027Failed to inspect memory usage of %(instance_uuid)s, \u0027"},{"line_number":188,"context_line":"                       \u0027domain is in state of SHUTOFF\u0027),"},{"line_number":189,"context_line":"                     {\u0027instance_uuid\u0027: instance.id})"},{"line_number":190,"context_line":"            return"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_041b1a1d","line":188,"updated":"2014-11-27 06:02:30.000000000","message":"Same as above","commit_id":"abb4128cff12155515f9406cbbc2f32a2d7df443"},{"author":{"_account_id":13367,"name":"Pradyumna Sampath","email":"pradyumna@hitachi.co.in","username":"prady"},"change_message_id":"b750ecfbbb075924447a4864dbfc3fbcfb140dc2","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                return virt_inspector.MemoryUsageStats(usage\u003dmemory_used)"},{"line_number":202,"context_line":"            else:"},{"line_number":203,"context_line":"                LOG.warn(_(\u0027Failed to inspect memory usage of \u0027"},{"line_number":204,"context_line":"                           \u0027%(instance_uuid)s, can not get info from libvirt\u0027),"},{"line_number":205,"context_line":"                         {\u0027instance_uuid\u0027: instance.id})"},{"line_number":206,"context_line":"        # memoryStats might launch an exception if the method"},{"line_number":207,"context_line":"        # is not supported by the underlying hypervisor being"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_2418161e","line":204,"updated":"2014-11-27 06:02:30.000000000","message":"Same as above","commit_id":"abb4128cff12155515f9406cbbc2f32a2d7df443"},{"author":{"_account_id":13367,"name":"Pradyumna Sampath","email":"pradyumna@hitachi.co.in","username":"prady"},"change_message_id":"b750ecfbbb075924447a4864dbfc3fbcfb140dc2","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":210,"context_line":"            LOG.warn(_(\u0027Failed to inspect memory usage of %(instance_uuid)s, \u0027"},{"line_number":211,"context_line":"                       \u0027can not get info from libvirt: %(error)s\u0027),"},{"line_number":212,"context_line":"                     {\u0027instance_uuid\u0027: instance.id, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_441522e4","line":212,"updated":"2014-11-27 06:02:30.000000000","message":"Same as above","commit_id":"abb4128cff12155515f9406cbbc2f32a2d7df443"}],"ceilometer/tests/compute/virt/libvirt/test_inspector.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"9c1a216bf44fdd2b5718a4048c2d9f6be92445f7","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        super(TestLibvirtInspection, self).setUp()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        class instance:"},{"line_number":38,"context_line":"            id \u003d \u0027aaaa-bbbb-cccc-dddd\u0027"},{"line_number":39,"context_line":"            name \u003d \u0027instance-00000001\u0027"},{"line_number":40,"context_line":"        self.instance \u003d instance"},{"line_number":41,"context_line":"        self.inspector \u003d libvirt_inspector.LibvirtInspector()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_28560407","line":38,"updated":"2014-11-28 13:59:01.000000000","message":"You can use a real one if you want it to be UUID format","commit_id":"2c9d2d1c5314517e9acff48051067884ddad1ffe"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"787ea07caf0ce6ef9d8c02f2a33c845f5349c9f9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def setUp(self):"},{"line_number":35,"context_line":"        super(TestLibvirtInspection, self).setUp()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        class instance:"},{"line_number":38,"context_line":"            id \u003d \u0027ff58e738-12f4-4c58-acde-77617b68da56\u0027"},{"line_number":39,"context_line":"            name \u003d \u0027instance-00000001\u0027"},{"line_number":40,"context_line":"        self.instance \u003d instance"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_47488db3","line":37,"updated":"2014-12-01 01:49:12.000000000","message":"Is it right format for python class name ? I remembered capital letter.\n\nAlso use instance as name seems something for class instance.","commit_id":"5f58315c17ffbd5783cc64f36c885072019a52f4"}]}
