)]}'
{"nova/exception.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fff9665de925fa686dba148f5f7067fcac759fcf","unresolved":false,"context_lines":[{"line_number":1828,"context_line":"    msg_fmt \u003d _(\"Invalid Connection Info\")"},{"line_number":1829,"context_line":""},{"line_number":1830,"context_line":""},{"line_number":1831,"context_line":"class InstanceQuiesceNotSupported(Invalid):"},{"line_number":1832,"context_line":"    msg_fmt \u003d _(\u0027Quiescing is not supported in instance %(instance_id)s: \u0027"},{"line_number":1833,"context_line":"                \u0027%(reason)s\u0027)"},{"line_number":1834,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_b37fa065","side":"PARENT","line":1831,"updated":"2015-04-03 12:31:49.000000000","message":"So this seems to me not related. I guess is it not good to mix things like that, the point is during backport those changes can create small conflicts that can be avoided :)","commit_id":"e9d8d933859d2cbbab0f07194ca1f114e10bf38c"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"d5e731a9934f0614ef789e22a6e22bcd0f55960f","unresolved":false,"context_lines":[{"line_number":361,"context_line":"REQ_HYPERVISOR_DISCARD \u003d \"QEMU\""},{"line_number":362,"context_line":"# libvirt numa topology support"},{"line_number":363,"context_line":"MIN_LIBVIRT_NUMA_TOPOLOGY_VERSION \u003d (1, 0, 4)"},{"line_number":364,"context_line":"# libvirt numa topology support"},{"line_number":365,"context_line":"BAD_LIBVIRT_CPU_POLICY_VERSIONS \u003d [(1, 2, 9, 2), (1, 2, 10)]"},{"line_number":366,"context_line":"# fsFreeze/fsThaw requirement"},{"line_number":367,"context_line":"MIN_LIBVIRT_FSFREEZE_VERSION \u003d (1, 2, 5)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_835d8aeb","line":364,"updated":"2015-04-02 17:05:59.000000000","message":"I guess you forgot to update the comment here.","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"77134041ed5902d6aa344e543d8cafeff8c729da","unresolved":false,"context_lines":[{"line_number":361,"context_line":"REQ_HYPERVISOR_DISCARD \u003d \"QEMU\""},{"line_number":362,"context_line":"# libvirt numa topology support"},{"line_number":363,"context_line":"MIN_LIBVIRT_NUMA_TOPOLOGY_VERSION \u003d (1, 0, 4)"},{"line_number":364,"context_line":"# libvirt numa topology support"},{"line_number":365,"context_line":"BAD_LIBVIRT_CPU_POLICY_VERSIONS \u003d [(1, 2, 9, 2), (1, 2, 10)]"},{"line_number":366,"context_line":"# fsFreeze/fsThaw requirement"},{"line_number":367,"context_line":"MIN_LIBVIRT_FSFREEZE_VERSION \u003d (1, 2, 5)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_f342cf3d","line":364,"in_reply_to":"baa041b7_835d8aeb","updated":"2015-04-03 12:21:09.000000000","message":"Done","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"d5e731a9934f0614ef789e22a6e22bcd0f55960f","unresolved":false,"context_lines":[{"line_number":3405,"context_line":"                raise exception.CPUPinningNotSupported(reason\u003d_("},{"line_number":3406,"context_line":"                    \u0027CPU pinning is not possible with libvirt version \u0027"},{"line_number":3407,"context_line":"                    \u0027%(version)s\u0027"},{"line_number":3408,"context_line":"                    ) % {\u0027version\u0027: ver})"},{"line_number":3409,"context_line":"        return True"},{"line_number":3410,"context_line":""},{"line_number":3411,"context_line":"    def _get_guest_numa_config(self, instance_numa_topology, flavor, pci_devs,"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_e30576c2","line":3408,"updated":"2015-04-02 17:05:59.000000000","message":"nit: No need dict when formatting one arg.","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"77134041ed5902d6aa344e543d8cafeff8c729da","unresolved":false,"context_lines":[{"line_number":3405,"context_line":"                raise exception.CPUPinningNotSupported(reason\u003d_("},{"line_number":3406,"context_line":"                    \u0027CPU pinning is not possible with libvirt version \u0027"},{"line_number":3407,"context_line":"                    \u0027%(version)s\u0027"},{"line_number":3408,"context_line":"                    ) % {\u0027version\u0027: ver})"},{"line_number":3409,"context_line":"        return True"},{"line_number":3410,"context_line":""},{"line_number":3411,"context_line":"    def _get_guest_numa_config(self, instance_numa_topology, flavor, pci_devs,"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_532a9b7f","line":3408,"in_reply_to":"baa041b7_e30576c2","updated":"2015-04-03 12:21:09.000000000","message":"I agree, but other examples in the file do things this way. Keeping it consistent.","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"6dc3c39d84cdff696a7ea41bf4518ee2649288ac","unresolved":false,"context_lines":[{"line_number":3505,"context_line":""},{"line_number":3506,"context_line":"                                if (object_numa_cell.cpu_pinning and"},{"line_number":3507,"context_line":"                                    self._has_cpu_policy_support()):"},{"line_number":3508,"context_line":"                                    pcpu \u003d object_numa_cell.cpu_pinning[cpu]"},{"line_number":3509,"context_line":"                                    pin_cpuset.cpuset \u003d set([pcpu])"},{"line_number":3510,"context_line":"                                else:"},{"line_number":3511,"context_line":"                                    pin_cpuset.cpuset \u003d host_cell.cpuset"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_3daedd2e","line":3508,"updated":"2015-04-02 16:40:01.000000000","message":"Nit: the continuation line and the first line of the block are indented identically. This should be avoided since indentation is syntactically significant in Python, and it makes the two lines appear to be part of the same block.","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"dc606629cff8a71681a030248d4603f4cbd70f31","unresolved":false,"context_lines":[{"line_number":3505,"context_line":""},{"line_number":3506,"context_line":"                                if (object_numa_cell.cpu_pinning and"},{"line_number":3507,"context_line":"                                    self._has_cpu_policy_support()):"},{"line_number":3508,"context_line":"                                    pcpu \u003d object_numa_cell.cpu_pinning[cpu]"},{"line_number":3509,"context_line":"                                    pin_cpuset.cpuset \u003d set([pcpu])"},{"line_number":3510,"context_line":"                                else:"},{"line_number":3511,"context_line":"                                    pin_cpuset.cpuset \u003d host_cell.cpuset"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_45b5232f","line":3508,"in_reply_to":"baa041b7_135bf32f","updated":"2015-04-03 15:56:17.000000000","message":"When it comes to code style, readability trumps all.","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"77134041ed5902d6aa344e543d8cafeff8c729da","unresolved":false,"context_lines":[{"line_number":3505,"context_line":""},{"line_number":3506,"context_line":"                                if (object_numa_cell.cpu_pinning and"},{"line_number":3507,"context_line":"                                    self._has_cpu_policy_support()):"},{"line_number":3508,"context_line":"                                    pcpu \u003d object_numa_cell.cpu_pinning[cpu]"},{"line_number":3509,"context_line":"                                    pin_cpuset.cpuset \u003d set([pcpu])"},{"line_number":3510,"context_line":"                                else:"},{"line_number":3511,"context_line":"                                    pin_cpuset.cpuset \u003d host_cell.cpuset"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_135bf32f","line":3508,"in_reply_to":"baa041b7_3daedd2e","updated":"2015-04-03 12:21:09.000000000","message":"Done (though I had a feeling that this was really a non issue even though PyLint reports it..something about PEP8 not covering it)","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fff9665de925fa686dba148f5f7067fcac759fcf","unresolved":false,"context_lines":[{"line_number":3403,"context_line":"            if self._host.has_version(version):"},{"line_number":3404,"context_line":"                ver \u003d self._version_to_string(version)"},{"line_number":3405,"context_line":"                raise exception.CPUPinningNotSupported(reason\u003d_("},{"line_number":3406,"context_line":"                    \u0027CPU pinning is not possible with libvirt version \u0027"},{"line_number":3407,"context_line":"                    \u0027%(version)s\u0027) % {\u0027version\u0027: ver})"},{"line_number":3408,"context_line":"        return True"},{"line_number":3409,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_535614d3","line":3406,"updated":"2015-04-03 12:31:49.000000000","message":"It is nice to have a general exception as you do but it seems to me the message will be a little be redundant.\n\n  CPU pinning is not supported by the host: CPU pinning is not possible with libvirt version 1.2.3\n\nWhat about just to speak about the libvirt version:\n\n  CPU pinning is not supported by the host: Invalid libvirt version 1.2.3\n\nBut please consider it as a suggestion only.","commit_id":"28b234014c364cf53f7456e7360986e608b6f6e6"}],"nova/virt/libvirt/host.py":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"6dc3c39d84cdff696a7ea41bf4518ee2649288ac","unresolved":false,"context_lines":[{"line_number":572,"context_line":"            return False"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"    def has_min_version(self, lv_ver\u003dNone, hv_ver\u003dNone, hv_type\u003dNone):"},{"line_number":575,"context_line":"        return self._version_check(lv_ver, hv_ver, hv_type, op\u003doperator.lt)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"    def has_version(self, lv_ver\u003dNone, hv_ver\u003dNone, hv_type\u003dNone):"},{"line_number":578,"context_line":"        return self._version_check(lv_ver, hv_ver, hv_type, op\u003doperator.eq)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_c8529113","line":575,"updated":"2015-04-02 16:40:01.000000000","message":"Keyword args should be passed along as kwargs, since they are kwargs in the called method. E.g.:\n\n    return self._version_check(lv_ver\u003dlv_ver, hv_ver\u003dhv_ver, hv_type\u003dhv_type, op\u003doperator.lt)","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"77134041ed5902d6aa344e543d8cafeff8c729da","unresolved":false,"context_lines":[{"line_number":572,"context_line":"            return False"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"    def has_min_version(self, lv_ver\u003dNone, hv_ver\u003dNone, hv_type\u003dNone):"},{"line_number":575,"context_line":"        return self._version_check(lv_ver, hv_ver, hv_type, op\u003doperator.lt)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"    def has_version(self, lv_ver\u003dNone, hv_ver\u003dNone, hv_type\u003dNone):"},{"line_number":578,"context_line":"        return self._version_check(lv_ver, hv_ver, hv_type, op\u003doperator.eq)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_935ee310","line":575,"in_reply_to":"baa041b7_c8529113","updated":"2015-04-03 12:21:09.000000000","message":"Done","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"6dc3c39d84cdff696a7ea41bf4518ee2649288ac","unresolved":false,"context_lines":[{"line_number":575,"context_line":"        return self._version_check(lv_ver, hv_ver, hv_type, op\u003doperator.lt)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"    def has_version(self, lv_ver\u003dNone, hv_ver\u003dNone, hv_type\u003dNone):"},{"line_number":578,"context_line":"        return self._version_check(lv_ver, hv_ver, hv_type, op\u003doperator.eq)"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"    def get_domain(self, instance):"},{"line_number":581,"context_line":"        \"\"\"Retrieve libvirt domain object for an instance."}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_483fa1b4","line":578,"updated":"2015-04-02 16:40:01.000000000","message":"Same as above.","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"77134041ed5902d6aa344e543d8cafeff8c729da","unresolved":false,"context_lines":[{"line_number":575,"context_line":"        return self._version_check(lv_ver, hv_ver, hv_type, op\u003doperator.lt)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"    def has_version(self, lv_ver\u003dNone, hv_ver\u003dNone, hv_type\u003dNone):"},{"line_number":578,"context_line":"        return self._version_check(lv_ver, hv_ver, hv_type, op\u003doperator.eq)"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"    def get_domain(self, instance):"},{"line_number":581,"context_line":"        \"\"\"Retrieve libvirt domain object for an instance."}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_739c7fc0","line":578,"in_reply_to":"baa041b7_483fa1b4","updated":"2015-04-03 12:21:09.000000000","message":"Done","commit_id":"cfd9a522d26fae42de50a6d68f41a874fcd230ed"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fff9665de925fa686dba148f5f7067fcac759fcf","unresolved":false,"context_lines":[{"line_number":572,"context_line":"        except Exception:"},{"line_number":573,"context_line":"            return False"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"    def has_min_version(self, lv_ver\u003dNone, hv_ver\u003dNone, hv_type\u003dNone):"},{"line_number":576,"context_line":"        return self._version_check("},{"line_number":577,"context_line":"            lv_ver\u003dlv_ver, hv_ver\u003dhv_ver, hv_type\u003dhv_type, op\u003doperator.lt)"},{"line_number":578,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_3316f0f1","line":575,"updated":"2015-04-03 12:31:49.000000000","message":"Really good job here; Should be appreciable to see tests associated since often of the time on tests we will mock these methods. They will be never tested at all.","commit_id":"28b234014c364cf53f7456e7360986e608b6f6e6"}]}
