)]}'
{"nova/virt/ironic/driver.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b5f990239ec8184e2d87328c9b3df949dbd6283d","unresolved":false,"context_lines":[{"line_number":481,"context_line":"        # NOTE(lucasagomes): limit \u003d\u003d 0 is an indicator to continue"},{"line_number":482,"context_line":"        # pagination until there\u0027re no more values to be returned."},{"line_number":483,"context_line":"        node_list \u003d self.ironicclient.call(\u0027node.list\u0027, detail\u003dTrue,"},{"line_number":484,"context_line":"                                           maintenance\u003dFalse, limit\u003d0)"},{"line_number":485,"context_line":"        node_cache \u003d {}"},{"line_number":486,"context_line":"        for node in node_list:"},{"line_number":487,"context_line":"            node_cache[node.uuid] \u003d node"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aca2d91_efabea87","line":484,"updated":"2015-05-07 20:11:06.000000000","message":"I\u0027m not sure this is right. There are a few methods that call this. If you look at eg node_is_available(), if the requested node isn\u0027t in this cache, we\u0027ll do a node.get call anyway (making it more inefficient than getting nodes-in-maintenance here).\n\nAnd if we really do NOT want any nodes that are in maintenance to be visible to nova, then we need to change node_is_available() so that it doesn\u0027t return the node after the node.get call, if it is in maintenance.\n\nnode_is_available() is one method that uses the cache; there are other methods, and we should go through them all to make sure they will work as desired after this fix.","commit_id":"9c2c03034b5a32d1475d2374f8595dde99977b33"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"b7456b6d91a6d9b1077d980c9c07b19eab3487f0","unresolved":false,"context_lines":[{"line_number":481,"context_line":"        # NOTE(lucasagomes): limit \u003d\u003d 0 is an indicator to continue"},{"line_number":482,"context_line":"        # pagination until there\u0027re no more values to be returned."},{"line_number":483,"context_line":"        node_list \u003d self.ironicclient.call(\u0027node.list\u0027, detail\u003dTrue,"},{"line_number":484,"context_line":"                                           maintenance\u003dFalse, limit\u003d0)"},{"line_number":485,"context_line":"        node_cache \u003d {}"},{"line_number":486,"context_line":"        for node in node_list:"},{"line_number":487,"context_line":"            node_cache[node.uuid] \u003d node"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aca2d91_aef4cbf1","line":484,"in_reply_to":"1aca2d91_efabea87","updated":"2015-05-08 01:39:21.000000000","message":"thanks for the comments Ruby.\n\nwith maintenance\u003dFalse here, update resource periodic task will let nova only see non-maintenace node, so I think nova will not call  node_is_available(node-in-maintenance).","commit_id":"9c2c03034b5a32d1475d2374f8595dde99977b33"}]}
