)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"7408825456b31995f785cb0dace258da715dbe85","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     mouad benchchaoui \u003cm.benchchaoui@cloudbau.de\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-03-27 16:08:03 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"BUGFIX: #1160955"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Iec8a5238345b26e70b0aa1dc96a896e26af34722"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAOH%2F%2FyW4%3D","line":7,"updated":"2013-03-27 15:29:27.000000000","message":"Please follow these guidelines regarding commit message:\nhttps://wiki.openstack.org/wiki/Gerrit_Workflow","commit_id":"08e2a406cc63666d08a63a911de415726f05eefd"}],"quantum/tests/unit/test_l3_agent.py":[{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"7408825456b31995f785cb0dace258da715dbe85","unresolved":false,"context_lines":[{"line_number":491,"context_line":"        )"},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"        self.external_process_p.stop()"},{"line_number":494,"context_line":"        try:"},{"line_number":495,"context_line":"            with mock.patch(ip_class_path) as ip_mock:"},{"line_number":496,"context_line":"                self.agent._spawn_metadata_proxy(router_info)"},{"line_number":497,"context_line":"                ip_mock.assert_has_calls(["}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2Fu5A%3D","line":494,"updated":"2013-03-30 16:54:59.000000000","message":"why do you need try/finally here?","commit_id":"e1b3e1678d37756692796b2099e75a872a8b35ea"},{"author":{"_account_id":7073,"name":"mouad benchchaoui","email":"m.benchchaoui@x-ion.de","username":"mouad"},"change_message_id":"0b92749a1b7a7673cef76836bb1c8d774aea7d32","unresolved":false,"context_lines":[{"line_number":491,"context_line":"        )"},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"        self.external_process_p.stop()"},{"line_number":494,"context_line":"        try:"},{"line_number":495,"context_line":"            with mock.patch(ip_class_path) as ip_mock:"},{"line_number":496,"context_line":"                self.agent._spawn_metadata_proxy(router_info)"},{"line_number":497,"context_line":"                ip_mock.assert_has_calls(["}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2Fu3U%3D","line":494,"in_reply_to":"AAAAOH%2F%2Fu5A%3D","updated":"2013-03-30 19:42:09.000000000","message":"The finally clause make sure that the mocker is started again even when the assert* fail, b/c without it and if the test fail we will also end up with a confusing error when tearDown is called, FWIW the same thing was done in the test_dhcp_agent.py","commit_id":"e1b3e1678d37756692796b2099e75a872a8b35ea"}]}
