)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"e6c7751a45e3dd3414f16288b3823e27910da56d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"libvirt: report pmem namespaces resources by provider tree"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Report pmem namespaces resources to the provider tree after pmem"},{"line_number":10,"context_line":"namespaces configration. Custom Resource Classes are used to"},{"line_number":11,"context_line":"represent PMEM namespace resource here. Currently, the placement"},{"line_number":12,"context_line":"doesn\u0027t support NUMA affinity, so the PMEM resource inventories"},{"line_number":13,"context_line":"are belong to ComputeNode ResourceProvider directly."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9fb8cfa7_741cd1c0","line":10,"range":{"start_line":10,"start_character":11,"end_line":10,"end_character":23},"updated":"2019-06-10 10:31:59.000000000","message":"nit: configuration","commit_id":"accd846065fe3fe6f1b61b5bae76e7fee61b6f4a"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"cf2410ae831f5e28a09b54cdad6a650af2793f80","unresolved":false,"context_lines":[{"line_number":7,"context_line":"libvirt: report pmem namespaces resources by provider tree"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Report pmem namespaces resources to the provider tree after pmem"},{"line_number":10,"context_line":"namespaces configration. Custom Resource Classes are used to"},{"line_number":11,"context_line":"represent PMEM namespace resource here. Currently, the placement"},{"line_number":12,"context_line":"doesn\u0027t support NUMA affinity, so the PMEM resource inventories"},{"line_number":13,"context_line":"are belong to ComputeNode ResourceProvider directly."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9fb8cfa7_762fe23e","line":10,"range":{"start_line":10,"start_character":11,"end_line":10,"end_character":23},"in_reply_to":"9fb8cfa7_741cd1c0","updated":"2019-06-11 08:07:15.000000000","message":"Thank you for pointing out this typo.","commit_id":"accd846065fe3fe6f1b61b5bae76e7fee61b6f4a"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"e6c7751a45e3dd3414f16288b3823e27910da56d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Report pmem namespaces resources to the provider tree after pmem"},{"line_number":10,"context_line":"namespaces configration. Custom Resource Classes are used to"},{"line_number":11,"context_line":"represent PMEM namespace resource here. Currently, the placement"},{"line_number":12,"context_line":"doesn\u0027t support NUMA affinity, so the PMEM resource inventories"},{"line_number":13,"context_line":"are belong to ComputeNode ResourceProvider directly."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I729dce1c12a48c2f3599b4a16d6b2b90354db767"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9fb8cfa7_147b15f5","line":12,"range":{"start_line":12,"start_character":8,"end_line":12,"end_character":29},"updated":"2019-06-10 10:31:59.000000000","message":"True but we\u0027re nearly there :)\n\nhttps://review.opendev.org/#/c/662191/","commit_id":"accd846065fe3fe6f1b61b5bae76e7fee61b6f4a"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c04a21df28306c323447e9635492391d12ed58d3","unresolved":false,"context_lines":[{"line_number":18585,"context_line":"        pmem_nss \u003d ["},{"line_number":18586,"context_line":"            libvirt_driver.PMEMNamespace("},{"line_number":18587,"context_line":"                tag\u003d\u00274GB\u0027, name\u003d\u0027pmem_namespace_region0_0\u0027, dev\u003d\u0027dax0.0\u0027,"},{"line_number":18588,"context_line":"                size\u003d4292870144, align\u003d2097152, numa_node\u003d0),"},{"line_number":18589,"context_line":"            libvirt_driver.PMEMNamespace("},{"line_number":18590,"context_line":"                tag\u003d\u0027LARGE\u0027, name\u003d\u0027pmem_namespace_region0_1\u0027, dev\u003d\u0027dax0.1\u0027,"},{"line_number":18591,"context_line":"                size\u003d17177772032, align\u003d2097152, numa_node\u003d0)]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_36750133","line":18588,"updated":"2019-06-10 07:22:32.000000000","message":"better to test more than one ns for one tag. Also the case for no pmem.","commit_id":"accd846065fe3fe6f1b61b5bae76e7fee61b6f4a"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"9f4015ff8952e84c59e71354f1b4ac2a9b52ef5c","unresolved":false,"context_lines":[{"line_number":18585,"context_line":"        pmem_nss \u003d ["},{"line_number":18586,"context_line":"            libvirt_driver.PMEMNamespace("},{"line_number":18587,"context_line":"                tag\u003d\u00274GB\u0027, name\u003d\u0027pmem_namespace_region0_0\u0027, dev\u003d\u0027dax0.0\u0027,"},{"line_number":18588,"context_line":"                size\u003d4292870144, align\u003d2097152, numa_node\u003d0),"},{"line_number":18589,"context_line":"            libvirt_driver.PMEMNamespace("},{"line_number":18590,"context_line":"                tag\u003d\u0027LARGE\u0027, name\u003d\u0027pmem_namespace_region0_1\u0027, dev\u003d\u0027dax0.1\u0027,"},{"line_number":18591,"context_line":"                size\u003d17177772032, align\u003d2097152, numa_node\u003d0)]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_7685a259","line":18588,"in_reply_to":"9fb8cfa7_36750133","updated":"2019-06-11 07:58:35.000000000","message":"Get it.","commit_id":"accd846065fe3fe6f1b61b5bae76e7fee61b6f4a"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0d423e4b9d0211a42649d09f42935a2961c748cc","unresolved":false,"context_lines":[{"line_number":6877,"context_line":"                inventories_dict, provider_tree, nodename,"},{"line_number":6878,"context_line":"                allocations\u003dallocations)"},{"line_number":6879,"context_line":""},{"line_number":6880,"context_line":"        if self._pmem_namespaces:"},{"line_number":6881,"context_line":"            pmems_by_label \u003d self._pmem_namespaces[1]"},{"line_number":6882,"context_line":"            if pmems_by_label:"},{"line_number":6883,"context_line":"                for label in pmems_by_label.keys():"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_d98deed3","line":6880,"range":{"start_line":6880,"start_character":8,"end_line":6880,"end_character":33},"updated":"2019-07-10 06:04:22.000000000","message":"According to your previous patch, this check is useless, you always have two dicts in this attr.","commit_id":"b362534c2da5d09fa9349850a1c8a6240d635ae3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0d423e4b9d0211a42649d09f42935a2961c748cc","unresolved":false,"context_lines":[{"line_number":6881,"context_line":"            pmems_by_label \u003d self._pmem_namespaces[1]"},{"line_number":6882,"context_line":"            if pmems_by_label:"},{"line_number":6883,"context_line":"                for label in pmems_by_label.keys():"},{"line_number":6884,"context_line":"                    rc_name \u003d \"CUSTOM_PMEM_NAMESPACE_%(label)s\" % \\"},{"line_number":6885,"context_line":"                            {\u0027label\u0027: label}"},{"line_number":6886,"context_line":"                    result[rc_name] \u003d {"},{"line_number":6887,"context_line":"                        \u0027total\u0027: len(pmems_by_label[label]),"},{"line_number":6888,"context_line":"                        \u0027max_unit\u0027: len(pmems_by_label[label]),"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_f988eac6","line":6885,"range":{"start_line":6884,"start_character":20,"end_line":6885,"end_character":44},"updated":"2019-07-10 06:04:22.000000000","message":"We don\u0027t prefer to use \u0027\\\u0027 as wrap line method.\nPlease use the below method:\n\nrc_name \u003d (\n\"CUSTOM_PMEM_NAMESPACE_%(label)s\" % {\u0027label\u0027: label})","commit_id":"b362534c2da5d09fa9349850a1c8a6240d635ae3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b25eec2e36f345223b71c96914e707fc41511f85","unresolved":false,"context_lines":[{"line_number":6870,"context_line":"                allocations\u003dallocations)"},{"line_number":6871,"context_line":""},{"line_number":6872,"context_line":"        # report pmem resources"},{"line_number":6873,"context_line":"        for label, names in self._device_manager._pmem_names_by_label.items():"},{"line_number":6874,"context_line":"            rc_name \u003d \"CUSTOM_PMEM_NAMESPACE_%(label)s\" % \\"},{"line_number":6875,"context_line":"                    {\u0027label\u0027: label}"},{"line_number":6876,"context_line":"            result[rc_name] \u003d {"}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_8f3e3627","line":6873,"range":{"start_line":6873,"start_character":49,"end_line":6873,"end_character":69},"updated":"2019-07-29 02:48:41.000000000","message":"emm...this is my fault, I should add a common interface to list the inventories.","commit_id":"c505e79dacd20b1c39ebb0e934f955ce76c4b202"}]}
