)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"5ab299565f42027e1ba194eddbb0876c87eb4c15","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Prevent missing Purity hosts from raising errors"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Occasionally a Purity host can be deleted out from underneath Cinder."},{"line_number":10,"context_line":"When this happens if cinder is attempting to disconnect a volume from"},{"line_number":11,"context_line":"that host we should treat it as a ‘success’ since if the host is gone,"},{"line_number":12,"context_line":"it is disconnected already (as far as Purity is concerned)."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a41bdd9_17da3117","line":10,"updated":"2015-07-16 12:56:37.000000000","message":"Cinder","commit_id":"2ece8315bd6833bcc4073b50ccc2bb4e036a2621"}],"cinder/tests/unit/test_pure.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"19e41e4ce419ee9c12f13431235fc5342111d5ec","unresolved":false,"context_lines":[{"line_number":467,"context_line":"                                                            private\u003dTrue)"},{"line_number":468,"context_line":"        self.array.delete_host.assert_called_with(PURE_HOST_NAME)"},{"line_number":469,"context_line":"        # Branch where host gets deleted, but does not exist on array"},{"line_number":470,"context_line":"        self.array.reset_mock()"},{"line_number":471,"context_line":"        self.array.list_host_connections.return_value \u003d []"},{"line_number":472,"context_line":"        self.array.delete_host.side_effect \u003d \\"},{"line_number":473,"context_line":"            self.purestorage_module.PureHTTPError(code\u003d400,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_cd2eb5a4","line":470,"updated":"2015-07-15 14:22:54.000000000","message":"IMO, instead of this we need to move  this code to a separate test. But we\u0027ve already have the same in this test case so I won\u0027t -1","commit_id":"dcd44efc8ed13a860529492032b9ba0cfa6a8cd9"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"dc6240b507028d17904f0674f15315ced41432e7","unresolved":false,"context_lines":[{"line_number":467,"context_line":"                                                            private\u003dTrue)"},{"line_number":468,"context_line":"        self.array.delete_host.assert_called_with(PURE_HOST_NAME)"},{"line_number":469,"context_line":"        # Branch where host gets deleted, but does not exist on array"},{"line_number":470,"context_line":"        self.array.reset_mock()"},{"line_number":471,"context_line":"        self.array.list_host_connections.return_value \u003d []"},{"line_number":472,"context_line":"        self.array.delete_host.side_effect \u003d \\"},{"line_number":473,"context_line":"            self.purestorage_module.PureHTTPError(code\u003d400,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_96c0a351","line":470,"in_reply_to":"9a41bdd9_baecb82a","updated":"2015-07-15 23:06:50.000000000","message":": / yea these test cases should get cleaned up at some point.... buuut today isn\u0027t the day. I\u0027ll split this new one out into it\u0027s own for now. Step in the right direction at least.","commit_id":"dcd44efc8ed13a860529492032b9ba0cfa6a8cd9"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a6106c80afd457304862004053618b8514839e88","unresolved":false,"context_lines":[{"line_number":467,"context_line":"                                                            private\u003dTrue)"},{"line_number":468,"context_line":"        self.array.delete_host.assert_called_with(PURE_HOST_NAME)"},{"line_number":469,"context_line":"        # Branch where host gets deleted, but does not exist on array"},{"line_number":470,"context_line":"        self.array.reset_mock()"},{"line_number":471,"context_line":"        self.array.list_host_connections.return_value \u003d []"},{"line_number":472,"context_line":"        self.array.delete_host.side_effect \u003d \\"},{"line_number":473,"context_line":"            self.purestorage_module.PureHTTPError(code\u003d400,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_baecb82a","line":470,"in_reply_to":"9a41bdd9_cd2eb5a4","updated":"2015-07-15 17:25:05.000000000","message":"I agree, this new code should go in a different test.  And even though the whole test needs splitting, it\u0027s no excuse to keep doing it wrong.","commit_id":"dcd44efc8ed13a860529492032b9ba0cfa6a8cd9"}],"cinder/volume/drivers/pure.py":[{"author":{"_account_id":13868,"name":"Danny Wilson","email":"daniel.wilson@purestorage.com","username":"dannywilson"},"change_message_id":"1bc9bca42a6bf180d3e4b77153450aa62b98dc04","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                        # Happens if the host is already deleted."},{"line_number":259,"context_line":"                        # This is fine though, just treat it as a warning."},{"line_number":260,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":261,"context_line":"                        LOG.warning(_LE(\"Purity host deletion failed: \""},{"line_number":262,"context_line":"                                        \"%(msg)s.\"), {\"msg\": err.text})"},{"line_number":263,"context_line":"            return True"},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_78c9a025","line":261,"updated":"2015-07-14 16:03:00.000000000","message":"Should be _LW for warning I think.","commit_id":"ae2d4c117eb56ab3a07c8afce876dd1514291195"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"de5030ae80df52293f68fcc13b9ac4aed353b7d6","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                        # Happens if the host is already deleted."},{"line_number":259,"context_line":"                        # This is fine though, just treat it as a warning."},{"line_number":260,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":261,"context_line":"                        LOG.warning(_LE(\"Purity host deletion failed: \""},{"line_number":262,"context_line":"                                        \"%(msg)s.\"), {\"msg\": err.text})"},{"line_number":263,"context_line":"            return True"},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_a79ce50f","line":261,"in_reply_to":"9a41bdd9_78c9a025","updated":"2015-07-14 17:27:41.000000000","message":"Done","commit_id":"ae2d4c117eb56ab3a07c8afce876dd1514291195"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"19e41e4ce419ee9c12f13431235fc5342111d5ec","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                        # Happens if the host is already deleted."},{"line_number":259,"context_line":"                        # This is fine though, just treat it as a warning."},{"line_number":260,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":261,"context_line":"                        LOG.warning(_LW(\"Purity host deletion failed: \""},{"line_number":262,"context_line":"                                        \"%(msg)s.\"), {\"msg\": err.text})"},{"line_number":263,"context_line":"            return True"},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_d01c0a6c","line":261,"updated":"2015-07-15 14:22:54.000000000","message":"Log.exception","commit_id":"dcd44efc8ed13a860529492032b9ba0cfa6a8cd9"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"dc6240b507028d17904f0674f15315ced41432e7","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                        # Happens if the host is already deleted."},{"line_number":259,"context_line":"                        # This is fine though, just treat it as a warning."},{"line_number":260,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":261,"context_line":"                        LOG.warning(_LW(\"Purity host deletion failed: \""},{"line_number":262,"context_line":"                                        \"%(msg)s.\"), {\"msg\": err.text})"},{"line_number":263,"context_line":"            return True"},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_b6acc78c","line":261,"in_reply_to":"9a41bdd9_3f109a56","updated":"2015-07-15 23:06:50.000000000","message":"I\u0027m going to leave it as a warning. Like Gorka said, if it doesn\u0027t exist it is successfully disconnected... but we log a warning since something *might* be wrong on the array.","commit_id":"dcd44efc8ed13a860529492032b9ba0cfa6a8cd9"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a6106c80afd457304862004053618b8514839e88","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                        # Happens if the host is already deleted."},{"line_number":259,"context_line":"                        # This is fine though, just treat it as a warning."},{"line_number":260,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":261,"context_line":"                        LOG.warning(_LW(\"Purity host deletion failed: \""},{"line_number":262,"context_line":"                                        \"%(msg)s.\"), {\"msg\": err.text})"},{"line_number":263,"context_line":"            return True"},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_3f109a56","line":261,"in_reply_to":"9a41bdd9_d01c0a6c","updated":"2015-07-15 17:25:05.000000000","message":"I think warning is enough, as the operation is a success.  They wanted it disconnected, and since it is no longer there, it is disconnected for sure.","commit_id":"dcd44efc8ed13a860529492032b9ba0cfa6a8cd9"}]}
