)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"84598b09b3e6bed5adebe1c6d5e0c863648d7b31","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     sandriichenko \u003csandriichenko@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-31 19:08:38 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test for \u0027node-list field\u0027 command"},{"line_number":8,"context_line":"Closes-Bug: #1564490"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: I8a2ab5d21ab8d0ba9ab5a034fbd112bc148f0af6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba0121b8_7311c503","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":38},"updated":"2016-04-01 06:41:04.000000000","message":"Please add blank line after title, also additional info about change  is welcome.\n\nSee more info about commit message here: https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"93390141106fea27e8fd740545557e3d630cb440"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"fbf00cb9ee98858e07f04e8453fcd511f77b77dd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     sandriichenko \u003csandriichenko@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-31 19:08:38 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test for \u0027node-list field\u0027 command"},{"line_number":8,"context_line":"Closes-Bug: #1564490"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: I8a2ab5d21ab8d0ba9ab5a034fbd112bc148f0af6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba0121b8_92de10db","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":38},"in_reply_to":"ba0121b8_7311c503","updated":"2016-04-01 08:58:55.000000000","message":"Done","commit_id":"93390141106fea27e8fd740545557e3d630cb440"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"189c842e91894d5f08e4b34c3f4adbd90ad40b9b","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:08:17 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test for \u0027node-show --field\u0027 command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1564490"},{"line_number":10,"context_line":"Change-Id: I8a2ab5d21ab8d0ba9ab5a034fbd112bc148f0af6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a18252c_46fe526c","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":8},"updated":"2016-04-12 09:05:47.000000000","message":"nit: s/test/functional test/","commit_id":"060c3ee6e91c84f2a365ecb642cd20208c17d6ce"}],"ironicclient/tests/functional/base.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0bfb0cc0d0ccb133d61117aa22af5f49409cc771","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":2,"id":"9a061dce_c920b3fa","line":184,"updated":"2016-04-04 13:11:27.000000000","message":"Meh, this one is already present in https://review.openstack.org/#/c/299482/","commit_id":"899db24465318413e284ded8a826b33ca6a40517"},{"author":{"_account_id":20675,"name":"Sofiia Andriichenko","email":"sofiia.andriichenko@gmail.com","username":"SofiiaAndriichenko"},"change_message_id":"29689770e9e728fd0fbef526eda134629fed63e2","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":2,"id":"9a061dce_223f98d7","line":184,"in_reply_to":"9a061dce_c920b3fa","updated":"2016-04-05 09:59:20.000000000","message":"Done","commit_id":"899db24465318413e284ded8a826b33ca6a40517"}],"ironicclient/tests/functional/test_node.py":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"84598b09b3e6bed5adebe1c6d5e0c863648d7b31","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.assertEqual(self.node[\u0027uuid\u0027], node_show[\u0027uuid\u0027])"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def test_node_show_field(self):"},{"line_number":49,"context_line":"        \"\"\"Test steps:"},{"line_number":50,"context_line":"        1) create node"},{"line_number":51,"context_line":"        2) show node with fields instance_uuid, driver, name, uuid"},{"line_number":52,"context_line":"        3) check that fields instance_uuid, driver, name, uuid is exist"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_f399557a","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":22},"updated":"2016-04-01 06:41:04.000000000","message":"Multi line docstrings should start with a one line summary followed by an empty line. See example above.\n\npep8 fails due this","commit_id":"93390141106fea27e8fd740545557e3d630cb440"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"84598b09b3e6bed5adebe1c6d5e0c863648d7b31","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        fields \u003d [\u0027instance_uuid\u0027, \u0027driver\u0027, \u0027name\u0027, \u0027uuid\u0027]"},{"line_number":55,"context_line":"        node_show \u003d self.show_node(self.node[\u0027uuid\u0027],"},{"line_number":56,"context_line":"                                   params\u003d\u0027--fields {0} {1} {2} {3}\u0027"},{"line_number":57,"context_line":"                                   .format(fields[0], fields[1],"},{"line_number":58,"context_line":"                                           fields[2], fields[3]))"},{"line_number":59,"context_line":"        self.assertTableHeaders(fields, node_show.keys())"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def test_node_delete(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_73438513","line":58,"range":{"start_line":56,"start_character":42,"end_line":58,"end_character":65},"updated":"2016-04-01 06:41:04.000000000","message":"you could simplify it: \n\n\u0027--fields {0} {1} {2} {3}\u0027.format(*fields)","commit_id":"93390141106fea27e8fd740545557e3d630cb440"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"adf2d3ec296c5cc098abe50fb64d24256a506df8","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        1) create node"},{"line_number":52,"context_line":"        2) show node with fields instance_uuid, driver, name, uuid"},{"line_number":53,"context_line":"        3) check that fields instance_uuid, driver, name, uuid is exist"},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        fields \u003d [\u0027instance_uuid\u0027, \u0027driver\u0027, \u0027name\u0027, \u0027uuid\u0027]"},{"line_number":56,"context_line":"        node_show \u003d self.show_node(self.node[\u0027uuid\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_515ef3e9","line":53,"updated":"2016-04-12 16:25:11.000000000","message":"check that instance_uuid, driver, name, uuid are the output fields","commit_id":"060c3ee6e91c84f2a365ecb642cd20208c17d6ce"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"740c136f7c9762758108cabb61a087663e50023a","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        1) create node"},{"line_number":52,"context_line":"        2) show node with fields instance_uuid, driver, name, uuid"},{"line_number":53,"context_line":"        3) check that fields instance_uuid, driver, name, uuid is exist"},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        fields \u003d [\u0027instance_uuid\u0027, \u0027driver\u0027, \u0027name\u0027, \u0027uuid\u0027]"},{"line_number":56,"context_line":"        node_show \u003d self.show_node(self.node[\u0027uuid\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_c6dd1944","line":53,"in_reply_to":"5a18252c_515ef3e9","updated":"2016-04-12 21:18:20.000000000","message":"Those fields are the *only* fields that are output.","commit_id":"060c3ee6e91c84f2a365ecb642cd20208c17d6ce"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"740c136f7c9762758108cabb61a087663e50023a","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        fields \u003d [\u0027instance_uuid\u0027, \u0027driver\u0027, \u0027name\u0027, \u0027uuid\u0027]"},{"line_number":56,"context_line":"        node_show \u003d self.show_node(self.node[\u0027uuid\u0027],"},{"line_number":57,"context_line":"                                   params\u003d\u0027--fields {0} {1} {2} {3}\u0027"},{"line_number":58,"context_line":"                                   .format(*fields))"},{"line_number":59,"context_line":"        self.assertTableHeaders(fields, node_show.keys())"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def test_node_delete(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_46ae2986","line":58,"updated":"2016-04-12 21:18:20.000000000","message":"This works but is clunky; it means you have to know that there are exactly 4 strings. Why don\u0027t you just use \u0027 \u0027.join(fields) to generate one string with the 4 fields?","commit_id":"060c3ee6e91c84f2a365ecb642cd20208c17d6ce"}]}
