)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f6b6d0c2b593af180de5b3658506f323501471d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5fc1f717_8b59375c","line":31,"updated":"2019-04-04 21:33:02.000000000","message":"Should probably have related bug 1815697 for this as well.","commit_id":"2bc2cb9e7bc4716bef57a0616db036a1b43783ae"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc0ad6846ebc7fd3da6c10b43ef4c472acc269d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3fce034c_39b521ce","line":31,"in_reply_to":"5fc1f717_8b59375c","updated":"2019-04-15 22:06:27.000000000","message":"Done","commit_id":"2bc2cb9e7bc4716bef57a0616db036a1b43783ae"}],"nova/compute/rpcapi.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a83b7ea6ab329b3bdbe686ed8d9046d149ed1f9e","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        [upgrade_levels]/compute\u003dauto and we have access to the API DB."},{"line_number":379,"context_line":"        \"\"\""},{"line_number":380,"context_line":"        global _ROUTER"},{"line_number":381,"context_line":"        if _ROUTER is None:"},{"line_number":382,"context_line":"            with lockutils.lock(\u0027compute-rpcapi-router\u0027):"},{"line_number":383,"context_line":"                if _ROUTER is None:"},{"line_number":384,"context_line":"                    target \u003d messaging.Target(topic\u003dRPC_TOPIC, version\u003d\u00275.0\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_552ea043","line":381,"updated":"2019-04-24 22:04:48.000000000","message":"So, this all looks cool. However, if we fix the SIGHUP thing in oslo.service, this will no longer reset the upgrade_versions pin and/or recalculate the service version.\n\nEven thought we know that\u0027s broken, shouldn\u0027t we plumb that reset into here, given that what is currently in reset is effectively a no-op, but *looks* like it should do the right thing?\n\nIf not (and I\u0027m not sure why that would be), we should remove the _apparent_ re-loading of the compute rpcapi from compute manager\u0027s reset.","commit_id":"7906633820107489546a054bf1a6fab78d2737ca"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8620cb13c3d80089e7a3bb81ad78f8a640c2cd1e","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        [upgrade_levels]/compute\u003dauto and we have access to the API DB."},{"line_number":379,"context_line":"        \"\"\""},{"line_number":380,"context_line":"        global _ROUTER"},{"line_number":381,"context_line":"        if _ROUTER is None:"},{"line_number":382,"context_line":"            with lockutils.lock(\u0027compute-rpcapi-router\u0027):"},{"line_number":383,"context_line":"                if _ROUTER is None:"},{"line_number":384,"context_line":"                    target \u003d messaging.Target(topic\u003dRPC_TOPIC, version\u003d\u00275.0\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_c7c98378","line":381,"in_reply_to":"ffb9cba7_156d8803","updated":"2019-04-25 00:02:03.000000000","message":"Done and nice catch.","commit_id":"7906633820107489546a054bf1a6fab78d2737ca"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a40e690028813c45af671707ebc65731ec712da4","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        [upgrade_levels]/compute\u003dauto and we have access to the API DB."},{"line_number":379,"context_line":"        \"\"\""},{"line_number":380,"context_line":"        global _ROUTER"},{"line_number":381,"context_line":"        if _ROUTER is None:"},{"line_number":382,"context_line":"            with lockutils.lock(\u0027compute-rpcapi-router\u0027):"},{"line_number":383,"context_line":"                if _ROUTER is None:"},{"line_number":384,"context_line":"                    target \u003d messaging.Target(topic\u003dRPC_TOPIC, version\u003d\u00275.0\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_156d8803","line":381,"in_reply_to":"ffb9cba7_552ea043","updated":"2019-04-24 22:56:21.000000000","message":"Oh right I guess I didn\u0027t think about this:\n\nhttps://github.com/openstack/nova/blob/a991980863f056323c1ee9fd6a46dbc4cb899eca/nova/compute/manager.py#L545-L546\n\nSo that resets both the LAST_VERSION global and will init a new RPC ComputeAPI, which if the router is a singleton we won\u0027t hit _determine_version_cap again.\n\nThe easy way to deal with that is likely just reset the _ROUTER global like the ComputeManager.reset() is nulling out the LAST_VERSION global, right?","commit_id":"7906633820107489546a054bf1a6fab78d2737ca"}],"nova/tests/unit/compute/test_rpcapi.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f495316021a106e046464bcb5ef7e4b4166a3d4d","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                uuid\u003dself.fake_instance_obj.uuid)"},{"line_number":66,"context_line":"        mock_host_mapping.side_effect \u003d exception.HostMappingNotFound("},{"line_number":67,"context_line":"                name\u003dself.fake_instance_obj.host)"},{"line_number":68,"context_line":"        self.reset_globals()"},{"line_number":69,"context_line":"        self.addCleanup(self.reset_globals)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def tearDown(self):"},{"line_number":72,"context_line":"        super(ComputeRpcAPITestCase, self).tearDown()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_86cdfc87","line":69,"range":{"start_line":68,"start_character":8,"end_line":69,"end_character":43},"updated":"2019-04-01 22:25:09.000000000","message":"Does this work? Wouldn\u0027t it be better to mock.patch.object the globals in the tests that tickle them?","commit_id":"2bc2cb9e7bc4716bef57a0616db036a1b43783ae"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0960aa7bec6029a56aeffa9f46785b83f6ec4ea7","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class ComputeRpcAPITestCase(test.NoDBTestCase):"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def reset_globals(self):"},{"line_number":38,"context_line":"        compute_rpcapi.NO_COMPUTES_WARNING \u003d False"},{"line_number":39,"context_line":"        compute_rpcapi.LAST_VERSION \u003d None"},{"line_number":40,"context_line":"        compute_rpcapi._ROUTER \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fce034c_b9c0312c","line":37,"updated":"2019-04-15 22:07:10.000000000","message":"I guess I could undo this now. Let\u0027s see if tests pass first.","commit_id":"7906633820107489546a054bf1a6fab78d2737ca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"cd34fb1bc1aca287e8b8f84ada59440963816f10","unresolved":false,"context_lines":[{"line_number":600,"context_line":"            api._determine_version_cap(mock.Mock())"},{"line_number":601,"context_line":"        mock_allcells.assert_not_called()"},{"line_number":602,"context_line":"        mock_minver.assert_has_calls(["},{"line_number":603,"context_line":"            mock.call(mock.ANY, \u0027nova-compute\u0027),"},{"line_number":604,"context_line":"            mock.call(mock.ANY, \u0027nova-compute\u0027)])"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    @mock.patch(\u0027nova.objects.Service.get_minimum_version\u0027)"},{"line_number":607,"context_line":"    @mock.patch(\u0027nova.objects.service.get_minimum_version_all_cells\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffb9cba7_f52b032d","line":604,"range":{"start_line":603,"start_character":0,"end_line":604,"end_character":49},"updated":"2019-04-25 17:48:15.000000000","message":"Why is this called twice?\n\n[later] because mock_minver.return_value \u003d 0 so we don\u0027t set LATEST_VERSION so we don\u0027t short out of _determine_version_cap.","commit_id":"ae659668b5679cf7223474193d3b9a584dd3f016"}]}
