)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"4bdbfa5be611a5ed02f21d2f64f6a7957d40491d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rich Hagarty \u003crichard.hagarty@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-01-15 09:21:40 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Set snapCPG when managing existing volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fixes a corner case where the user did not assign a \"Copy CPG\""},{"line_number":10,"context_line":"value to the volume when originally created on the back-end, and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a961159_b5d3905d","line":7,"updated":"2015-01-16 12:21:07.000000000","message":"Can start with a term which identifies it\u0027s related to a specific driver, e.g.:\n\n HP3Par: Set snapCPG when....","commit_id":"1e8f5299fea1f7b72f8b2d274c20e93fd1724c24"}],"cinder/tests/test_hp3par.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"1fadb0db021dc72d65ffaef89a362bad084a9b7a","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    MANAGE_VOLUME_INFO_WITH_NO_SNAPCPG \u003d {"},{"line_number":309,"context_line":"        \u0027userCPG\u0027: \u0027testUserCpg0\u0027,"},{"line_number":310,"context_line":"        # \u0027snapCPG\u0027: \u0027testSnapCpg0\u0027,"},{"line_number":311,"context_line":"        \u0027provisioningType\u0027: 1,"},{"line_number":312,"context_line":"        \u0027comment\u0027: \"{\u0027display_name\u0027: \u0027Foo Volume\u0027}\""},{"line_number":313,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_f7be47d3","line":310,"updated":"2015-01-14 18:44:17.000000000","message":"This needs to be removed.","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"},{"author":{"_account_id":11941,"name":"Richard Hagarty","email":"rich.hagarty@ibm.com","username":"rhagarty"},"change_message_id":"555d1ead45c4aee33f3ed4007211670da8ec7c04","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    MANAGE_VOLUME_INFO_WITH_NO_SNAPCPG \u003d {"},{"line_number":309,"context_line":"        \u0027userCPG\u0027: \u0027testUserCpg0\u0027,"},{"line_number":310,"context_line":"        # \u0027snapCPG\u0027: \u0027testSnapCpg0\u0027,"},{"line_number":311,"context_line":"        \u0027provisioningType\u0027: 1,"},{"line_number":312,"context_line":"        \u0027comment\u0027: \"{\u0027display_name\u0027: \u0027Foo Volume\u0027}\""},{"line_number":313,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_5271e975","line":310,"in_reply_to":"3a961159_f7be47d3","updated":"2015-01-14 23:32:47.000000000","message":"Done","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"1fadb0db021dc72d65ffaef89a362bad084a9b7a","unresolved":false,"context_lines":[{"line_number":2241,"context_line":"        mock_client.modifyVolume.return_value \u003d (\"anyResponse\", {\u0027taskid\u0027: 1})"},{"line_number":2242,"context_line":"        mock_client.getTask.return_value \u003d self.STATUS_DONE"},{"line_number":2243,"context_line":""},{"line_number":2244,"context_line":"        with mock.patch.object(hpcommon.HP3PARCommon, \u0027_create_client\u0027)\\"},{"line_number":2245,"context_line":"                as mock_create_client:"},{"line_number":2246,"context_line":"            mock_create_client.return_value \u003d mock_client"},{"line_number":2247,"context_line":"            common \u003d self.driver._login()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_37b52fed","line":2244,"updated":"2015-01-14 18:44:17.000000000","message":"Please don\u0027t use \\ for line continuation.","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"},{"author":{"_account_id":11941,"name":"Richard Hagarty","email":"rich.hagarty@ibm.com","username":"rhagarty"},"change_message_id":"555d1ead45c4aee33f3ed4007211670da8ec7c04","unresolved":false,"context_lines":[{"line_number":2241,"context_line":"        mock_client.modifyVolume.return_value \u003d (\"anyResponse\", {\u0027taskid\u0027: 1})"},{"line_number":2242,"context_line":"        mock_client.getTask.return_value \u003d self.STATUS_DONE"},{"line_number":2243,"context_line":""},{"line_number":2244,"context_line":"        with mock.patch.object(hpcommon.HP3PARCommon, \u0027_create_client\u0027)\\"},{"line_number":2245,"context_line":"                as mock_create_client:"},{"line_number":2246,"context_line":"            mock_create_client.return_value \u003d mock_client"},{"line_number":2247,"context_line":"            common \u003d self.driver._login()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_f2d73521","line":2244,"in_reply_to":"3a961159_37b52fed","updated":"2015-01-14 23:32:47.000000000","message":"Done","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"1fadb0db021dc72d65ffaef89a362bad084a9b7a","unresolved":false,"context_lines":[{"line_number":2261,"context_line":"                                       {\u0027newName\u0027: osv_matcher,"},{"line_number":2262,"context_line":"                                        \u0027comment\u0027: self.CommentMatcher("},{"line_number":2263,"context_line":"                                            self.assertEqual, new_comment),"},{"line_number":2264,"context_line":"                                        # manage_existing() should be setting blank snapCPG to the userCPG"},{"line_number":2265,"context_line":"                                        \u0027snapCPG\u0027: self.MANAGE_VOLUME_INFO_WITH_NO_SNAPCPG[\u0027userCPG\u0027]})"},{"line_number":2266,"context_line":"            ]"},{"line_number":2267,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_57cd5b85","line":2264,"updated":"2015-01-14 18:44:17.000000000","message":"Please fix these long lines.","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"},{"author":{"_account_id":11941,"name":"Richard Hagarty","email":"rich.hagarty@ibm.com","username":"rhagarty"},"change_message_id":"555d1ead45c4aee33f3ed4007211670da8ec7c04","unresolved":false,"context_lines":[{"line_number":2261,"context_line":"                                       {\u0027newName\u0027: osv_matcher,"},{"line_number":2262,"context_line":"                                        \u0027comment\u0027: self.CommentMatcher("},{"line_number":2263,"context_line":"                                            self.assertEqual, new_comment),"},{"line_number":2264,"context_line":"                                        # manage_existing() should be setting blank snapCPG to the userCPG"},{"line_number":2265,"context_line":"                                        \u0027snapCPG\u0027: self.MANAGE_VOLUME_INFO_WITH_NO_SNAPCPG[\u0027userCPG\u0027]})"},{"line_number":2266,"context_line":"            ]"},{"line_number":2267,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_52e64917","line":2264,"in_reply_to":"3a961159_57cd5b85","updated":"2015-01-14 23:32:47.000000000","message":"Done","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"}],"cinder/volume/drivers/san/hp/hp_3par_common.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"1fadb0db021dc72d65ffaef89a362bad084a9b7a","unresolved":false,"context_lines":[{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        # Ensure that snapCPG is set"},{"line_number":375,"context_line":"        if \u0027snapCPG\u0027 not in vol:"},{"line_number":376,"context_line":"            if \u0027userCPG\u0027 in vol:"},{"line_number":377,"context_line":"                new_vals[\u0027snapCPG\u0027] \u003d vol[\u0027userCPG\u0027]"},{"line_number":378,"context_line":"                LOG.info(_LI(\"Virtual volume %(disp)s \u0027%(new)s\u0027 snapCPG \""},{"line_number":379,"context_line":"                         \"is empty so it will be set to: %(cpg)s\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_37de0f3f","line":376,"updated":"2015-01-14 18:44:17.000000000","message":"You still have a problem here if userCPG is not set.  Right?  Seems like that case should also be covered.  If that can\u0027t happen, then why do we have the check here?","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"4f023dc58dcfbe2dda061587629cd58d94f8142f","unresolved":false,"context_lines":[{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        # Ensure that snapCPG is set"},{"line_number":375,"context_line":"        if \u0027snapCPG\u0027 not in vol:"},{"line_number":376,"context_line":"            if \u0027userCPG\u0027 in vol:"},{"line_number":377,"context_line":"                new_vals[\u0027snapCPG\u0027] \u003d vol[\u0027userCPG\u0027]"},{"line_number":378,"context_line":"                LOG.info(_LI(\"Virtual volume %(disp)s \u0027%(new)s\u0027 snapCPG \""},{"line_number":379,"context_line":"                         \"is empty so it will be set to: %(cpg)s\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_28a6b00f","line":376,"in_reply_to":"3a961159_37de0f3f","updated":"2015-01-14 19:53:00.000000000","message":"userCPG is always there.   We can\u0027t create volumes outside of a CPG.","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"},{"author":{"_account_id":11941,"name":"Richard Hagarty","email":"rich.hagarty@ibm.com","username":"rhagarty"},"change_message_id":"555d1ead45c4aee33f3ed4007211670da8ec7c04","unresolved":false,"context_lines":[{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        # Ensure that snapCPG is set"},{"line_number":375,"context_line":"        if \u0027snapCPG\u0027 not in vol:"},{"line_number":376,"context_line":"            if \u0027userCPG\u0027 in vol:"},{"line_number":377,"context_line":"                new_vals[\u0027snapCPG\u0027] \u003d vol[\u0027userCPG\u0027]"},{"line_number":378,"context_line":"                LOG.info(_LI(\"Virtual volume %(disp)s \u0027%(new)s\u0027 snapCPG \""},{"line_number":379,"context_line":"                         \"is empty so it will be set to: %(cpg)s\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_32b53ded","line":376,"in_reply_to":"3a961159_37de0f3f","updated":"2015-01-14 23:32:47.000000000","message":"userCPG is required to create the volume, so I will take this additional test out.","commit_id":"5f4682bc99b1e619a9765c0db622150c4d2a92aa"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"f654557e461fb5788c69aa2d1d65c05bab37d89e","unresolved":false,"context_lines":[{"line_number":376,"context_line":"            new_vals[\u0027snapCPG\u0027] \u003d vol[\u0027userCPG\u0027]"},{"line_number":377,"context_line":"            LOG.info(_LI(\"Virtual volume %(disp)s \u0027%(new)s\u0027 snapCPG \""},{"line_number":378,"context_line":"                     \"is empty so it will be set to: %(cpg)s\") %"},{"line_number":379,"context_line":"                     {\u0027disp\u0027: display_name, \u0027new\u0027: new_vol_name,"},{"line_number":380,"context_line":"                      \u0027cpg\u0027: new_vals[\u0027snapCPG\u0027]})"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        # Update the existing volume with the new name and comments."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_41b9f214","line":379,"updated":"2015-01-15 16:12:47.000000000","message":"According to logging guidelines, please, change % \u003d\u003e ,","commit_id":"aee75b55f30a6260e373ec783f1665d61b034023"},{"author":{"_account_id":11941,"name":"Richard Hagarty","email":"rich.hagarty@ibm.com","username":"rhagarty"},"change_message_id":"1dfd31d95f2850dcf5217c2e361bca50cc001cdc","unresolved":false,"context_lines":[{"line_number":376,"context_line":"            new_vals[\u0027snapCPG\u0027] \u003d vol[\u0027userCPG\u0027]"},{"line_number":377,"context_line":"            LOG.info(_LI(\"Virtual volume %(disp)s \u0027%(new)s\u0027 snapCPG \""},{"line_number":378,"context_line":"                     \"is empty so it will be set to: %(cpg)s\") %"},{"line_number":379,"context_line":"                     {\u0027disp\u0027: display_name, \u0027new\u0027: new_vol_name,"},{"line_number":380,"context_line":"                      \u0027cpg\u0027: new_vals[\u0027snapCPG\u0027]})"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        # Update the existing volume with the new name and comments."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_27feb638","line":379,"in_reply_to":"3a961159_41b9f214","updated":"2015-01-15 17:21:08.000000000","message":"Done","commit_id":"aee75b55f30a6260e373ec783f1665d61b034023"}]}
