)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Guy \u003cguy.kim088@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-12-28 13:57:43 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add feature manage/unmanage volume for ITRI DISCO cinder volume driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit is to add the feature manage/unmanage a volume for"},{"line_number":10,"context_line":"DISCO volume driver of ITRI."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da4df55a_2d97f63a","line":7,"updated":"2016-12-28 14:32:01.000000000","message":"Too long, maybe something like \"Add manage/unmanage to DISCO driver\"?\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"}],"cinder/volume/drivers/disco/disco.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"6dd32b56f1d610c05b60a9c93b95181afabb2892","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            src_vol \u003d self.client.volumeDetail("},{"line_number":463,"context_line":"                existing_ref[\u0027source-id\u0027])"},{"line_number":464,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":465,"context_line":"                msg \u003d (_(\"Error while getting volume id: [status] %(stat)s\")"},{"line_number":466,"context_line":"                       % {\u0027stat\u0027: six.text_type(src_vol[\u0027status\u0027])})"},{"line_number":467,"context_line":"                LOG.error(msg)"},{"line_number":468,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_6a748467","line":465,"updated":"2016-12-28 13:24:28.000000000","message":"Please, add volume Id to the error message","commit_id":"ba4ef5df03f8320c33a748e538b30df862e56f78"},{"author":{"_account_id":19576,"name":"Guy Kim","email":"guy.kim088@gmail.com","username":"Guy"},"change_message_id":"58927a7a2c5ad571c9aaa6d14a34cdfa3d0e28b5","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            src_vol \u003d self.client.volumeDetail("},{"line_number":463,"context_line":"                existing_ref[\u0027source-id\u0027])"},{"line_number":464,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":465,"context_line":"                msg \u003d (_(\"Error while getting volume id: [status] %(stat)s\")"},{"line_number":466,"context_line":"                       % {\u0027stat\u0027: six.text_type(src_vol[\u0027status\u0027])})"},{"line_number":467,"context_line":"                LOG.error(msg)"},{"line_number":468,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_8a88c8c6","line":465,"in_reply_to":"da4df55a_6a748467","updated":"2016-12-28 13:57:13.000000000","message":"Added volume Id in the error message","commit_id":"ba4ef5df03f8320c33a748e538b30df862e56f78"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"6dd32b56f1d610c05b60a9c93b95181afabb2892","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                existing_ref[\u0027source-name\u0027])"},{"line_number":474,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":475,"context_line":"                msg \u003d _(\" Error while getting volume details by name: \""},{"line_number":476,"context_line":"                        \"[status] %(stat)s\") % {\u0027stat\u0027: src_vol[\u0027status\u0027]}"},{"line_number":477,"context_line":"                LOG.error(msg)"},{"line_number":478,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":479,"context_line":"            return {"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_8a71a878","line":476,"updated":"2016-12-28 13:24:28.000000000","message":"The same","commit_id":"ba4ef5df03f8320c33a748e538b30df862e56f78"},{"author":{"_account_id":19576,"name":"Guy Kim","email":"guy.kim088@gmail.com","username":"Guy"},"change_message_id":"58927a7a2c5ad571c9aaa6d14a34cdfa3d0e28b5","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                existing_ref[\u0027source-name\u0027])"},{"line_number":474,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":475,"context_line":"                msg \u003d _(\" Error while getting volume details by name: \""},{"line_number":476,"context_line":"                        \"[status] %(stat)s\") % {\u0027stat\u0027: src_vol[\u0027status\u0027]}"},{"line_number":477,"context_line":"                LOG.error(msg)"},{"line_number":478,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":479,"context_line":"            return {"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_aa910cf3","line":476,"in_reply_to":"da4df55a_8a71a878","updated":"2016-12-28 13:57:13.000000000","message":"Added the volume name in the error message","commit_id":"ba4ef5df03f8320c33a748e538b30df862e56f78"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"6dd32b56f1d610c05b60a9c93b95181afabb2892","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                existing_ref[\u0027source-name\u0027])"},{"line_number":507,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":508,"context_line":"                msg \u003d _(\" Error while getting volume details by name: \""},{"line_number":509,"context_line":"                        \"[status] %(stat)s\") % {\u0027stat\u0027: src_vol[\u0027status\u0027]}"},{"line_number":510,"context_line":"                LOG.error(msg)"},{"line_number":511,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":512,"context_line":"            return src_vol[\u0027volumeInfoResult\u0027][\u0027volSizeMb\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_ea2dd446","line":509,"updated":"2016-12-28 13:24:28.000000000","message":"The same","commit_id":"ba4ef5df03f8320c33a748e538b30df862e56f78"},{"author":{"_account_id":19576,"name":"Guy Kim","email":"guy.kim088@gmail.com","username":"Guy"},"change_message_id":"58927a7a2c5ad571c9aaa6d14a34cdfa3d0e28b5","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                existing_ref[\u0027source-name\u0027])"},{"line_number":507,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":508,"context_line":"                msg \u003d _(\" Error while getting volume details by name: \""},{"line_number":509,"context_line":"                        \"[status] %(stat)s\") % {\u0027stat\u0027: src_vol[\u0027status\u0027]}"},{"line_number":510,"context_line":"                LOG.error(msg)"},{"line_number":511,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":512,"context_line":"            return src_vol[\u0027volumeInfoResult\u0027][\u0027volSizeMb\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_ca8e50cf","line":509,"in_reply_to":"da4df55a_ea2dd446","updated":"2016-12-28 13:57:13.000000000","message":"Added the volume name in the error message","commit_id":"ba4ef5df03f8320c33a748e538b30df862e56f78"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":455,"context_line":"    def manage_existing(self, volume, existing_ref):"},{"line_number":456,"context_line":"        \"\"\"Manage an existing volume.\"\"\""},{"line_number":457,"context_line":"        if \u0027source-name\u0027 not in existing_ref and\u0027source-id\u0027not in existing_ref:"},{"line_number":458,"context_line":"            msg \u003d _(\" No source-id/source-name in existing_ref\")"},{"line_number":459,"context_line":"            LOG.error(msg)"},{"line_number":460,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":461,"context_line":"        elif \u0027source-name\u0027 not in existing_ref:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_2de536db","line":458,"range":{"start_line":458,"start_character":21,"end_line":458,"end_character":22},"updated":"2016-12-28 14:32:01.000000000","message":"Extra leading space.","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":463,"context_line":"                existing_ref[\u0027source-id\u0027])"},{"line_number":464,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":465,"context_line":"                vol_id \u003d existing_ref[\u0027source-id\u0027]"},{"line_number":466,"context_line":"                msg \u003d (_(\" Error while getting volume details, \""},{"line_number":467,"context_line":"                         \"[status] %(stat)s - [volume id] %(vol_id)s\"),"},{"line_number":468,"context_line":"                       {\u0027stat\u0027: six.text_type(src_vol[\u0027status\u0027]),"},{"line_number":469,"context_line":"                        \u0027vol_id\u0027: vol_id})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_add92624","line":466,"range":{"start_line":466,"start_character":26,"end_line":466,"end_character":27},"updated":"2016-12-28 14:32:01.000000000","message":"Extra leading space.","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":464,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":465,"context_line":"                vol_id \u003d existing_ref[\u0027source-id\u0027]"},{"line_number":466,"context_line":"                msg \u003d (_(\" Error while getting volume details, \""},{"line_number":467,"context_line":"                         \"[status] %(stat)s - [volume id] %(vol_id)s\"),"},{"line_number":468,"context_line":"                       {\u0027stat\u0027: six.text_type(src_vol[\u0027status\u0027]),"},{"line_number":469,"context_line":"                        \u0027vol_id\u0027: vol_id})"},{"line_number":470,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_6dfade76","line":467,"range":{"start_line":467,"start_character":70,"end_line":467,"end_character":71},"updated":"2016-12-28 14:32:01.000000000","message":"Since you are formatting the string ahead of time (not just done by the logger) this needs to be %. Otherwise this just creates a tuple that will not look right.","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":476,"context_line":"                existing_ref[\u0027source-name\u0027])"},{"line_number":477,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":478,"context_line":"                vol_name \u003d existing_ref[\u0027source-name\u0027]"},{"line_number":479,"context_line":"                msg \u003d (_(\" Error while getting volume details with the name \""},{"line_number":480,"context_line":"                         \"%(name)s: [status] %(stat)s\") % {\u0027name\u0027: vol_name,"},{"line_number":481,"context_line":"                       \u0027stat\u0027: src_vol[\u0027status\u0027]})"},{"line_number":482,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_0d32325f","line":479,"range":{"start_line":479,"start_character":26,"end_line":479,"end_character":27},"updated":"2016-12-28 14:32:01.000000000","message":"Extra leading space.","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":491,"context_line":"    def manage_existing_get_size(self, volume, existing_ref):"},{"line_number":492,"context_line":"        \"\"\"Return size of an existing volume.\"\"\""},{"line_number":493,"context_line":"        if \u0027source-name\u0027 not in existing_ref and\u0027source-id\u0027not in existing_ref:"},{"line_number":494,"context_line":"            msg \u003d _(\" No source-id/source-name in existing_ref\")"},{"line_number":495,"context_line":"            LOG.error(msg)"},{"line_number":496,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":497,"context_line":"        elif \u0027source-name\u0027 not in existing_ref:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_4d0fda87","line":494,"range":{"start_line":494,"start_character":21,"end_line":494,"end_character":22},"updated":"2016-12-28 14:32:01.000000000","message":"Extra leading space.","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":499,"context_line":"                existing_ref[\u0027source-id\u0027])"},{"line_number":500,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":501,"context_line":"                vol_id \u003d existing_ref[\u0027source-id\u0027]"},{"line_number":502,"context_line":"                msg \u003d (_(\" Error while getting volume details, \""},{"line_number":503,"context_line":"                         \"[status] %(stat)s - [volume id] %(vol_id)s\"),"},{"line_number":504,"context_line":"                       {\u0027stat\u0027: six.text_type(src_vol[\u0027status\u0027]),"},{"line_number":505,"context_line":"                        \u0027vol_id\u0027: vol_id})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_6d6f3e2b","line":502,"range":{"start_line":502,"start_character":26,"end_line":502,"end_character":27},"updated":"2016-12-28 14:32:01.000000000","message":"Extra leading space.","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":500,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":501,"context_line":"                vol_id \u003d existing_ref[\u0027source-id\u0027]"},{"line_number":502,"context_line":"                msg \u003d (_(\" Error while getting volume details, \""},{"line_number":503,"context_line":"                         \"[status] %(stat)s - [volume id] %(vol_id)s\"),"},{"line_number":504,"context_line":"                       {\u0027stat\u0027: six.text_type(src_vol[\u0027status\u0027]),"},{"line_number":505,"context_line":"                        \u0027vol_id\u0027: vol_id})"},{"line_number":506,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_8d6c6236","line":503,"range":{"start_line":503,"start_character":70,"end_line":503,"end_character":71},"updated":"2016-12-28 14:32:01.000000000","message":"%","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":511,"context_line":"                existing_ref[\u0027source-name\u0027])"},{"line_number":512,"context_line":"            if src_vol[\u0027status\u0027]:"},{"line_number":513,"context_line":"                vol_name \u003d existing_ref[\u0027source-name\u0027]"},{"line_number":514,"context_line":"                msg \u003d (_(\" Error while getting volume details with the name \""},{"line_number":515,"context_line":"                         \"%(name)s: [status] %(stat)s\") % {\u0027name\u0027: vol_name,"},{"line_number":516,"context_line":"                       \u0027stat\u0027: src_vol[\u0027status\u0027]})"},{"line_number":517,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_cd490ab9","line":514,"range":{"start_line":514,"start_character":26,"end_line":514,"end_character":27},"updated":"2016-12-28 14:32:01.000000000","message":"Extra leading space.","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"}],"releasenotes/notes/add_manage_unmanage_itri_disco_driver-1c9ee31cc86b6eda.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"964ed1ae8279a650fb24d1f556867bb352a2d06f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"Features:"},{"line_number":3,"context_line":"    - Add the feature of manage/unmanage for ITRI DISCO volume driver."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"da4df55a_0df5d255","line":3,"range":{"start_line":3,"start_character":6,"end_line":3,"end_character":40},"updated":"2016-12-28 14:32:01.000000000","message":"Added volume manage/unmanage support","commit_id":"a14b44f4bb8bf7da3833337cdec9eb25717f6684"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"c0b36ebcc13cebc3f218901257daeef90705b271","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"da4df55a_236c67cf","updated":"2016-12-28 15:27:50.000000000","message":"You lost the part about which driver this is for. Need to add back something saying this was added for the disco driver.","commit_id":"cae7adb7e00a62a37ef3999ffed26680d81a988b"}]}
