)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c513e561865d8408fcac598bce58e3959bc459af","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"With this patch, the nexus of nova service starting,"},{"line_number":14,"context_line":"nova.test.TestCase.start_service, is instrumented to keep track of how"},{"line_number":15,"context_line":"many of each service we start. If a non-compute service is started more"},{"line_number":16,"context_line":"than once, we fail."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1] https://bugs.launchpad.net/nova/+bug/1844174"},{"line_number":19,"context_line":"[2] https://review.opendev.org/#/c/681059/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_abc82a74","line":16,"range":{"start_line":15,"start_character":31,"end_line":16,"end_character":19},"updated":"2019-09-16 21:08:23.000000000","message":"I think this is likely bad for the API service since we have functional tests that start multiple API fixtures using different project IDs so we can test a mix of admin and non-admin, or filtering by project ID, within the same test. The API is also stateless (as is conductor).","commit_id":"b9bc7ef1fe17e37838014965f2d626798ae615bc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c513e561865d8408fcac598bce58e3959bc459af","unresolved":false,"context_lines":[{"line_number":16,"context_line":"than once, we fail."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1] https://bugs.launchpad.net/nova/+bug/1844174"},{"line_number":19,"context_line":"[2] https://review.opendev.org/#/c/681059/"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I56d3cb17260dad8b88f03c0a7b9688efb3258d6f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_8bc0ce52","line":19,"updated":"2019-09-16 21:08:23.000000000","message":"This isn\u0027t related to starting a nova service really, I mean it\u0027s not using the ServiceFixture, it\u0027s just starting up more than one PlacementFixture.","commit_id":"b9bc7ef1fe17e37838014965f2d626798ae615bc"}],"nova/test.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6f7e49aaa761e0f5ae138b4f85babdcb1d271117","unresolved":false,"context_lines":[{"line_number":460,"context_line":"            nova_fixtures.ServiceFixture(name, host, cell\u003dcell, **kwargs))"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"        self._service_fixture_count[name] +\u003d 1"},{"line_number":463,"context_line":"        real_stop \u003d svc.service.stop"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"        def patch_stop(*a, **k):"},{"line_number":466,"context_line":"            self._service_fixture_count[name] -\u003d 1"},{"line_number":467,"context_line":"            return real_stop(*a, **k)"},{"line_number":468,"context_line":"        self.useFixture(fixtures.MockPatchObject("},{"line_number":469,"context_line":"            svc.service, \u0027stop\u0027, patch_stop))"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"        return svc.service"},{"line_number":472,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_23219dfc","line":469,"range":{"start_line":463,"start_character":8,"end_line":469,"end_character":45},"updated":"2019-09-18 14:48:30.000000000","message":"Should probably have a comment with this, I guess you\u0027re tracking for tests that stop and restart the service?","commit_id":"09c0b4875f459477df54a762512d1cbc12afa0a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"07fcd8d7417911a4faa1bf9debdfb77f8a339319","unresolved":false,"context_lines":[{"line_number":460,"context_line":"            nova_fixtures.ServiceFixture(name, host, cell\u003dcell, **kwargs))"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"        self._service_fixture_count[name] +\u003d 1"},{"line_number":463,"context_line":"        real_stop \u003d svc.service.stop"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"        def patch_stop(*a, **k):"},{"line_number":466,"context_line":"            self._service_fixture_count[name] -\u003d 1"},{"line_number":467,"context_line":"            return real_stop(*a, **k)"},{"line_number":468,"context_line":"        self.useFixture(fixtures.MockPatchObject("},{"line_number":469,"context_line":"            svc.service, \u0027stop\u0027, patch_stop))"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"        return svc.service"},{"line_number":472,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_b6bc57bb","line":469,"range":{"start_line":463,"start_character":8,"end_line":469,"end_character":45},"in_reply_to":"3fa7e38b_23219dfc","updated":"2019-10-30 15:48:02.000000000","message":"Done","commit_id":"09c0b4875f459477df54a762512d1cbc12afa0a4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ccf3fc0a419ed9386c486070fcf9b58c02b73941","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        svc \u003d self.useFixture("},{"line_number":468,"context_line":"            nova_fixtures.ServiceFixture(name, host, cell\u003dcell, **kwargs))"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"        # Keep track of how many instances of this service are running. (There"},{"line_number":471,"context_line":"        # should be at most one.)"},{"line_number":472,"context_line":"        self._service_fixture_count[name] +\u003d 1"},{"line_number":473,"context_line":"        real_stop \u003d svc.service.stop"},{"line_number":474,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_76e7bfe4","line":471,"range":{"start_line":470,"start_character":72,"end_line":471,"end_character":33},"updated":"2019-10-30 15:49:44.000000000","message":"for scheduler, yes. for compute no.","commit_id":"2ef2e8a4b0aff513fa3a5ac911c9c8755f3c8d65"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cdf1c24d079fd084062cf926b734dc4db4412da2","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        svc \u003d self.useFixture("},{"line_number":468,"context_line":"            nova_fixtures.ServiceFixture(name, host, cell\u003dcell, **kwargs))"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"        # Keep track of how many instances of this service are running. (There"},{"line_number":471,"context_line":"        # should be at most one.)"},{"line_number":472,"context_line":"        self._service_fixture_count[name] +\u003d 1"},{"line_number":473,"context_line":"        real_stop \u003d svc.service.stop"},{"line_number":474,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_259cacbe","line":471,"range":{"start_line":470,"start_character":72,"end_line":471,"end_character":33},"in_reply_to":"3fa7e38b_76e7bfe4","updated":"2019-10-30 19:44:04.000000000","message":"Yeah I\u0027ll remove this part to avoid confusion and then approve.","commit_id":"2ef2e8a4b0aff513fa3a5ac911c9c8755f3c8d65"}]}
