)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"583eb3a8faaa6b8041c1704b965f0925c1b4f0fc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Michał Kamiński \u003cmichal.kaminski@amg.net.pl\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-03-31 15:52:25 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Reservation with No Host Available error returns HTTP 200"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extends manager errors with oshostplugin error: NotEnoughHostsAvailable"},{"line_number":10,"context_line":"Exception thrown when there is not enought host available"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAWH%2F%2BAjk%3D","line":7,"updated":"2014-03-31 15:29:29.000000000","message":"Please describe the change that you did instead the error that you fixed.\nThis will help when others see this commit on logs or tools that shows this first line only.\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Information_in_commit_messages","commit_id":"342b78a4894dd7a78e950f259cf2ef910518fbe5"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"876c75510f5f42c1df4920fce8d2a89e49f0d22b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Michał Kamiński \u003cmichal.kaminski@amg.net.pl\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-03-31 15:52:25 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Reservation with No Host Available error returns HTTP 200"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extends manager errors with oshostplugin error: NotEnoughHostsAvailable"},{"line_number":10,"context_line":"Exception thrown when there is not enought host available"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAWH%2F9%2FO8%3D","line":7,"in_reply_to":"AAAAWH%2F%2BAjk%3D","updated":"2014-03-31 18:25:48.000000000","message":"+1 - first line of commit message is the most important one, it should describe all change  ideally)","commit_id":"342b78a4894dd7a78e950f259cf2ef910518fbe5"}],"climate/manager/exceptions.py":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"69048078da6b49143189efab6cf11e22f67ea022","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    msg_fmt \u003d _(\"Aggregate \u0027%(pool)s\u0027 not found!\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"class NotEnoughHostsAvailable(exceptions.ClimateException):"},{"line_number":120,"context_line":"    msg_fmt \u003d _(\"No hosts available\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BCHA%3D","line":119,"updated":"2014-03-31 12:24:57.000000000","message":"I\u0027ll rename it to the \"NotHostsAvailable\" :) I dunno, but I don\u0027t like word enough here :S","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"},{"author":{"_account_id":10945,"name":"Micha? Kami?ski","email":"michal.kaminski@amg.net.pl","username":"mkaminsk"},"change_message_id":"37b570f4e723ccc60e82cbe92aa17a2b622261ce","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    msg_fmt \u003d _(\"Aggregate \u0027%(pool)s\u0027 not found!\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"class NotEnoughHostsAvailable(exceptions.ClimateException):"},{"line_number":120,"context_line":"    msg_fmt \u003d _(\"No hosts available\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BBpE%3D","line":119,"in_reply_to":"AAAAWH%2F%2BB0k%3D","updated":"2014-03-31 13:55:17.000000000","message":"According to HTTP Specyfication:\n\n\"The request could not be completed due to a conflict with the current state of the resource. This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request. The response body SHOULD include enough\"\n\nUser is not able to resolve conflict. Date change is the business level change.","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"8367d3a95181523dc5c8a90a546e75f40a974e22","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    msg_fmt \u003d _(\"Aggregate \u0027%(pool)s\u0027 not found!\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"class NotEnoughHostsAvailable(exceptions.ClimateException):"},{"line_number":120,"context_line":"    msg_fmt \u003d _(\"No hosts available\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BBn0%3D","line":119,"in_reply_to":"AAAAWH%2F%2BB0k%3D","updated":"2014-03-31 13:28:18.000000000","message":"Well, ok, that\u0027s matter of terms.","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f55a8bf7be929754c96aa523148f8ea83933b3e9","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    msg_fmt \u003d _(\"Aggregate \u0027%(pool)s\u0027 not found!\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"class NotEnoughHostsAvailable(exceptions.ClimateException):"},{"line_number":120,"context_line":"    msg_fmt \u003d _(\"No hosts available\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BB0k%3D","line":119,"in_reply_to":"AAAAWH%2F%2BCHA%3D","updated":"2014-03-31 13:08:10.000000000","message":"-1 to Dina, I prefer NotEnoughHostsAvail as we could have for example 1 host free with a user asking for 2.\n\nThat said, Michal, could you please add 409 as code ?","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"}],"climate/manager/service.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f55a8bf7be929754c96aa523148f8ea83933b3e9","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                    else:"},{"line_number":220,"context_line":"                        raise exceptions.UnsupportedResourceType(resource_type)"},{"line_number":221,"context_line":"            except (exceptions.UnsupportedResourceType,"},{"line_number":222,"context_line":"                    db_ex.ClimateDBException, common_ex.ClimateException):"},{"line_number":223,"context_line":"                LOG.exception(\"Failed to create reservation for a lease. \""},{"line_number":224,"context_line":"                              \"Rollback the lease and associated reservations\")"},{"line_number":225,"context_line":"                db_api.lease_destroy(lease_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BB0M%3D","line":222,"updated":"2014-03-31 13:08:10.000000000","message":"ClimateDBException is inheriting from ClimateException, there is no need to keep it.","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"8367d3a95181523dc5c8a90a546e75f40a974e22","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                    else:"},{"line_number":220,"context_line":"                        raise exceptions.UnsupportedResourceType(resource_type)"},{"line_number":221,"context_line":"            except (exceptions.UnsupportedResourceType,"},{"line_number":222,"context_line":"                    db_ex.ClimateDBException, common_ex.ClimateException):"},{"line_number":223,"context_line":"                LOG.exception(\"Failed to create reservation for a lease. \""},{"line_number":224,"context_line":"                              \"Rollback the lease and associated reservations\")"},{"line_number":225,"context_line":"                db_api.lease_destroy(lease_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BBng%3D","line":222,"in_reply_to":"AAAAWH%2F%2BB0M%3D","updated":"2014-03-31 13:28:18.000000000","message":"+1","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"}],"climate/tests/plugins/test_physical_host_plugin.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f55a8bf7be929754c96aa523148f8ea83933b3e9","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        }"},{"line_number":362,"context_line":"        uuid4 \u003d self.patch(uuid, \u0027uuid4\u0027)"},{"line_number":363,"context_line":"        uuid4.return_value \u003d uuid.UUID(\u0027441c1476-9f8f-4700-9f30-cd9b6fef3509\u0027)"},{"line_number":364,"context_line":"        self.rp_create.return_value \u003d mock.MagicMock(id\u003d\u00271\u0027)"},{"line_number":365,"context_line":"        reservation_create \u003d self.patch(self.db_api, \u0027reservation_create\u0027)"},{"line_number":366,"context_line":"        reservation_create.return_value \u003d {"},{"line_number":367,"context_line":"            \u0027id\u0027: u\u0027f9894fcf-e2ed-41e9-8a4c-92fac332608e\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BByE%3D","line":364,"updated":"2014-03-31 13:08:10.000000000","message":"I\u0027m sorry, but please don\u0027t use mock lib directly (even if someone provided it in the trunk...)\n\nplease use instead\n my_fake \u003d self.patch()\n my_fake.return_value()\n my_fake.assert_called()","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"},{"author":{"_account_id":10945,"name":"Micha? Kami?ski","email":"michal.kaminski@amg.net.pl","username":"mkaminsk"},"change_message_id":"37b570f4e723ccc60e82cbe92aa17a2b622261ce","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        }"},{"line_number":362,"context_line":"        uuid4 \u003d self.patch(uuid, \u0027uuid4\u0027)"},{"line_number":363,"context_line":"        uuid4.return_value \u003d uuid.UUID(\u0027441c1476-9f8f-4700-9f30-cd9b6fef3509\u0027)"},{"line_number":364,"context_line":"        self.rp_create.return_value \u003d mock.MagicMock(id\u003d\u00271\u0027)"},{"line_number":365,"context_line":"        reservation_create \u003d self.patch(self.db_api, \u0027reservation_create\u0027)"},{"line_number":366,"context_line":"        reservation_create.return_value \u003d {"},{"line_number":367,"context_line":"            \u0027id\u0027: u\u0027f9894fcf-e2ed-41e9-8a4c-92fac332608e\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BBrU%3D","line":364,"in_reply_to":"AAAAWH%2F%2BByE%3D","updated":"2014-03-31 13:55:17.000000000","message":"i do not change this method, i\u0027ve changed only line 490. Unfortunately, i changed the order of methods, and i will correct this.","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f55a8bf7be929754c96aa523148f8ea83933b3e9","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        }"},{"line_number":385,"context_line":"        host_reservation_create.assert_called_once_with(host_values)"},{"line_number":386,"context_line":"        calls \u003d ["},{"line_number":387,"context_line":"            mock.call("},{"line_number":388,"context_line":"                {\u0027compute_host_id\u0027: \u0027host1\u0027,"},{"line_number":389,"context_line":"                 \u0027reservation_id\u0027: u\u0027f9894fcf-e2ed-41e9-8a4c-92fac332608e\u0027,"},{"line_number":390,"context_line":"                 })"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BBx4%3D","line":387,"updated":"2014-03-31 13:08:10.000000000","message":"see above","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"},{"author":{"_account_id":10945,"name":"Micha? Kami?ski","email":"michal.kaminski@amg.net.pl","username":"mkaminsk"},"change_message_id":"37b570f4e723ccc60e82cbe92aa17a2b622261ce","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        }"},{"line_number":385,"context_line":"        host_reservation_create.assert_called_once_with(host_values)"},{"line_number":386,"context_line":"        calls \u003d ["},{"line_number":387,"context_line":"            mock.call("},{"line_number":388,"context_line":"                {\u0027compute_host_id\u0027: \u0027host1\u0027,"},{"line_number":389,"context_line":"                 \u0027reservation_id\u0027: u\u0027f9894fcf-e2ed-41e9-8a4c-92fac332608e\u0027,"},{"line_number":390,"context_line":"                 })"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BBrY%3D","line":387,"in_reply_to":"AAAAWH%2F%2BBx4%3D","updated":"2014-03-31 13:55:17.000000000","message":"See above","commit_id":"e136bdd3b873f3f11f0b524f066373d5cb83d17d"}]}
