)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b039fc2be1765cc85a670724878a284139928aad","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Better check for available nodes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If node has no instance associated with it, is not in maintenance mode"},{"line_number":10,"context_line":"and has a valid power state then it\u0027s ready to be presented to Nova."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1301279"},{"line_number":13,"context_line":"Change-Id: Ic80c69ee1b63fe920cbb7747a6c9c082a569733d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAW3%2F%2Fb8Q%3D","line":10,"updated":"2014-04-14 15:42:04.000000000","message":"Probably want to say \u0027is powered off\u0027 because powered on is a valid power state.","commit_id":"19804723a7b969046b207bea6604dd2946711355"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"adafd1df60bfecd8f0a3e1c4a9317c5fe26fa24d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Better check for available nodes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If node has no instance associated with it, is not in maintenance mode"},{"line_number":10,"context_line":"and has a valid power state then it\u0027s ready to be presented to Nova."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1301279"},{"line_number":13,"context_line":"Change-Id: Ic80c69ee1b63fe920cbb7747a6c9c082a569733d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAXH%2F%2Fxgs%3D","line":10,"in_reply_to":"AAAAW3%2F%2Fb8Q%3D","updated":"2014-04-17 15:02:15.000000000","message":"done","commit_id":"19804723a7b969046b207bea6604dd2946711355"}],"ironic/nova/tests/virt/ironic/test_driver.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b039fc2be1765cc85a670724878a284139928aad","unresolved":false,"context_lines":[{"line_number":343,"context_line":"                                       power_state\u003dironic_states.POWER_OFF))"},{"line_number":344,"context_line":"        expected_nodes \u003d [n.uuid for n in nodes]"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        # Append nodes in a state that shouln\u0027t be exposed to nova"},{"line_number":347,"context_line":"        nodes.append(get_test_node(uuid\u003duuidutils.generate_uuid(),"},{"line_number":348,"context_line":"                                   power_state\u003dNone))"},{"line_number":349,"context_line":"        nodes.append(get_test_node(uuid\u003duuidutils.generate_uuid(),"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAW3%2F%2Fb%2Fk%3D","line":346,"updated":"2014-04-14 15:42:04.000000000","message":"typo, only if you have to make another change. \"shouln\u0027t\" -\u003e \"shouldn\u0027t\".","commit_id":"19804723a7b969046b207bea6604dd2946711355"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"adafd1df60bfecd8f0a3e1c4a9317c5fe26fa24d","unresolved":false,"context_lines":[{"line_number":343,"context_line":"                                       power_state\u003dironic_states.POWER_OFF))"},{"line_number":344,"context_line":"        expected_nodes \u003d [n.uuid for n in nodes]"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        # Append nodes in a state that shouln\u0027t be exposed to nova"},{"line_number":347,"context_line":"        nodes.append(get_test_node(uuid\u003duuidutils.generate_uuid(),"},{"line_number":348,"context_line":"                                   power_state\u003dNone))"},{"line_number":349,"context_line":"        nodes.append(get_test_node(uuid\u003duuidutils.generate_uuid(),"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2Fxgw%3D","line":346,"in_reply_to":"AAAAW3%2F%2Fb%2Fk%3D","updated":"2014-04-17 15:02:15.000000000","message":"done","commit_id":"19804723a7b969046b207bea6604dd2946711355"}],"ironic/nova/virt/ironic/driver.py":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"b8a156a0da713a8f4f371d9ff1c5ceb17691d438","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        # with it, is not in maintenance mode and has a valid power"},{"line_number":324,"context_line":"        # state then it\u0027s ready to be presented to Nova"},{"line_number":325,"context_line":"        nodes \u003d [n.uuid for n in icli.node.list() if n.power_state and"},{"line_number":326,"context_line":"                                                  not n.instance_uuid and"},{"line_number":327,"context_line":"                                                  not n.maintenance]"},{"line_number":328,"context_line":"        LOG.debug(\"Returning Nodes: %s\" % nodes)"},{"line_number":329,"context_line":"        return nodes"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9v50%3D","line":326,"updated":"2014-04-02 12:13:40.000000000","message":"Ironic and Ironic client support filtering for nodes list\n def list(self, associated\u003dNone, maintenance\u003dNone):","commit_id":"49b5cb3e7783fa604558a4e50fa61d77b3837b20"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"6fb28220b23d6c50ff89c2224b07ee02a027df17","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        # with it, is not in maintenance mode and has a valid power"},{"line_number":324,"context_line":"        # state then it\u0027s ready to be presented to Nova"},{"line_number":325,"context_line":"        nodes \u003d [n.uuid for n in icli.node.list() if n.power_state and"},{"line_number":326,"context_line":"                                                  not n.instance_uuid and"},{"line_number":327,"context_line":"                                                  not n.maintenance]"},{"line_number":328,"context_line":"        LOG.debug(\"Returning Nodes: %s\" % nodes)"},{"line_number":329,"context_line":"        return nodes"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9vu8%3D","line":326,"in_reply_to":"AAAAWH%2F9v50%3D","updated":"2014-04-02 12:40:44.000000000","message":"Oh, great idea! /me forgot the filters! Will fix thanks!","commit_id":"49b5cb3e7783fa604558a4e50fa61d77b3837b20"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"5655d73f4082c5039a602d0989b50dbc2aad60ae","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        # with it, is not in maintenance mode and has a valid power"},{"line_number":324,"context_line":"        # state then it\u0027s ready to be presented to Nova"},{"line_number":325,"context_line":"        n_list \u003d icli.node.list(maintenance\u003dFalse, associated\u003dFalse)"},{"line_number":326,"context_line":"        nodes \u003d [n.uuid for n in n_list if n.power_state]"},{"line_number":327,"context_line":"        LOG.debug(\"Returning Nodes: %s\" % nodes)"},{"line_number":328,"context_line":"        return nodes"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F%2FpY%3D","line":326,"updated":"2014-04-08 23:56:13.000000000","message":"It might be safer to specify the power_state values of interest, eg POWER_ON, POWER_OFF. I think power_state could also be ERROR and we probably don\u0027t want those.","commit_id":"232e884df991e762826c13a9657c8b13c30620d0"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"eadfdb140d204a1805229628c0acbb9932889990","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        # with it, is not in maintenance mode and has a valid power"},{"line_number":324,"context_line":"        # state then it\u0027s ready to be presented to Nova"},{"line_number":325,"context_line":"        n_list \u003d icli.node.list(maintenance\u003dFalse, associated\u003dFalse)"},{"line_number":326,"context_line":"        nodes \u003d [n.uuid for n in n_list if n.power_state]"},{"line_number":327,"context_line":"        LOG.debug(\"Returning Nodes: %s\" % nodes)"},{"line_number":328,"context_line":"        return nodes"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F6Dw%3D","line":326,"in_reply_to":"AAAAW3%2F%2F%2FpY%3D","updated":"2014-04-09 15:14:19.000000000","message":"+1, will change it! Thanks for pointing it out","commit_id":"232e884df991e762826c13a9657c8b13c30620d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"947a52fe4c1022a647d67e3b48692a4184c880be","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        n_list \u003d icli.node.list(maintenance\u003dFalse, associated\u003dFalse)"},{"line_number":335,"context_line":"        nodes \u003d [n.uuid for n in n_list"},{"line_number":336,"context_line":"                 if n.power_state in [ironic_states.POWER_ON,"},{"line_number":337,"context_line":"                                      ironic_states.POWER_OFF]]"},{"line_number":338,"context_line":"        LOG.debug(\"Returning Nodes: %s\" % nodes)"},{"line_number":339,"context_line":"        return nodes"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAW3%2F%2F0Ao%3D","line":337,"updated":"2014-04-10 08:51:43.000000000","message":"If you happen to create one more version of this patch, please consider not using list constants for doing \u0027in\u0027 comparison - using tuples (or sets for longer lists) would be far more optimal.","commit_id":"db9b722f187ba0a961a6a66ba3804d875ca13547"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"6fa7aa9b0f8bbf2df2e228ff84aeb08502b96487","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        n_list \u003d icli.node.list(maintenance\u003dFalse, associated\u003dFalse)"},{"line_number":335,"context_line":"        nodes \u003d [n.uuid for n in n_list"},{"line_number":336,"context_line":"                 if n.power_state in [ironic_states.POWER_ON,"},{"line_number":337,"context_line":"                                      ironic_states.POWER_OFF]]"},{"line_number":338,"context_line":"        LOG.debug(\"Returning Nodes: %s\" % nodes)"},{"line_number":339,"context_line":"        return nodes"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAW3%2F%2FyEY%3D","line":337,"in_reply_to":"AAAAW3%2F%2F0Ao%3D","updated":"2014-04-10 13:01:25.000000000","message":"Roger. Constructing a tuple is faster than a list[1], I can change it if I need to put up a new patch set, this list has only 2 items so I bet we won\u0027t hit any performance problem with it as-is.\n\n\n[1] http://stackoverflow.com/questions/3340539/why-tuple-is-faster-than-list","commit_id":"db9b722f187ba0a961a6a66ba3804d875ca13547"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"53ca2e58f27166c416339f1381892d303972ca46","unresolved":false,"context_lines":[{"line_number":309,"context_line":"        instances \u003d [i for i in node_list if i.instance_uuid]"},{"line_number":310,"context_line":"        return instances"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def _check_node_is_available(self, node_obj):"},{"line_number":313,"context_line":"        # NOTE (lucasagomes): If node has no instance associated"},{"line_number":314,"context_line":"        # with it, is not in maintenance mode and is powered off"},{"line_number":315,"context_line":"        # then it\u0027s ready to be presented to Nova."}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAXH%2F%2Fv70%3D","line":312,"updated":"2014-04-17 18:21:31.000000000","message":"If you happen to make new version of this patch, please consider removing \u0027check\u0027 word from the name, `node_is_available` sounds more human-readable to me","commit_id":"fde10775aae68f776b0abf1e8bc4d97dd9b53ec6"}]}
