)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"b1a96a60f46e051d98385cec38feccbb5e8f762c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     JP Parkin \u003cjpparkin@ca.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-31 02:28:17 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added a new function test for validating the setting of one "},{"line_number":8,"context_line":"property for an existing volume type"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: Ia9a7d86ce9b0d8df9d64ddc1df2d443843bba5ef"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_4ae8c416","line":7,"updated":"2015-07-31 11:11:35.000000000","message":"Tribal knowledge, but this commit message needs to be\n\n* one line\n* with no trailing white space\n* followed by a blank line if there is to be more detail\n* all lines are supposed to be fairly short, I forget max length","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":17576,"name":"JP Parkin","email":"jpparkin@ca.ibm.com","username":"jpparkin"},"change_message_id":"656608643541b7da6511dbd453fc1439c6d091e8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     JP Parkin \u003cjpparkin@ca.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-31 02:28:17 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added a new function test for validating the setting of one "},{"line_number":8,"context_line":"property for an existing volume type"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: Ia9a7d86ce9b0d8df9d64ddc1df2d443843bba5ef"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_3aa7bfa8","line":7,"in_reply_to":"3a50d1a3_4ae8c416","updated":"2015-08-02 01:30:50.000000000","message":"Good to know - thanks !","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"}],"functional/tests/volume/v1/test_volume_type.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"b1a96a60f46e051d98385cec38feccbb5e8f762c","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        props \u003d \"foo\u003d\u0027bar\u0027\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        raw_output \u003d self.openstack(\u0027volume type create \u0027 + name + show_opts)"},{"line_number":47,"context_line":"        self.assertOutput(name + \u0027\\n\u0027, raw_output)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        raw_output \u003d self.openstack(\u0027volume type set \u0027 + name +"},{"line_number":50,"context_line":"                                    \u0027 --property \u0027 + props)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_4a3684b5","line":47,"updated":"2015-07-31 11:11:35.000000000","message":"No need to create another type here, use self.NAME","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":17576,"name":"JP Parkin","email":"jpparkin@ca.ibm.com","username":"jpparkin"},"change_message_id":"656608643541b7da6511dbd453fc1439c6d091e8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        props \u003d \"foo\u003d\u0027bar\u0027\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        raw_output \u003d self.openstack(\u0027volume type create \u0027 + name + show_opts)"},{"line_number":47,"context_line":"        self.assertOutput(name + \u0027\\n\u0027, raw_output)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        raw_output \u003d self.openstack(\u0027volume type set \u0027 + name +"},{"line_number":50,"context_line":"                                    \u0027 --property \u0027 + props)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_bade6f3c","line":47,"in_reply_to":"3a50d1a3_4a3684b5","updated":"2015-08-02 01:30:50.000000000","message":"Thanks for reviewing this Terry - my thinking was that I didn\u0027t want to impact new tests that might be using self.NAME ( in case other unit tests care about the lack of a property ).  I\u0027ll make the suggested changes and if anyone else cares about the property in the furture they will have to deal with it ;)","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e374e833ab4e379fde4851dcadb57080b2e1053e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        props \u003d \"foo\u003d\u0027bar\u0027\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        raw_output \u003d self.openstack(\u0027volume type create \u0027 + name + show_opts)"},{"line_number":47,"context_line":"        self.assertOutput(name + \u0027\\n\u0027, raw_output)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        raw_output \u003d self.openstack(\u0027volume type set \u0027 + name +"},{"line_number":50,"context_line":"                                    \u0027 --property \u0027 + props)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_9507c417","line":47,"in_reply_to":"3a50d1a3_4a3684b5","updated":"2015-07-31 13:35:29.000000000","message":"you don\u0027t need this here because its done in setUpClass","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"b1a96a60f46e051d98385cec38feccbb5e8f762c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        raw_output \u003d self.openstack(\u0027volume type create \u0027 + name + show_opts)"},{"line_number":47,"context_line":"        self.assertOutput(name + \u0027\\n\u0027, raw_output)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        raw_output \u003d self.openstack(\u0027volume type set \u0027 + name +"},{"line_number":50,"context_line":"                                    \u0027 --property \u0027 + props)"},{"line_number":51,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_2a11b804","line":49,"updated":"2015-07-31 11:11:35.000000000","message":"s/name/self.NAME","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":17576,"name":"JP Parkin","email":"jpparkin@ca.ibm.com","username":"jpparkin"},"change_message_id":"656608643541b7da6511dbd453fc1439c6d091e8","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        raw_output \u003d self.openstack(\u0027volume type create \u0027 + name + show_opts)"},{"line_number":47,"context_line":"        self.assertOutput(name + \u0027\\n\u0027, raw_output)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        raw_output \u003d self.openstack(\u0027volume type set \u0027 + name +"},{"line_number":50,"context_line":"                                    \u0027 --property \u0027 + props)"},{"line_number":51,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_1af0c3c8","line":49,"in_reply_to":"3a50d1a3_2a11b804","updated":"2015-08-02 01:30:50.000000000","message":"Done","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"b1a96a60f46e051d98385cec38feccbb5e8f762c","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        raw_output \u003d self.openstack(\u0027volume type set \u0027 + name +"},{"line_number":50,"context_line":"                                    \u0027 --property \u0027 + props)"},{"line_number":51,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        raw_output \u003d self.openstack(\u0027volume type show -f value -c properties \u0027"},{"line_number":54,"context_line":"                                    + name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_ea6c309f","line":51,"updated":"2015-07-31 11:11:35.000000000","message":"Use assertEqual here.  assertOutput is a class method for the set up and tear down.","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":17576,"name":"JP Parkin","email":"jpparkin@ca.ibm.com","username":"jpparkin"},"change_message_id":"656608643541b7da6511dbd453fc1439c6d091e8","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        raw_output \u003d self.openstack(\u0027volume type set \u0027 + name +"},{"line_number":50,"context_line":"                                    \u0027 --property \u0027 + props)"},{"line_number":51,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        raw_output \u003d self.openstack(\u0027volume type show -f value -c properties \u0027"},{"line_number":54,"context_line":"                                    + name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_dab81beb","line":51,"in_reply_to":"3a50d1a3_ea6c309f","updated":"2015-08-02 01:30:50.000000000","message":"Changing to assertEqual as suggested by Terry\n\nSteve - not sure I follow your comment - you want the assert here to catch a failure on the volume type set command right ?  The delete below will be removed if you just got your comment on the wrong line of the review.","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e374e833ab4e379fde4851dcadb57080b2e1053e","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        raw_output \u003d self.openstack(\u0027volume type set \u0027 + name +"},{"line_number":50,"context_line":"                                    \u0027 --property \u0027 + props)"},{"line_number":51,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        raw_output \u003d self.openstack(\u0027volume type show -f value -c properties \u0027"},{"line_number":54,"context_line":"                                    + name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_d5246cb3","line":51,"in_reply_to":"3a50d1a3_ea6c309f","updated":"2015-07-31 13:35:29.000000000","message":"you don\u0027t need this here because it\u0027s done in tearDownClass","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"b1a96a60f46e051d98385cec38feccbb5e8f762c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                                    + name)"},{"line_number":55,"context_line":"        self.assertOutput(props + \u0027\\n\u0027, raw_output)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        raw_output \u003d self.openstack(\u0027volume type delete \u0027 + name )"},{"line_number":58,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_6ad58019","line":57,"updated":"2015-07-31 11:11:35.000000000","message":"get rid of this delete here.","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":17576,"name":"JP Parkin","email":"jpparkin@ca.ibm.com","username":"jpparkin"},"change_message_id":"656608643541b7da6511dbd453fc1439c6d091e8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                                    + name)"},{"line_number":55,"context_line":"        self.assertOutput(props + \u0027\\n\u0027, raw_output)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        raw_output \u003d self.openstack(\u0027volume type delete \u0027 + name )"},{"line_number":58,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_7ac8e775","line":57,"in_reply_to":"3a50d1a3_6ad58019","updated":"2015-08-02 01:30:50.000000000","message":"Done","commit_id":"96d4ec7c834a34682bec1ba9d81c9dbcec93f643"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"677baeaffb0e4cd7732dff7381faa1e1f2b9ca58","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_volume_set_one_property(self):"},{"line_number":42,"context_line":"        show_opts \u003d self.get_show_opts(self.FIELDS)"},{"line_number":43,"context_line":"        name \u003d \"my-volume-type\""},{"line_number":44,"context_line":"        props \u003d \"foo\u003d\u0027bar\u0027\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        raw_output \u003d self.openstack(\u0027volume type create \u0027 + name + show_opts)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_feafeb28","line":43,"updated":"2015-08-01 05:01:06.000000000","message":"use data_utils.rand_name() for generating random name in functional test","commit_id":"786a3f590b215c581faaaf8d574e96b93525d0f1"},{"author":{"_account_id":17576,"name":"JP Parkin","email":"jpparkin@ca.ibm.com","username":"jpparkin"},"change_message_id":"44a9d70ebdf87c89699f317d78550a234b88df9b","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_volume_set_one_property(self):"},{"line_number":42,"context_line":"        show_opts \u003d self.get_show_opts(self.FIELDS)"},{"line_number":43,"context_line":"        name \u003d \"my-volume-type\""},{"line_number":44,"context_line":"        props \u003d \"foo\u003d\u0027bar\u0027\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        raw_output \u003d self.openstack(\u0027volume type create \u0027 + name + show_opts)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_bbdf2ad5","line":43,"in_reply_to":"3a50d1a3_feafeb28","updated":"2015-08-02 01:36:57.000000000","message":"thanks for the comment - based on the other comments, I\u0027m just going to use self.NAME, but that\u0027s good info - I will use that in the future.","commit_id":"786a3f590b215c581faaaf8d574e96b93525d0f1"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"0480749e492c774d365c5a140dec955e8dd4e3e3","unresolved":false,"context_lines":[{"line_number":13,"context_line":"import uuid"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from functional.tests.volume.v1 import common"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class VolumeTypeTests(common.BaseVolumeTests):"},{"line_number":18,"context_line":"    \"\"\"Functional tests for volume type. \"\"\""},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_5636fbb4","line":16,"updated":"2015-08-02 03:47:19.000000000","message":"pep didn\u0027t like this, add extra line here","commit_id":"092878f25ecdc56ebda2c027c179aa3d2401f673"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"027dff8ec3625c7ba8befa46a45cfd344cda1bdb","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import uuid"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from functional.tests.volume.v1 import common"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class VolumeTypeTests(common.BaseVolumeTests):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_1d17a6a4","line":15,"updated":"2015-08-03 16:48:28.000000000","message":"Maybe this is supposed to be dependent on some other patch?","commit_id":"f8ab2753c369e5fd1e7dfc4b979124fa4b9163e8"},{"author":{"_account_id":17576,"name":"JP Parkin","email":"jpparkin@ca.ibm.com","username":"jpparkin"},"change_message_id":"e89c7a52830ce9e592531677b990ab0a4bff26ce","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import uuid"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from functional.tests.volume.v1 import common"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class VolumeTypeTests(common.BaseVolumeTests):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_761da465","line":15,"in_reply_to":"1a4dcd0f_1d17a6a4","updated":"2015-08-03 19:39:43.000000000","message":"Yes - Steve M had a patch that I was building upon but I can\u0027t seem to find it ( I thought I had a dependency setup at one point ) - I\u0027ll keep looking for it...","commit_id":"f8ab2753c369e5fd1e7dfc4b979124fa4b9163e8"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"027dff8ec3625c7ba8befa46a45cfd344cda1bdb","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        raw_output \u003d self.openstack(\u0027volume type show -f value -c properties \u0027"},{"line_number":55,"context_line":"                                    + self.NAME)"},{"line_number":56,"context_line":"        self.assertOutput(props + \u0027\\n\u0027, raw_output)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_5aee94ed","line":56,"updated":"2015-08-03 16:48:28.000000000","message":"This should be assertEqual","commit_id":"f8ab2753c369e5fd1e7dfc4b979124fa4b9163e8"},{"author":{"_account_id":17576,"name":"JP Parkin","email":"jpparkin@ca.ibm.com","username":"jpparkin"},"change_message_id":"e89c7a52830ce9e592531677b990ab0a4bff26ce","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        raw_output \u003d self.openstack(\u0027volume type show -f value -c properties \u0027"},{"line_number":55,"context_line":"                                    + self.NAME)"},{"line_number":56,"context_line":"        self.assertOutput(props + \u0027\\n\u0027, raw_output)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_132552aa","line":56,"in_reply_to":"1a4dcd0f_5aee94ed","updated":"2015-08-03 19:39:43.000000000","message":"Done","commit_id":"f8ab2753c369e5fd1e7dfc4b979124fa4b9163e8"}]}
