)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"29df638336ff9c60fa986fbf588cde6f45c0c354","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the v2 volume type update api doesn\u0027t support updating volume type\u0027s"},{"line_number":10,"context_line":"public status. All volume types created are public by default if not specified,"},{"line_number":11,"context_line":"It is not possible to update a existing volume_type is_public status."},{"line_number":12,"context_line":"It is necessary to add updating public status for volume type. If a volume"},{"line_number":13,"context_line":"type updated from public to private, the volumes created with this type will"},{"line_number":14,"context_line":"not be affected, but the user without access will not be able to create volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_12589855","line":11,"updated":"2015-07-31 19:26:31.000000000","message":"a -\u003e an","commit_id":"d5f5bd671ce34d3ef6fabb1d94a0a6c22c9d1f8d"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"88da33c262d6890206dfc7d55200823845e31b92","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the v2 volume type update api doesn\u0027t support updating volume type\u0027s"},{"line_number":10,"context_line":"public status. All volume types created are public by default if not specified,"},{"line_number":11,"context_line":"It is not possible to update a existing volume_type is_public status."},{"line_number":12,"context_line":"It is necessary to add updating public status for volume type. If a volume"},{"line_number":13,"context_line":"type updated from public to private, the volumes created with this type will"},{"line_number":14,"context_line":"not be affected, but the user without access will not be able to create volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_166b891f","line":11,"in_reply_to":"3a50d1a3_12589855","updated":"2015-08-03 02:46:28.000000000","message":"Done","commit_id":"d5f5bd671ce34d3ef6fabb1d94a0a6c22c9d1f8d"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"c43f734c280e9167cee38922242b748471b3c61d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Currently, the v2 volume type update api doesn\u0027t support updating volume type\u0027s"},{"line_number":10,"context_line":"public status. All volume types created are public by default if not specified,"},{"line_number":11,"context_line":"It is not possible to update an existing volume_type is_public status."},{"line_number":12,"context_line":"It is necessary to add updating public status for volume type. If a volume"},{"line_number":13,"context_line":"type updated from public to private, the volumes created with this type will"},{"line_number":14,"context_line":"not be affected, but the user without access will not be able to create volume"},{"line_number":15,"context_line":"with this type anymore."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a4dcd0f_e2e2449f","line":12,"updated":"2015-08-04 04:26:28.000000000","message":"Suggestion for more clarity.\n\n\"If a volume type updated from public to private, the volumes [previously] created with this type will\t not be affected,\"","commit_id":"51ef268368493f63956edacf7621ce334c1195d5"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"3241795dc1f7ffd57d339bc90284a7ed464b58bc","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Currently, the v2 volume type update api doesn\u0027t support updating volume type\u0027s"},{"line_number":10,"context_line":"public status. All volume types created are public by default if not specified,"},{"line_number":11,"context_line":"It is not possible to update an existing volume_type is_public status."},{"line_number":12,"context_line":"It is necessary to add updating public status for volume type. If a volume"},{"line_number":13,"context_line":"type updated from public to private, the volumes created with this type will"},{"line_number":14,"context_line":"not be affected, but the user without access will not be able to create volume"},{"line_number":15,"context_line":"with this type anymore."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a4dcd0f_53f3c80a","line":12,"in_reply_to":"1a4dcd0f_e2e2449f","updated":"2015-08-04 05:55:30.000000000","message":"Done","commit_id":"51ef268368493f63956edacf7621ce334c1195d5"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"c43f734c280e9167cee38922242b748471b3c61d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"not be affected, but the user without access will not be able to create volume"},{"line_number":15,"context_line":"with this type anymore."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"DocImpact"},{"line_number":18,"context_line":"Implements blueprint: volume-types-public-update"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I4a5b2cf8f747c87908a09835a5edb8873c4e946b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a4dcd0f_053bbad2","line":17,"updated":"2015-08-04 04:26:28.000000000","message":"APIImpact","commit_id":"51ef268368493f63956edacf7621ce334c1195d5"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"3241795dc1f7ffd57d339bc90284a7ed464b58bc","unresolved":false,"context_lines":[{"line_number":14,"context_line":"not be affected, but the user without access will not be able to create volume"},{"line_number":15,"context_line":"with this type anymore."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"DocImpact"},{"line_number":18,"context_line":"Implements blueprint: volume-types-public-update"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I4a5b2cf8f747c87908a09835a5edb8873c4e946b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a4dcd0f_73f844e6","line":17,"in_reply_to":"1a4dcd0f_053bbad2","updated":"2015-08-04 05:55:30.000000000","message":"Done","commit_id":"51ef268368493f63956edacf7621ce334c1195d5"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"54cb129dae93a800e4dfdfa9a28a6cb461828487","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the ability to update type public status"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the v2 volume type update api doesn\u0027t support updating volume type\u0027s"},{"line_number":10,"context_line":"public status. All volume types created are public by default if not specified,"},{"line_number":11,"context_line":"It is not possible to update an existing volume_type is_public status."},{"line_number":12,"context_line":"It is necessary to add updating public status for volume type. If a volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a4dcd0f_79c4875e","line":9,"updated":"2015-08-04 14:29:26.000000000","message":"The message body should be wrapped at 72 - https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure.","commit_id":"5b9a90c1864416d5e4fab80250d5dd77775097ab"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"4ae18ea1dba5de48891e444599795c58cc71cd40","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the ability to update type public status"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the v2 volume type update api doesn\u0027t support updating volume type\u0027s"},{"line_number":10,"context_line":"public status. All volume types created are public by default if not specified,"},{"line_number":11,"context_line":"It is not possible to update an existing volume_type is_public status."},{"line_number":12,"context_line":"It is necessary to add updating public status for volume type. If a volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a4dcd0f_9a5cc5ee","line":9,"in_reply_to":"1a4dcd0f_79c4875e","updated":"2015-08-05 01:09:40.000000000","message":"Done","commit_id":"5b9a90c1864416d5e4fab80250d5dd77775097ab"}],"cinder/api/contrib/types_manage.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"c2129dbf0fed20c9beda92dd216a5dddc2b3ff6d","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        if is_public is not None and not utils.is_valid_boolstr(is_public):"},{"line_number":123,"context_line":"            msg \u003d _(\"Invalid value \u0027%s\u0027 for is_public.\") % is_public"},{"line_number":124,"context_line":"            raise exception.InvalidInput(message\u003dmsg)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        if name:"},{"line_number":127,"context_line":"            utils.check_string_length(name, \u0027Type name\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_8f6f222a","line":124,"updated":"2015-07-29 14:49:14.000000000","message":"This change was in https://review.openstack.org/206784.  You should make this patch dependent on that one instead of doing it this way.","commit_id":"e0fc8f62196437e984ce398cc93dfc0498b936d2"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"585561a6668bd59bf854ac660a80630228d842fd","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        if is_public is not None and not utils.is_valid_boolstr(is_public):"},{"line_number":123,"context_line":"            msg \u003d _(\"Invalid value \u0027%s\u0027 for is_public.\") % is_public"},{"line_number":124,"context_line":"            raise exception.InvalidInput(message\u003dmsg)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        if name:"},{"line_number":127,"context_line":"            utils.check_string_length(name, \u0027Type name\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_cb3d01df","line":124,"in_reply_to":"3a50d1a3_8f6f222a","updated":"2015-07-30 01:25:20.000000000","message":"Done","commit_id":"e0fc8f62196437e984ce398cc93dfc0498b936d2"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"29df638336ff9c60fa986fbf588cde6f45c0c354","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        if is_public is not None and not utils.is_valid_boolstr(is_public):"},{"line_number":128,"context_line":"            msg \u003d _(\"Invalid value \u0027%s\u0027 for is_public, available value: \""},{"line_number":129,"context_line":"                    \"True or False.\") % is_public"},{"line_number":130,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_ad587858","line":128,"updated":"2015-07-31 19:26:31.000000000","message":"Suggest: \"Invalid value \u0027%s\u0027 for is_public. Accepted values: True or False. \"","commit_id":"d5f5bd671ce34d3ef6fabb1d94a0a6c22c9d1f8d"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"88da33c262d6890206dfc7d55200823845e31b92","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        if is_public is not None and not utils.is_valid_boolstr(is_public):"},{"line_number":128,"context_line":"            msg \u003d _(\"Invalid value \u0027%s\u0027 for is_public, available value: \""},{"line_number":129,"context_line":"                    \"True or False.\") % is_public"},{"line_number":130,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_5684b1d1","line":128,"in_reply_to":"3a50d1a3_ad587858","updated":"2015-08-03 02:46:28.000000000","message":"Done","commit_id":"d5f5bd671ce34d3ef6fabb1d94a0a6c22c9d1f8d"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"54ff7d8e6613010590e2ade4dffe6eadea3c0221","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        vol_type \u003d body[\u0027volume_type\u0027]"},{"line_number":113,"context_line":"        description \u003d vol_type.get(\u0027description\u0027)"},{"line_number":114,"context_line":"        name \u003d vol_type.get(\u0027name\u0027)"},{"line_number":115,"context_line":"        is_public \u003d vol_type.get(\u0027os-volume-type-access:is_public\u0027)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Name and description can not be both None."},{"line_number":118,"context_line":"        # If name specified, name can not be empty."}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_074ce774","line":115,"updated":"2015-08-16 06:39:45.000000000","message":"Lets just make this is_public instead os-volume...whatever. I don\u0027t understand why this has to be long and complicated.","commit_id":"5d07df0afba326d33ce62d61d4d7e6ad9d1e5068"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"f4934eacc0280f4eb53ea1a0fd4ae5cdbda82405","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        vol_type \u003d body[\u0027volume_type\u0027]"},{"line_number":113,"context_line":"        description \u003d vol_type.get(\u0027description\u0027)"},{"line_number":114,"context_line":"        name \u003d vol_type.get(\u0027name\u0027)"},{"line_number":115,"context_line":"        is_public \u003d vol_type.get(\u0027os-volume-type-access:is_public\u0027)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Name and description can not be both None."},{"line_number":118,"context_line":"        # If name specified, name can not be empty."}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_069380fb","line":115,"in_reply_to":"1a4dcd0f_074ce774","updated":"2015-08-17 02:39:57.000000000","message":"Done","commit_id":"5d07df0afba326d33ce62d61d4d7e6ad9d1e5068"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"75f5573645c31bf69600c5382c8ffce619434eba","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                                      min_length\u003d0, max_length\u003d255)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        try:"},{"line_number":141,"context_line":"            volume_types.update(context, id, name, description, is_public)"},{"line_number":142,"context_line":"            # Get the updated"},{"line_number":143,"context_line":"            vol_type \u003d volume_types.get_volume_type(context, id)"},{"line_number":144,"context_line":"            req.cache_resource(vol_type, name\u003d\u0027types\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_42919445","line":141,"updated":"2015-08-14 20:28:15.000000000","message":"since is_public is a kwarg, i would prefer to see is_public\u003dis_public here","commit_id":"5d07df0afba326d33ce62d61d4d7e6ad9d1e5068"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"f4934eacc0280f4eb53ea1a0fd4ae5cdbda82405","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                                      min_length\u003d0, max_length\u003d255)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        try:"},{"line_number":141,"context_line":"            volume_types.update(context, id, name, description, is_public)"},{"line_number":142,"context_line":"            # Get the updated"},{"line_number":143,"context_line":"            vol_type \u003d volume_types.get_volume_type(context, id)"},{"line_number":144,"context_line":"            req.cache_resource(vol_type, name\u003d\u0027types\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_a66f2cfb","line":141,"in_reply_to":"1a4dcd0f_42919445","updated":"2015-08-17 02:39:57.000000000","message":"Done","commit_id":"5d07df0afba326d33ce62d61d4d7e6ad9d1e5068"}],"cinder/tests/unit/api/contrib/test_types_manage.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"964a5e7553adc22acbfc86417922d6b0cad1af45","unresolved":false,"context_lines":[{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def test_rename_existing_name(self):"},{"line_number":424,"context_line":"        self.stubs.Set(volume_types, \u0027update\u0027,"},{"line_number":425,"context_line":"                       return_volume_types_update_exist)"},{"line_number":426,"context_line":"        self.stubs.Set(volume_types, \u0027get_volume_type\u0027,"},{"line_number":427,"context_line":"                       return_volume_types_get_volume_type_updated)"},{"line_number":428,"context_line":"        # first attempt fail"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_79a12095","line":425,"updated":"2015-07-30 05:36:41.000000000","message":"Since you have changed the return_* methods, please change this line to self.mock_object() or mock.patch.object.","commit_id":"8b493fd55660983e25a4461462f87cf11d4e4b05"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"964a5e7553adc22acbfc86417922d6b0cad1af45","unresolved":false,"context_lines":[{"line_number":424,"context_line":"        self.stubs.Set(volume_types, \u0027update\u0027,"},{"line_number":425,"context_line":"                       return_volume_types_update_exist)"},{"line_number":426,"context_line":"        self.stubs.Set(volume_types, \u0027get_volume_type\u0027,"},{"line_number":427,"context_line":"                       return_volume_types_get_volume_type_updated)"},{"line_number":428,"context_line":"        # first attempt fail"},{"line_number":429,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_666\"}}"},{"line_number":430,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/types/666\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_999e6c53","line":427,"updated":"2015-07-30 05:36:41.000000000","message":"Since you have changed the return_* methods, please change this line to self.mock_object() or mock.patch.object.","commit_id":"8b493fd55660983e25a4461462f87cf11d4e4b05"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"6cd2aacc7cacbf2c0cd7d5b357435428351e0329","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.update\u0027)"},{"line_number":318,"context_line":"    def test_update_non_exist(self, mock_update):"},{"line_number":319,"context_line":"        mock_update"},{"line_number":320,"context_line":"        self.stubs.Set(volume_types, \u0027get_volume_type\u0027,"},{"line_number":321,"context_line":"                       return_volume_types_get_volume_type)"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_d4bbc7c2","line":319,"updated":"2015-08-03 12:38:28.000000000","message":"What is your intention for this line?","commit_id":"30e4f57376fbb8ba0524c68e84d76c3bdc1a8597"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"a74a2c3f65e486404f508c3c4f964e3eecb5d10b","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.update\u0027)"},{"line_number":318,"context_line":"    def test_update_non_exist(self, mock_update):"},{"line_number":319,"context_line":"        mock_update"},{"line_number":320,"context_line":"        self.stubs.Set(volume_types, \u0027get_volume_type\u0027,"},{"line_number":321,"context_line":"                       return_volume_types_get_volume_type)"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_25035b75","line":319,"in_reply_to":"3a50d1a3_d4bbc7c2","updated":"2015-08-04 01:30:46.000000000","message":"removed, thanks","commit_id":"30e4f57376fbb8ba0524c68e84d76c3bdc1a8597"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"6cd2aacc7cacbf2c0cd7d5b357435428351e0329","unresolved":false,"context_lines":[{"line_number":318,"context_line":"    def test_update_non_exist(self, mock_update):"},{"line_number":319,"context_line":"        mock_update"},{"line_number":320,"context_line":"        self.stubs.Set(volume_types, \u0027get_volume_type\u0027,"},{"line_number":321,"context_line":"                       return_volume_types_get_volume_type)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_1_1\","},{"line_number":324,"context_line":"                                \"description\": \"vol_type_desc_1_1\"}}"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_14be0fae","line":321,"updated":"2015-08-03 12:38:28.000000000","message":"use @mock.patch or mock.patch.object","commit_id":"30e4f57376fbb8ba0524c68e84d76c3bdc1a8597"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"a74a2c3f65e486404f508c3c4f964e3eecb5d10b","unresolved":false,"context_lines":[{"line_number":318,"context_line":"    def test_update_non_exist(self, mock_update):"},{"line_number":319,"context_line":"        mock_update"},{"line_number":320,"context_line":"        self.stubs.Set(volume_types, \u0027get_volume_type\u0027,"},{"line_number":321,"context_line":"                       return_volume_types_get_volume_type)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_1_1\","},{"line_number":324,"context_line":"                                \"description\": \"vol_type_desc_1_1\"}}"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_c5f8777f","line":321,"in_reply_to":"3a50d1a3_14be0fae","updated":"2015-08-04 01:30:46.000000000","message":"Done","commit_id":"30e4f57376fbb8ba0524c68e84d76c3bdc1a8597"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"6cd2aacc7cacbf2c0cd7d5b357435428351e0329","unresolved":false,"context_lines":[{"line_number":334,"context_line":"    def test_update_db_fail(self, mock_update):"},{"line_number":335,"context_line":"        mock_update.side_effect \u003d exception.VolumeTypeUpdateFailed(id\u003d\u00271\u0027)"},{"line_number":336,"context_line":"        self.stubs.Set(volume_types, \u0027get_volume_type\u0027,"},{"line_number":337,"context_line":"                       return_volume_types_get_volume_type)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_1_1\","},{"line_number":340,"context_line":"                                \"description\": \"vol_type_desc_1_1\"}}"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_d4e2e7d4","line":337,"updated":"2015-08-03 12:38:28.000000000","message":"use @mock.patch or mock.patch.object","commit_id":"30e4f57376fbb8ba0524c68e84d76c3bdc1a8597"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"a74a2c3f65e486404f508c3c4f964e3eecb5d10b","unresolved":false,"context_lines":[{"line_number":334,"context_line":"    def test_update_db_fail(self, mock_update):"},{"line_number":335,"context_line":"        mock_update.side_effect \u003d exception.VolumeTypeUpdateFailed(id\u003d\u00271\u0027)"},{"line_number":336,"context_line":"        self.stubs.Set(volume_types, \u0027get_volume_type\u0027,"},{"line_number":337,"context_line":"                       return_volume_types_get_volume_type)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_1_1\","},{"line_number":340,"context_line":"                                \"description\": \"vol_type_desc_1_1\"}}"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_e5f57383","line":337,"in_reply_to":"3a50d1a3_d4e2e7d4","updated":"2015-08-04 01:30:46.000000000","message":"Done","commit_id":"30e4f57376fbb8ba0524c68e84d76c3bdc1a8597"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"54cb129dae93a800e4dfdfa9a28a6cb461828487","unresolved":false,"context_lines":[{"line_number":278,"context_line":"        self.assertEqual(1, len(self.notifier.notifications))"},{"line_number":279,"context_line":"        self._check_test_results(res_dict,"},{"line_number":280,"context_line":"                                 {\u0027expected_desc\u0027: \u0027vol_type_desc_1_1\u0027,"},{"line_number":281,"context_line":"                                  \u0027expected_name\u0027: \u0027vol_type_1_1\u0027})"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.update\u0027)"},{"line_number":284,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.get_volume_type\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_5c4ad9c6","line":281,"updated":"2015-08-04 14:29:26.000000000","message":"Since is_public was updated, it should be checked here.","commit_id":"5b9a90c1864416d5e4fab80250d5dd77775097ab"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"4ae18ea1dba5de48891e444599795c58cc71cd40","unresolved":false,"context_lines":[{"line_number":278,"context_line":"        self.assertEqual(1, len(self.notifier.notifications))"},{"line_number":279,"context_line":"        self._check_test_results(res_dict,"},{"line_number":280,"context_line":"                                 {\u0027expected_desc\u0027: \u0027vol_type_desc_1_1\u0027,"},{"line_number":281,"context_line":"                                  \u0027expected_name\u0027: \u0027vol_type_1_1\u0027})"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.update\u0027)"},{"line_number":284,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.get_volume_type\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_d7e1c8d1","line":281,"in_reply_to":"1a4dcd0f_5c4ad9c6","updated":"2015-08-05 01:09:40.000000000","message":"Done","commit_id":"5b9a90c1864416d5e4fab80250d5dd77775097ab"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"54cb129dae93a800e4dfdfa9a28a6cb461828487","unresolved":false,"context_lines":[{"line_number":447,"context_line":"                                 {\u0027expected_name\u0027: \u0027vol_type_666\u0027,"},{"line_number":448,"context_line":"                                  \u0027expected_desc\u0027: \u0027vol_type_desc_666\u0027})"},{"line_number":449,"context_line":"        self.assertEqual(1, len(self.notifier.notifications))"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"    def _check_test_results(self, results, expected_results):"},{"line_number":452,"context_line":"        self.assertEqual(1, len(results))"},{"line_number":453,"context_line":"        self.assertEqual(expected_results[\u0027expected_desc\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_1c9691f0","line":450,"updated":"2015-08-04 14:29:26.000000000","message":"Since is_public was updated, it should be checked here.","commit_id":"5b9a90c1864416d5e4fab80250d5dd77775097ab"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"aa1a301d977ebb252f00aa76cd104a1502f55516","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    def test_update(self, mock_get, mock_update):"},{"line_number":268,"context_line":"        mock_get.return_value \u003d return_volume_types_get_volume_type_updated("},{"line_number":269,"context_line":"            \u00271\u0027, is_public\u003dFalse)"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_1_1\","},{"line_number":272,"context_line":"                                \"description\": \"vol_type_desc_1_1\","},{"line_number":273,"context_line":"                                \"is_public\": False}}"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a4dcd0f_a35dd9ed","line":270,"updated":"2015-08-17 06:11:43.000000000","message":"Why missing mock_update.return_value \u003d ...","commit_id":"e4ce3db2eb57de2012e8ad491d62e6881e9886b6"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"b6f5c03f4a230b0ff3a60e1797bd88a8c1d34153","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    def test_update(self, mock_get, mock_update):"},{"line_number":268,"context_line":"        mock_get.return_value \u003d return_volume_types_get_volume_type_updated("},{"line_number":269,"context_line":"            \u00271\u0027, is_public\u003dFalse)"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_1_1\","},{"line_number":272,"context_line":"                                \"description\": \"vol_type_desc_1_1\","},{"line_number":273,"context_line":"                                \"is_public\": False}}"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa1b9901_84a3679e","line":270,"in_reply_to":"1a4dcd0f_a35dd9ed","updated":"2015-08-17 13:44:12.000000000","message":"See old file line 87.","commit_id":"e4ce3db2eb57de2012e8ad491d62e6881e9886b6"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"aa1a301d977ebb252f00aa76cd104a1502f55516","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    def test_update_non_exist(self, mock_update, mock_get_volume_type):"},{"line_number":322,"context_line":"        mock_get_volume_type.side_effect \u003d exception.VolumeTypeNotFound("},{"line_number":323,"context_line":"            volume_type_id\u003d777)"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_1_1\","},{"line_number":326,"context_line":"                                \"description\": \"vol_type_desc_1_1\"}}"},{"line_number":327,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/types/777\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a4dcd0f_835a1df1","line":324,"updated":"2015-08-17 06:11:43.000000000","message":"Why missing mock_update.return_value \u003d ...","commit_id":"e4ce3db2eb57de2012e8ad491d62e6881e9886b6"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"b6f5c03f4a230b0ff3a60e1797bd88a8c1d34153","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    def test_update_non_exist(self, mock_update, mock_get_volume_type):"},{"line_number":322,"context_line":"        mock_get_volume_type.side_effect \u003d exception.VolumeTypeNotFound("},{"line_number":323,"context_line":"            volume_type_id\u003d777)"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_1_1\","},{"line_number":326,"context_line":"                                \"description\": \"vol_type_desc_1_1\"}}"},{"line_number":327,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/types/777\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa1b9901_44ad4f87","line":324,"in_reply_to":"1a4dcd0f_835a1df1","updated":"2015-08-17 13:44:12.000000000","message":"same","commit_id":"e4ce3db2eb57de2012e8ad491d62e6881e9886b6"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"aa1a301d977ebb252f00aa76cd104a1502f55516","unresolved":false,"context_lines":[{"line_number":370,"context_line":"    def test_update_only_name(self, mock_get, mock_update):"},{"line_number":371,"context_line":"        mock_get.return_value \u003d return_volume_types_get_volume_type_updated("},{"line_number":372,"context_line":"            \u0027999\u0027)"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_999_999\"}}"},{"line_number":375,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/types/999\u0027)"},{"line_number":376,"context_line":"        req.method \u003d \u0027PUT\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a4dcd0f_2372297d","line":373,"updated":"2015-08-17 06:11:43.000000000","message":"Why missing mock_update.return_value \u003d ...","commit_id":"e4ce3db2eb57de2012e8ad491d62e6881e9886b6"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"b6f5c03f4a230b0ff3a60e1797bd88a8c1d34153","unresolved":false,"context_lines":[{"line_number":370,"context_line":"    def test_update_only_name(self, mock_get, mock_update):"},{"line_number":371,"context_line":"        mock_get.return_value \u003d return_volume_types_get_volume_type_updated("},{"line_number":372,"context_line":"            \u0027999\u0027)"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        body \u003d {\"volume_type\": {\"name\": \"vol_type_999_999\"}}"},{"line_number":375,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/types/999\u0027)"},{"line_number":376,"context_line":"        req.method \u003d \u0027PUT\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa1b9901_84ca874e","line":373,"in_reply_to":"1a4dcd0f_2372297d","updated":"2015-08-17 13:44:12.000000000","message":"same","commit_id":"e4ce3db2eb57de2012e8ad491d62e6881e9886b6"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"aa1a301d977ebb252f00aa76cd104a1502f55516","unresolved":false,"context_lines":[{"line_number":387,"context_line":"    def test_update_only_description(self, mock_get, mock_update):"},{"line_number":388,"context_line":"        mock_get.return_value \u003d return_volume_types_get_volume_type_updated("},{"line_number":389,"context_line":"            \u0027888\u0027)"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        body \u003d {\"volume_type\": {\"description\": \"vol_type_desc_888_888\"}}"},{"line_number":392,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/types/888\u0027)"},{"line_number":393,"context_line":"        req.method \u003d \u0027PUT\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a4dcd0f_a304f9c5","line":390,"updated":"2015-08-17 06:11:43.000000000","message":"Why missing mock_update.return_value \u003d ...","commit_id":"e4ce3db2eb57de2012e8ad491d62e6881e9886b6"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"b6f5c03f4a230b0ff3a60e1797bd88a8c1d34153","unresolved":false,"context_lines":[{"line_number":387,"context_line":"    def test_update_only_description(self, mock_get, mock_update):"},{"line_number":388,"context_line":"        mock_get.return_value \u003d return_volume_types_get_volume_type_updated("},{"line_number":389,"context_line":"            \u0027888\u0027)"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        body \u003d {\"volume_type\": {\"description\": \"vol_type_desc_888_888\"}}"},{"line_number":392,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/types/888\u0027)"},{"line_number":393,"context_line":"        req.method \u003d \u0027PUT\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa1b9901_a4c78b44","line":390,"in_reply_to":"1a4dcd0f_a304f9c5","updated":"2015-08-17 13:44:12.000000000","message":"same","commit_id":"e4ce3db2eb57de2012e8ad491d62e6881e9886b6"}]}
