)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"a46c3d88e21c103fa588e25bd48fef3eb3ddc673","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     sandriichenko \u003csandriichenko@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-04-11 18:07:04 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test for chassis-node-list"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If35dad99a8e3cdd169827bd84dbe25fa0e83d031"},{"line_number":10,"context_line":"Closes-Bug: #1563745"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a18252c_c3e534a9","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":8},"updated":"2016-04-12 09:01:54.000000000","message":"nit: s/test/functional test/","commit_id":"3f101d0946afb2ee9a87b2886c88e52af1b1245e"}],"ironicclient/tests/functional/base.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b4f3ec5410009ec3dbbbe2971b1bbeb93b0f81af","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    def validate_node(self, node_id):"},{"line_number":259,"context_line":"        return self.ironic(\u0027node-validate\u0027, params\u003dnode_id)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def list_node_chassis(self, params\u003d\u0027\u0027):"},{"line_number":262,"context_line":"        return self.ironic(\u0027chassis-node-list\u0027, params\u003dparams)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def get_node_uuids_from_chassis_node_list(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_5f103159","line":261,"updated":"2016-03-31 13:14:17.000000000","message":"chassis uuid is a required parameter for chassis-node-list, please add it as a separate argument to this function (list_node_chassis(self, chassis_uuid, params\u003d\u0027\u0027))\n\nAlso I think it would be more clear to name this function list_chassis_nodes.","commit_id":"9af72bb9c1a9057cf7a7bcdd52f2000a82d3ee0a"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"de2a52eacd94d3889b9284c352359b416e979573","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    def validate_node(self, node_id):"},{"line_number":259,"context_line":"        return self.ironic(\u0027node-validate\u0027, params\u003dnode_id)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def list_node_chassis(self, params\u003d\u0027\u0027):"},{"line_number":262,"context_line":"        return self.ironic(\u0027chassis-node-list\u0027, params\u003dparams)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def get_node_uuids_from_chassis_node_list(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_0f349df9","line":261,"in_reply_to":"ba0121b8_5f103159","updated":"2016-04-01 08:36:51.000000000","message":"Done","commit_id":"9af72bb9c1a9057cf7a7bcdd52f2000a82d3ee0a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b4f3ec5410009ec3dbbbe2971b1bbeb93b0f81af","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        return self.ironic(\u0027chassis-node-list\u0027, params\u003dparams)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def get_node_uuids_from_chassis_node_list(self):"},{"line_number":265,"context_line":"        chassis_node_list \u003d self.list_node_chassis(self.chassis[\u0027uuid\u0027])"},{"line_number":266,"context_line":"        return [x[\u0027UUID\u0027] for x in chassis_node_list]"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def list_driver(self, params\u003d\u0027\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_bfe06d97","line":265,"updated":"2016-03-31 13:14:17.000000000","message":"We should not rely on chassis parameter that only makes sense in child classes, please add chassis_uuid as a parameter to this function (I mean get_node_uuids_from_chassis_node_list(self, chassis_uuid))","commit_id":"9af72bb9c1a9057cf7a7bcdd52f2000a82d3ee0a"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"de2a52eacd94d3889b9284c352359b416e979573","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        return self.ironic(\u0027chassis-node-list\u0027, params\u003dparams)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def get_node_uuids_from_chassis_node_list(self):"},{"line_number":265,"context_line":"        chassis_node_list \u003d self.list_node_chassis(self.chassis[\u0027uuid\u0027])"},{"line_number":266,"context_line":"        return [x[\u0027UUID\u0027] for x in chassis_node_list]"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def list_driver(self, params\u003d\u0027\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_ef368901","line":265,"in_reply_to":"ba0121b8_bfe06d97","updated":"2016-04-01 08:36:51.000000000","message":"Done","commit_id":"9af72bb9c1a9057cf7a7bcdd52f2000a82d3ee0a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e9d3201351f215cca6308e60bbeb274dc3db7ef8","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            self.assertEqual(node_show_states[key], node_show[key])"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def assertNodeValidate(self, node_validate):"},{"line_number":184,"context_line":"        \"\"\"Assert validate that all interfaces are present."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        :param node_validate: output from node-validate cmd"},{"line_number":187,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_e9f2d76e","line":184,"updated":"2016-04-04 13:07:58.000000000","message":"It\u0027s better to remove either assert or validate from this sentence, including both does not sound right.","commit_id":"bb88b61f3246dd1fc41af5f04d0960708af761d7"},{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"fe7737799f2c4c5727832ff8aecf4e1e503fa41b","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        return self.ironic(\u0027chassis-node-list\u0027,"},{"line_number":263,"context_line":"                           params\u003d\u0027{0} {1}\u0027.format(chassis_uuid, params))"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_node_uuids_from_chassis_node_list(self, chassis_uuid):"},{"line_number":266,"context_line":"        chassis_node_list \u003d self.list_node_chassis(chassis_uuid)"},{"line_number":267,"context_line":"        return {x[\u0027UUID\u0027] for x in chassis_node_list}"},{"line_number":268,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a18252c_0cb32251","line":265,"range":{"start_line":265,"start_character":12,"end_line":265,"end_character":22},"updated":"2016-04-15 05:19:03.000000000","message":"nit /get_node_uuids_from_chassis_node_list/\n/get_nodes_uuids_from_chassis_node_list/","commit_id":"3d98590f30b5c89cf5f89f8ba56dfecd0ff1bfa1"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f1bb7311ff87fe30bf4f584973d327673b0a5596","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_nodes_uuids_from_chassis_node_list(self, chassis_uuid):"},{"line_number":266,"context_line":"        chassis_node_list \u003d self.list_node_chassis(chassis_uuid)"},{"line_number":267,"context_line":"        return {x[\u0027UUID\u0027] for x in chassis_node_list}"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def list_driver(self, params\u003d\u0027\u0027):"},{"line_number":270,"context_line":"        return self.ironic(\u0027driver-list\u0027, params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_34a3ecb3","line":267,"updated":"2016-05-10 20:16:21.000000000","message":"I\u0027m curious to know why you are returning a set here. That is inconsistent with get_nodes_uuids_from_node_list() (above, line 236). Unless there is a good reason, I\u0027d like it to be a list.","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"3366d7150862e775ef9bd88837bee365d484a824","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_nodes_uuids_from_chassis_node_list(self, chassis_uuid):"},{"line_number":266,"context_line":"        chassis_node_list \u003d self.list_node_chassis(chassis_uuid)"},{"line_number":267,"context_line":"        return {x[\u0027UUID\u0027] for x in chassis_node_list}"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def list_driver(self, params\u003d\u0027\u0027):"},{"line_number":270,"context_line":"        return self.ironic(\u0027driver-list\u0027, params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_81072c17","line":267,"in_reply_to":"9abb7d3a_03b1a247","updated":"2016-06-07 15:29:12.000000000","message":"Done","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"3366d7150862e775ef9bd88837bee365d484a824","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_nodes_uuids_from_chassis_node_list(self, chassis_uuid):"},{"line_number":266,"context_line":"        chassis_node_list \u003d self.list_node_chassis(chassis_uuid)"},{"line_number":267,"context_line":"        return {x[\u0027UUID\u0027] for x in chassis_node_list}"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def list_driver(self, params\u003d\u0027\u0027):"},{"line_number":270,"context_line":"        return self.ironic(\u0027driver-list\u0027, params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_2106381d","line":267,"in_reply_to":"dab17558_34a3ecb3","updated":"2016-06-07 15:29:12.000000000","message":"Done","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"a7c15ceb450c07c43bf64f2c89a78dc377b346a0","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_nodes_uuids_from_chassis_node_list(self, chassis_uuid):"},{"line_number":266,"context_line":"        chassis_node_list \u003d self.list_node_chassis(chassis_uuid)"},{"line_number":267,"context_line":"        return {x[\u0027UUID\u0027] for x in chassis_node_list}"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def list_driver(self, params\u003d\u0027\u0027):"},{"line_number":270,"context_line":"        return self.ironic(\u0027driver-list\u0027, params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_03b1a247","line":267,"in_reply_to":"dab17558_34a3ecb3","updated":"2016-05-30 15:05:21.000000000","message":"I agree, I find it misleading because the suffix of the method also indicates that we are return a list (_list) and not a set.","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"33c8da0aa9c6aef68425f5f6b823362316280423","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            self.assertEqual(node_show_states[key], node_show[key])"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def assertNodeValidate(self, node_validate):"},{"line_number":184,"context_line":"        \"\"\"Assert that all interfaces present are valid."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        :param node_validate: output from node-validate cmd"},{"line_number":187,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aa08908_600a9a7a","line":184,"updated":"2016-06-14 16:26:29.000000000","message":"this change is unrelated","commit_id":"e9cd32f7e9451dc0f7099c942368d26122ee8b8c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"33c8da0aa9c6aef68425f5f6b823362316280423","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        return self.ironic(\u0027chassis-node-list\u0027,"},{"line_number":263,"context_line":"                           params\u003d\u0027{0} {1}\u0027.format(chassis_uuid, params))"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_nodes_uuids_from_chassis_node_list(self, chassis_uuid):"},{"line_number":266,"context_line":"        chassis_node_list \u003d self.list_node_chassis(chassis_uuid)"},{"line_number":267,"context_line":"        return [x[\u0027UUID\u0027] for x in chassis_node_list]"},{"line_number":268,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aa08908_400dde8d","line":265,"updated":"2016-06-14 16:26:29.000000000","message":"this function name is longer to type than the code it does :(","commit_id":"e9cd32f7e9451dc0f7099c942368d26122ee8b8c"}],"ironicclient/tests/functional/test_chassis.py":[{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"9c5d7175da22833c7035d292bb128b375788c1b8","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        updated_node \u003d self.update_node(node[\u0027uuid\u0027],"},{"line_number":83,"context_line":"                                        \u0027add chassis_uuid\u003d{0}\u0027"},{"line_number":84,"context_line":"                                        .format(self.chassis[\u0027uuid\u0027]))"},{"line_number":85,"context_line":"        self.assertIn(updated_node[\u0027uuid\u0027],"},{"line_number":86,"context_line":"                      self.get_node_uuids_from_chassis_node_list())"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_f9284f35","line":85,"updated":"2016-03-31 09:27:01.000000000","message":"as this is a functional test, and self.chassis is created unique for every test, I would rather create two nodes in a chassis, and check that sets of uuids of nodes created and nodes returned are equal.","commit_id":"9af72bb9c1a9057cf7a7bcdd52f2000a82d3ee0a"},{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"7b83c06ce86b3f96b26f9d180617415c28c2adb2","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    def test_chassis_node_list(self):"},{"line_number":87,"context_line":"        \"\"\"Test steps:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        1) create chassis"},{"line_number":90,"context_line":"        2) create node"},{"line_number":91,"context_line":"        3) update node"},{"line_number":92,"context_line":"        4) check that node added"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_c954fc22","line":89,"range":{"start_line":89,"start_character":18,"end_line":89,"end_character":25},"updated":"2016-04-13 07:45:20.000000000","message":"Add /in setUp()/","commit_id":"3f101d0946afb2ee9a87b2886c88e52af1b1245e"},{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"7b83c06ce86b3f96b26f9d180617415c28c2adb2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        \"\"\"Test steps:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        1) create chassis"},{"line_number":90,"context_line":"        2) create node"},{"line_number":91,"context_line":"        3) update node"},{"line_number":92,"context_line":"        4) check that node added"},{"line_number":93,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_897324e7","line":90,"range":{"start_line":90,"start_character":7,"end_line":90,"end_character":22},"updated":"2016-04-13 07:45:20.000000000","message":"nit: s/node/nodes/","commit_id":"3f101d0946afb2ee9a87b2886c88e52af1b1245e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"6822fb6d85935ea410a03a6e76a1a532780c83e0","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        1) create chassis"},{"line_number":90,"context_line":"        2) create node"},{"line_number":91,"context_line":"        3) update node"},{"line_number":92,"context_line":"        4) check that node added"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        node \u003d self.create_node()"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_3636cd03","line":91,"updated":"2016-04-12 16:23:46.000000000","message":"update the node to be included in chassis","commit_id":"3f101d0946afb2ee9a87b2886c88e52af1b1245e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"6822fb6d85935ea410a03a6e76a1a532780c83e0","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        1) create chassis"},{"line_number":90,"context_line":"        2) create node"},{"line_number":91,"context_line":"        3) update node"},{"line_number":92,"context_line":"        4) check that node added"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        node \u003d self.create_node()"},{"line_number":95,"context_line":"        node2 \u003d self.create_node()"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_361d2d74","line":92,"updated":"2016-04-12 16:23:46.000000000","message":"check that the node was added to chassis","commit_id":"3f101d0946afb2ee9a87b2886c88e52af1b1245e"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"a46c3d88e21c103fa588e25bd48fef3eb3ddc673","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        3) update node"},{"line_number":92,"context_line":"        4) check that node added"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        node \u003d self.create_node()"},{"line_number":95,"context_line":"        node2 \u003d self.create_node()"},{"line_number":96,"context_line":"        node3 \u003d self.create_node()"},{"line_number":97,"context_line":"        updated_node \u003d self.update_node(node[\u0027uuid\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_c6bee2fe","line":94,"range":{"start_line":94,"start_character":8,"end_line":94,"end_character":12},"updated":"2016-04-12 09:01:54.000000000","message":"nit: s/node/node1/ for just readability","commit_id":"3f101d0946afb2ee9a87b2886c88e52af1b1245e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"6822fb6d85935ea410a03a6e76a1a532780c83e0","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        self.assertEqual("},{"line_number":105,"context_line":"            nodes,"},{"line_number":106,"context_line":"            self.get_node_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"},{"line_number":107,"context_line":"        self.assertNotIn("},{"line_number":108,"context_line":"            node3[\u0027uuid\u0027],"},{"line_number":109,"context_line":"            self.get_node_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_f18d7f7c","line":107,"updated":"2016-04-12 16:23:46.000000000","message":"This is kind of duplicate, as you\u0027ve already asserted that list of nodes is equal to node, node2 \u003d\u003e node3 is not there.","commit_id":"3f101d0946afb2ee9a87b2886c88e52af1b1245e"},{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"e7c14e4754f619083ffae345ba7de0b45780ff05","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.assertEqual("},{"line_number":109,"context_line":"            nodes,"},{"line_number":110,"context_line":"            self.get_node_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"},{"line_number":111,"context_line":"        self.assertNotIn("},{"line_number":112,"context_line":"            node3[\u0027uuid\u0027],"},{"line_number":113,"context_line":"            self.get_node_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a18252c_6c7a9689","line":111,"range":{"start_line":111,"start_character":8,"end_line":111,"end_character":25},"updated":"2016-04-15 05:17:18.000000000","message":"Please check comment from Vladyslav Drok in patch set 6\nDon\u0027t need to check if node not in node-list because you check that created nodes in node-list","commit_id":"3d98590f30b5c89cf5f89f8ba56dfecd0ff1bfa1"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"9203c0397ebfbda248d6f4558850b8d05b1fd79c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.assertEqual("},{"line_number":109,"context_line":"            nodes,"},{"line_number":110,"context_line":"            self.get_node_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"},{"line_number":111,"context_line":"        self.assertNotIn("},{"line_number":112,"context_line":"            node3[\u0027uuid\u0027],"},{"line_number":113,"context_line":"            self.get_node_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a122d0e_8daa5518","line":111,"range":{"start_line":111,"start_character":8,"end_line":111,"end_character":25},"in_reply_to":"5a18252c_6c7a9689","updated":"2016-04-15 11:56:23.000000000","message":"I wrote in upper comment, that it check is needed.","commit_id":"3d98590f30b5c89cf5f89f8ba56dfecd0ff1bfa1"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"2c6df35fc13260a36394e82846923b65352ba113","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        nodes \u003d {updated_node1[\u0027uuid\u0027], updated_node2[\u0027uuid\u0027]}"},{"line_number":108,"context_line":"        self.assertEqual("},{"line_number":109,"context_line":"            nodes,"},{"line_number":110,"context_line":"            self.get_node_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"},{"line_number":111,"context_line":"        self.assertNotIn("},{"line_number":112,"context_line":"            node3[\u0027uuid\u0027],"},{"line_number":113,"context_line":"            self.get_node_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_1a30c600","line":110,"range":{"start_line":110,"start_character":17,"end_line":110,"end_character":54},"updated":"2016-04-25 15:50:06.000000000","message":"There is different node name here and in base.py:\nget_node_uuids_from_chassis_node_list\nget_nodes_uuids_from_chassis_node_list","commit_id":"2b550cea34c41f003af3a289a5716e35ad6368aa"},{"author":{"_account_id":7933,"name":"Philippe Godin","email":"godp1301@gmail.com","username":"godp1301"},"change_message_id":"2274c025682f3661236735beb7d5df592eb7c7cd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                            updated_chassis[\u0027description\u0027])"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_chassis_node_list(self):"},{"line_number":87,"context_line":"        \"\"\"Test steps:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        1) create chassis in setUp()"},{"line_number":90,"context_line":"        2) create nodes"},{"line_number":91,"context_line":"        3) update the nodes to be included in chassis"},{"line_number":92,"context_line":"        4) check if the nodes are added to chassis"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        node1 \u003d self.create_node()"},{"line_number":95,"context_line":"        node2 \u003d self.create_node()"},{"line_number":96,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_18ec37f2","line":93,"range":{"start_line":87,"start_character":0,"end_line":93,"end_character":11},"updated":"2016-04-26 14:32:52.000000000","message":"nit-picking: This isn\u0027t completely true as a third node is created and checked that it is not be included in the chassis. The code is correct, the steps are missing.","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"3366d7150862e775ef9bd88837bee365d484a824","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                            updated_chassis[\u0027description\u0027])"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_chassis_node_list(self):"},{"line_number":87,"context_line":"        \"\"\"Test steps:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        1) create chassis in setUp()"},{"line_number":90,"context_line":"        2) create nodes"},{"line_number":91,"context_line":"        3) update the nodes to be included in chassis"},{"line_number":92,"context_line":"        4) check if the nodes are added to chassis"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        node1 \u003d self.create_node()"},{"line_number":95,"context_line":"        node2 \u003d self.create_node()"},{"line_number":96,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_21511837","line":93,"range":{"start_line":87,"start_character":0,"end_line":93,"end_character":11},"in_reply_to":"1a122d0e_18ec37f2","updated":"2016-06-07 15:29:12.000000000","message":"Done","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f1bb7311ff87fe30bf4f584973d327673b0a5596","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \u0027\u0027\u0027"},{"line_number":97,"context_line":"        This node is created to show that it won\u0027t be present"},{"line_number":98,"context_line":"        in the chassis-node-list output"},{"line_number":99,"context_line":"        \u0027\u0027\u0027"},{"line_number":100,"context_line":"        node3 \u003d self.create_node()"},{"line_number":101,"context_line":"        updated_node1 \u003d self.update_node(node1[\u0027uuid\u0027],"},{"line_number":102,"context_line":"                                         \u0027add chassis_uuid\u003d{0}\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_b4419cab","line":99,"updated":"2016-05-10 20:16:21.000000000","message":"We don\u0027t tend to use \u0027\u0027\u0027. Why not just prepend \u0027#\u0027 to the comment lines?","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"3366d7150862e775ef9bd88837bee365d484a824","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \u0027\u0027\u0027"},{"line_number":97,"context_line":"        This node is created to show that it won\u0027t be present"},{"line_number":98,"context_line":"        in the chassis-node-list output"},{"line_number":99,"context_line":"        \u0027\u0027\u0027"},{"line_number":100,"context_line":"        node3 \u003d self.create_node()"},{"line_number":101,"context_line":"        updated_node1 \u003d self.update_node(node1[\u0027uuid\u0027],"},{"line_number":102,"context_line":"                                         \u0027add chassis_uuid\u003d{0}\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_6945cc6e","line":99,"in_reply_to":"dab17558_b4419cab","updated":"2016-06-07 15:29:12.000000000","message":"Done","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f1bb7311ff87fe30bf4f584973d327673b0a5596","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            self.get_nodes_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"},{"line_number":111,"context_line":"        self.assertNotIn("},{"line_number":112,"context_line":"            node3[\u0027uuid\u0027],"},{"line_number":113,"context_line":"            self.get_nodes_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_74cf3429","line":113,"updated":"2016-05-10 20:16:21.000000000","message":"I don\u0027t see the need to make this call again, given that it is done in line 110.","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"3366d7150862e775ef9bd88837bee365d484a824","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            self.get_nodes_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"},{"line_number":111,"context_line":"        self.assertNotIn("},{"line_number":112,"context_line":"            node3[\u0027uuid\u0027],"},{"line_number":113,"context_line":"            self.get_nodes_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_a92694cb","line":113,"in_reply_to":"9abb7d3a_43928a9f","updated":"2016-06-07 15:29:12.000000000","message":"Done","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"a7c15ceb450c07c43bf64f2c89a78dc377b346a0","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            self.get_nodes_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"},{"line_number":111,"context_line":"        self.assertNotIn("},{"line_number":112,"context_line":"            node3[\u0027uuid\u0027],"},{"line_number":113,"context_line":"            self.get_nodes_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_43928a9f","line":113,"in_reply_to":"dab17558_74cf3429","updated":"2016-05-30 15:05:21.000000000","message":"++ call it once and save the result in a variable","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"3366d7150862e775ef9bd88837bee365d484a824","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            self.get_nodes_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"},{"line_number":111,"context_line":"        self.assertNotIn("},{"line_number":112,"context_line":"            node3[\u0027uuid\u0027],"},{"line_number":113,"context_line":"            self.get_nodes_uuids_from_chassis_node_list(self.chassis[\u0027uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_693cace2","line":113,"in_reply_to":"dab17558_74cf3429","updated":"2016-06-07 15:29:12.000000000","message":"Done","commit_id":"df08fb39699b4a4ccd35761a9008b5bfd9d60fa1"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"429ed7186078157326d958d98eac01501bff7c50","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                                         .format(self.chassis[\u0027uuid\u0027]))"},{"line_number":108,"context_line":"        nodes \u003d [updated_node1[\u0027uuid\u0027], updated_node2[\u0027uuid\u0027]]"},{"line_number":109,"context_line":"        nodes.sort()"},{"line_number":110,"context_line":"        nodes_uuids \u003d self.get_nodes_uuids_from_chassis_node_list("},{"line_number":111,"context_line":"            self.chassis[\u0027uuid\u0027])"},{"line_number":112,"context_line":"        nodes_uuids.sort()"},{"line_number":113,"context_line":"        self.assertEqual(nodes, nodes_uuids)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_675eb713","line":110,"updated":"2016-06-23 02:34:19.000000000","message":"I\u0027m going to let this go because this is only a test, but both nodes and nodes_uuids are lists of node UUIDs. The difference really, is that this list comes from chassis_node_list, so perhaps \u0027nodes_from_chassis\u0027 is better than \u0027nodes_uuids\u0027.","commit_id":"e9cd32f7e9451dc0f7099c942368d26122ee8b8c"}]}
