)]}'
{"zun/compute/compute_node_tracker.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7d83a66a019fe60c20d9c90c95a5153c309f2454","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            meminfo \u003d self.container_driver.get_host_mem()"},{"line_number":35,"context_line":"            (mem_total, mem_free, mem_ava) \u003d meminfo"},{"line_number":36,"context_line":"            node \u003d objects.ComputeNode(context)"},{"line_number":37,"context_line":"            node.mem_total \u003d mem_total"},{"line_number":38,"context_line":"            node.mem_free \u003d mem_free"},{"line_number":39,"context_line":"            node.mem_available \u003d mem_ava"},{"line_number":40,"context_line":"            node.hostname \u003d self.host"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_08cca887","line":37,"range":{"start_line":37,"start_character":29,"end_line":37,"end_character":38},"updated":"2017-04-14 04:16:29.000000000","message":"Just a reminder that these numbers are of KB unit. Are you sure you don\u0027t want to convert them to MB (since containers are using MB as memory unit).","commit_id":"eb746996962d4547fe9eaf254f14decd456dda59"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"41bba58c4da6d81e19b9cc084555c98637a81b7a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            meminfo \u003d self.container_driver.get_host_mem()"},{"line_number":35,"context_line":"            (mem_total, mem_free, mem_ava) \u003d meminfo"},{"line_number":36,"context_line":"            node \u003d objects.ComputeNode(context)"},{"line_number":37,"context_line":"            node.mem_total \u003d mem_total"},{"line_number":38,"context_line":"            node.mem_free \u003d mem_free"},{"line_number":39,"context_line":"            node.mem_available \u003d mem_ava"},{"line_number":40,"context_line":"            node.hostname \u003d self.host"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_7e51a60e","line":37,"range":{"start_line":37,"start_character":29,"end_line":37,"end_character":38},"in_reply_to":"7ffa3b31_08cca887","updated":"2017-04-14 06:51:23.000000000","message":"Done","commit_id":"eb746996962d4547fe9eaf254f14decd456dda59"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7d83a66a019fe60c20d9c90c95a5153c309f2454","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            node \u003d objects.ComputeNode(context)"},{"line_number":37,"context_line":"            node.mem_total \u003d mem_total"},{"line_number":38,"context_line":"            node.mem_free \u003d mem_free"},{"line_number":39,"context_line":"            node.mem_available \u003d mem_ava"},{"line_number":40,"context_line":"            node.hostname \u003d self.host"},{"line_number":41,"context_line":"            node.numa_topology \u003d numa_obj"},{"line_number":42,"context_line":"            node.create(context)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_88c0b852","line":39,"updated":"2017-04-14 04:16:29.000000000","message":"I think line #34-#35, #37-#39 needs to move out of \u0027if\u0027 statement. Otherwise, the memory info won\u0027t keep updated after the node has been registered.","commit_id":"eb746996962d4547fe9eaf254f14decd456dda59"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"41bba58c4da6d81e19b9cc084555c98637a81b7a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            node \u003d objects.ComputeNode(context)"},{"line_number":37,"context_line":"            node.mem_total \u003d mem_total"},{"line_number":38,"context_line":"            node.mem_free \u003d mem_free"},{"line_number":39,"context_line":"            node.mem_available \u003d mem_ava"},{"line_number":40,"context_line":"            node.hostname \u003d self.host"},{"line_number":41,"context_line":"            node.numa_topology \u003d numa_obj"},{"line_number":42,"context_line":"            node.create(context)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_3e5b1e2f","line":39,"in_reply_to":"7ffa3b31_88c0b852","updated":"2017-04-14 06:51:23.000000000","message":"Done","commit_id":"eb746996962d4547fe9eaf254f14decd456dda59"}],"zun/container/os_capability/host_capability.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7d83a66a019fe60c20d9c90c95a5153c309f2454","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            mem_total \u003d m[idx1+1]"},{"line_number":56,"context_line":"            idx2 \u003d m.index(\u0027MemFree:\u0027)"},{"line_number":57,"context_line":"            mem_free \u003d m[idx2+1]"},{"line_number":58,"context_line":"            idx3 \u003d m.index(\u0027MemAvailable:\u0027)"},{"line_number":59,"context_line":"            mem_ava \u003d m[idx3+1]"},{"line_number":60,"context_line":"        return int(mem_total), int(mem_free), int(mem_ava)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_489d1058","line":58,"range":{"start_line":58,"start_character":28,"end_line":58,"end_character":40},"updated":"2017-04-14 04:16:29.000000000","message":"According to http://git.openstack.org/cgit/openstack-dev/devstack/tree/tools/memory_tracker.sh#n22 , this metric won\u0027t be available in old kernel. However, I can take it and implement a fall back to free+buffers+cache later.","commit_id":"eb746996962d4547fe9eaf254f14decd456dda59"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"41bba58c4da6d81e19b9cc084555c98637a81b7a","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            mem_total \u003d m[idx1+1]"},{"line_number":56,"context_line":"            idx2 \u003d m.index(\u0027MemFree:\u0027)"},{"line_number":57,"context_line":"            mem_free \u003d m[idx2+1]"},{"line_number":58,"context_line":"            idx3 \u003d m.index(\u0027MemAvailable:\u0027)"},{"line_number":59,"context_line":"            mem_ava \u003d m[idx3+1]"},{"line_number":60,"context_line":"        return int(mem_total), int(mem_free), int(mem_ava)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_5eb14ae1","line":58,"range":{"start_line":58,"start_character":28,"end_line":58,"end_character":40},"in_reply_to":"7ffa3b31_489d1058","updated":"2017-04-14 06:51:23.000000000","message":"Done","commit_id":"eb746996962d4547fe9eaf254f14decd456dda59"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"f0b8ed439e651aa2a9fc1b06637b1c641c873574","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                buffers \u003d m[idx31+1]"},{"line_number":65,"context_line":"                idx32 \u003d m.index(\u0027Cached:\u0027)"},{"line_number":66,"context_line":"                cached \u003d m[idx32+1]"},{"line_number":67,"context_line":"                mem_ava \u003d mem_free + buffers + cached"},{"line_number":68,"context_line":"        return int(mem_total), int(mem_free), int(mem_ava)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7ffa3b31_e6ef60ae","line":67,"range":{"start_line":67,"start_character":25,"end_line":67,"end_character":53},"updated":"2017-04-14 16:55:33.000000000","message":"This is a concatenation of string. I guess you intent to sum up the number instead? Then, you need to convert string to number before adding.","commit_id":"6a52755a471957bbde6ef6ea59f92d228a3c04d6"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"e3085c0ceadfdfa44ffce4c0f6186f1d099024f0","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                buffers \u003d m[idx31+1]"},{"line_number":65,"context_line":"                idx32 \u003d m.index(\u0027Cached:\u0027)"},{"line_number":66,"context_line":"                cached \u003d m[idx32+1]"},{"line_number":67,"context_line":"                mem_ava \u003d mem_free + buffers + cached"},{"line_number":68,"context_line":"        return int(mem_total), int(mem_free), int(mem_ava)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7ffa3b31_87189381","line":67,"range":{"start_line":67,"start_character":25,"end_line":67,"end_character":53},"in_reply_to":"7ffa3b31_e6ef60ae","updated":"2017-04-15 01:23:43.000000000","message":"Done","commit_id":"6a52755a471957bbde6ef6ea59f92d228a3c04d6"}]}
