)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5eb5ae5a2ebb87990b1a37c1c5d765a15d32ddcf","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     melanie witt \u003cmelwittt@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-11-07 00:45:40 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use SleepingFixture instead of mocking _ThreadingEvent.wait"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Recently, the _ThreadingEvent class in oslo.service was removed [1] and"},{"line_number":10,"context_line":"our unit test patching is preventing us from moving to a newer version"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_69959fe1","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":19},"updated":"2018-11-07 22:54:14.000000000","message":"SleepFixture","commit_id":"660733a30381e7d25a9e1034a6b688f5c8792abf"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5eb5ae5a2ebb87990b1a37c1c5d765a15d32ddcf","unresolved":false,"context_lines":[{"line_number":14,"context_line":"time in the looping call of RetryDecorator, which adds several seconds"},{"line_number":15,"context_line":"to the run time of unit tests."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This changes things to use the new SleepingFixture from oslo.service"},{"line_number":18,"context_line":"instead."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Depends-On: https://review.openstack.org/615978"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_c994f3e9","line":17,"range":{"start_line":17,"start_character":35,"end_line":17,"end_character":50},"updated":"2018-11-07 22:54:14.000000000","message":"SleepFixture","commit_id":"660733a30381e7d25a9e1034a6b688f5c8792abf"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5eb5ae5a2ebb87990b1a37c1c5d765a15d32ddcf","unresolved":false,"context_lines":[{"line_number":17,"context_line":"This changes things to use the new SleepingFixture from oslo.service"},{"line_number":18,"context_line":"instead."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Depends-On: https://review.openstack.org/615978"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"[1] I62e9f1a7cde8846be368fbec58b8e0825ce02079"},{"line_number":23,"context_line":"[2] https://review.openstack.org/615676"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_e988cfc4","line":20,"range":{"start_line":20,"start_character":12,"end_line":20,"end_character":47},"updated":"2018-11-07 22:54:14.000000000","message":"This is now merged. Maybe worth keeping the link around for reference though.","commit_id":"660733a30381e7d25a9e1034a6b688f5c8792abf"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4687e6da68d0e03fb9f2b5ca03f625afa6405624","unresolved":false,"context_lines":[{"line_number":14,"context_line":"time in the looping call of RetryDecorator, which adds several seconds"},{"line_number":15,"context_line":"to the run time of unit tests."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This changes things to use the new SleepFixture from oslo.service"},{"line_number":18,"context_line":"instead."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Depends-On: https://review.openstack.org/616371"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3f79a3b5_bd3758e4","line":17,"range":{"start_line":17,"start_character":35,"end_line":17,"end_character":47},"updated":"2018-11-08 20:21:15.000000000","message":"OK and this was added in I0089c7778957456db66599abffaaad3a5332243c which was released in oslo.service 1.33.0, which is why we have the depends on below to have oslo.service 1.33.0 in upper-constraints.","commit_id":"b3333a67194156ef1dcc7e0c10e12800d6e4965f"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"52f9141a6f555930787f0907f263931f464ebb70","unresolved":false,"context_lines":[{"line_number":6437,"context_line":"                self.context, mock.sentinel.instance,"},{"line_number":6438,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":6439,"context_line":""},{"line_number":6440,"context_line":"    @mock.patch(\u0027oslo_service.loopingcall.LoopingCallBase._sleep\u0027,"},{"line_number":6441,"context_line":"                new\u003dmock.Mock())"},{"line_number":6442,"context_line":"    @mock.patch(\u0027nova.compute.manager.ComputeManager._deallocate_network\u0027)"},{"line_number":6443,"context_line":"    @mock.patch(\u0027nova.compute.manager.LOG.warning\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_70fe053a","line":6440,"updated":"2018-11-06 14:05:38.000000000","message":"This is still mocking something that\u0027s private.","commit_id":"b01f2746f4c1de3895a0a701d064df7fb902e464"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"55fc9bd6fa44153813fba2b051dea5e6270f2d7d","unresolved":false,"context_lines":[{"line_number":6437,"context_line":"                self.context, mock.sentinel.instance,"},{"line_number":6438,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":6439,"context_line":""},{"line_number":6440,"context_line":"    @mock.patch(\u0027oslo_service.loopingcall.LoopingCallBase._sleep\u0027,"},{"line_number":6441,"context_line":"                new\u003dmock.Mock())"},{"line_number":6442,"context_line":"    @mock.patch(\u0027nova.compute.manager.ComputeManager._deallocate_network\u0027)"},{"line_number":6443,"context_line":"    @mock.patch(\u0027nova.compute.manager.LOG.warning\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_9fcacd6c","line":6440,"in_reply_to":"3f79a3b5_70fe053a","updated":"2018-11-06 16:07:05.000000000","message":"I agree mocking a private thing in a library is icky and dangerous, but do you have an alternative suggestion? Would \u0027eventlet.event.Event.wait\u0027 do the trick?\n\nStill requires an awful lot of knowledge of the internals of loopingcall, which are (and should be) subject to change. What would be neat is if the lib itself provided a (public) patching mechanism that it could keep up to date as these things move. We can\u0027t possibly be the only ones wanting to mock this out so our tests don\u0027t actually sleep.","commit_id":"b01f2746f4c1de3895a0a701d064df7fb902e464"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"ba7467620b5f7782ae25b62ade004c9257e585be","unresolved":false,"context_lines":[{"line_number":6437,"context_line":"                self.context, mock.sentinel.instance,"},{"line_number":6438,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":6439,"context_line":""},{"line_number":6440,"context_line":"    @mock.patch(\u0027oslo_service.loopingcall.LoopingCallBase._sleep\u0027,"},{"line_number":6441,"context_line":"                new\u003dmock.Mock())"},{"line_number":6442,"context_line":"    @mock.patch(\u0027nova.compute.manager.ComputeManager._deallocate_network\u0027)"},{"line_number":6443,"context_line":"    @mock.patch(\u0027nova.compute.manager.LOG.warning\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_aa8f4974","line":6440,"in_reply_to":"3f79a3b5_9fcacd6c","updated":"2018-11-06 16:28:04.000000000","message":"I don\u0027t know enough about how this library works to offer a better alternative. If you want to change the library to add a public interface to support this sort of test, I\u0027m sure we could make that happen.","commit_id":"b01f2746f4c1de3895a0a701d064df7fb902e464"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"2acc91bfea643125953fe26bc74dba60d0c42db7","unresolved":false,"context_lines":[{"line_number":6437,"context_line":"                self.context, mock.sentinel.instance,"},{"line_number":6438,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":6439,"context_line":""},{"line_number":6440,"context_line":"    @mock.patch(\u0027oslo_service.loopingcall.LoopingCallBase._sleep\u0027,"},{"line_number":6441,"context_line":"                new\u003dmock.Mock())"},{"line_number":6442,"context_line":"    @mock.patch(\u0027nova.compute.manager.ComputeManager._deallocate_network\u0027)"},{"line_number":6443,"context_line":"    @mock.patch(\u0027nova.compute.manager.LOG.warning\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_aa1f49b6","line":6440,"in_reply_to":"3f79a3b5_aa8f4974","updated":"2018-11-06 16:43:22.000000000","message":"It looks like this is just nooping the sleep call to avoid wasting time in tests. Maybe we could add a fixture to oslo.service that would do whatever mocking is needed to accomplish that?","commit_id":"b01f2746f4c1de3895a0a701d064df7fb902e464"}],"nova/tests/unit/virt/disk/mount/test_api.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"52f9141a6f555930787f0907f263931f464ebb70","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Make RetryDecorator not actually sleep on retries"},{"line_number":32,"context_line":"@mock.patch(\u0027oslo_service.loopingcall.LoopingCallBase._sleep\u0027, new\u003dmock.Mock())"},{"line_number":33,"context_line":"class MountTestCase(test.NoDBTestCase):"},{"line_number":34,"context_line":"    def _test_map_dev(self, partition):"},{"line_number":35,"context_line":"        mount \u003d api.Mount(mock.sentinel.image, mock.sentinel.mount_dir)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_90fba146","line":32,"updated":"2018-11-06 14:05:38.000000000","message":"Ditto.","commit_id":"b01f2746f4c1de3895a0a701d064df7fb902e464"}],"nova/tests/unit/virt/libvirt/test_guest.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"52f9141a6f555930787f0907f263931f464ebb70","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Make RetryDecorator not actually sleep on retries"},{"line_number":38,"context_line":"@mock.patch(\u0027oslo_service.loopingcall.LoopingCallBase._sleep\u0027, new\u003dmock.Mock())"},{"line_number":39,"context_line":"class GuestTestCase(test.NoDBTestCase):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_50f18963","line":38,"updated":"2018-11-06 14:05:38.000000000","message":"Ditto.","commit_id":"b01f2746f4c1de3895a0a701d064df7fb902e464"}],"requirements.txt":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"8cd8c2238b2cfa98f3fd4df3ffca4ece8fa902b9","unresolved":false,"context_lines":[{"line_number":49,"context_line":"oslo.policy\u003e\u003d1.35.0 # Apache-2.0"},{"line_number":50,"context_line":"oslo.privsep\u003e\u003d1.23.0 # Apache-2.0"},{"line_number":51,"context_line":"oslo.i18n\u003e\u003d3.15.3 # Apache-2.0"},{"line_number":52,"context_line":"oslo.service!\u003d1.28.1,\u003e\u003d1.33.0 # Apache-2.0"},{"line_number":53,"context_line":"rfc3986\u003e\u003d0.3.1 # Apache-2.0"},{"line_number":54,"context_line":"oslo.middleware\u003e\u003d3.31.0 # Apache-2.0"},{"line_number":55,"context_line":"psutil\u003e\u003d3.2.2 # BSD"}],"source_content_type":"text/plain","patch_set":2,"id":"3f79a3b5_9e3e3625","line":52,"range":{"start_line":52,"start_character":12,"end_line":52,"end_character":21},"updated":"2018-11-07 15:50:58.000000000","message":"this can go away","commit_id":"660733a30381e7d25a9e1034a6b688f5c8792abf"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"69e4a61743308e01357cc1a82bcf0def0d07d0de","unresolved":false,"context_lines":[{"line_number":49,"context_line":"oslo.policy\u003e\u003d1.35.0 # Apache-2.0"},{"line_number":50,"context_line":"oslo.privsep\u003e\u003d1.23.0 # Apache-2.0"},{"line_number":51,"context_line":"oslo.i18n\u003e\u003d3.15.3 # Apache-2.0"},{"line_number":52,"context_line":"oslo.service!\u003d1.28.1,\u003e\u003d1.33.0 # Apache-2.0"},{"line_number":53,"context_line":"rfc3986\u003e\u003d0.3.1 # Apache-2.0"},{"line_number":54,"context_line":"oslo.middleware\u003e\u003d3.31.0 # Apache-2.0"},{"line_number":55,"context_line":"psutil\u003e\u003d3.2.2 # BSD"}],"source_content_type":"text/plain","patch_set":2,"id":"3f79a3b5_21756c00","line":52,"range":{"start_line":52,"start_character":12,"end_line":52,"end_character":21},"in_reply_to":"3f79a3b5_21d9ec26","updated":"2018-11-08 15:44:51.000000000","message":"Okay, here it is: https://review.openstack.org/#/c/616591/","commit_id":"660733a30381e7d25a9e1034a6b688f5c8792abf"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"3121ba55f2437e4fb321c87b035beb98787859eb","unresolved":false,"context_lines":[{"line_number":49,"context_line":"oslo.policy\u003e\u003d1.35.0 # Apache-2.0"},{"line_number":50,"context_line":"oslo.privsep\u003e\u003d1.23.0 # Apache-2.0"},{"line_number":51,"context_line":"oslo.i18n\u003e\u003d3.15.3 # Apache-2.0"},{"line_number":52,"context_line":"oslo.service!\u003d1.28.1,\u003e\u003d1.33.0 # Apache-2.0"},{"line_number":53,"context_line":"rfc3986\u003e\u003d0.3.1 # Apache-2.0"},{"line_number":54,"context_line":"oslo.middleware\u003e\u003d3.31.0 # Apache-2.0"},{"line_number":55,"context_line":"psutil\u003e\u003d3.2.2 # BSD"}],"source_content_type":"text/plain","patch_set":2,"id":"3f79a3b5_21d9ec26","line":52,"range":{"start_line":52,"start_character":12,"end_line":52,"end_character":21},"in_reply_to":"3f79a3b5_612da48e","updated":"2018-11-08 15:42:36.000000000","message":"Yeah, that\u0027s what I was thinking. I don\u0027t know for sure if it will work, but if it will it\u0027s probably the simplest way forward.","commit_id":"660733a30381e7d25a9e1034a6b688f5c8792abf"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"c44c198c618e85c4f515921a38ecdef9433260b7","unresolved":false,"context_lines":[{"line_number":49,"context_line":"oslo.policy\u003e\u003d1.35.0 # Apache-2.0"},{"line_number":50,"context_line":"oslo.privsep\u003e\u003d1.23.0 # Apache-2.0"},{"line_number":51,"context_line":"oslo.i18n\u003e\u003d3.15.3 # Apache-2.0"},{"line_number":52,"context_line":"oslo.service!\u003d1.28.1,\u003e\u003d1.33.0 # Apache-2.0"},{"line_number":53,"context_line":"rfc3986\u003e\u003d0.3.1 # Apache-2.0"},{"line_number":54,"context_line":"oslo.middleware\u003e\u003d3.31.0 # Apache-2.0"},{"line_number":55,"context_line":"psutil\u003e\u003d3.2.2 # BSD"}],"source_content_type":"text/plain","patch_set":2,"id":"3f79a3b5_a66512e4","line":52,"range":{"start_line":52,"start_character":12,"end_line":52,"end_character":21},"in_reply_to":"3f79a3b5_9e3e3625","updated":"2018-11-08 14:58:22.000000000","message":"Could we exclude 1.32.1 temporarily so the release patch can merge and then bump the minimum to 1.33.0 after that?","commit_id":"660733a30381e7d25a9e1034a6b688f5c8792abf"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"6b5b9787b4bc89e116292e142a2d69c362426e99","unresolved":false,"context_lines":[{"line_number":49,"context_line":"oslo.policy\u003e\u003d1.35.0 # Apache-2.0"},{"line_number":50,"context_line":"oslo.privsep\u003e\u003d1.23.0 # Apache-2.0"},{"line_number":51,"context_line":"oslo.i18n\u003e\u003d3.15.3 # Apache-2.0"},{"line_number":52,"context_line":"oslo.service!\u003d1.28.1,\u003e\u003d1.33.0 # Apache-2.0"},{"line_number":53,"context_line":"rfc3986\u003e\u003d0.3.1 # Apache-2.0"},{"line_number":54,"context_line":"oslo.middleware\u003e\u003d3.31.0 # Apache-2.0"},{"line_number":55,"context_line":"psutil\u003e\u003d3.2.2 # BSD"}],"source_content_type":"text/plain","patch_set":2,"id":"3f79a3b5_612da48e","line":52,"range":{"start_line":52,"start_character":12,"end_line":52,"end_character":21},"in_reply_to":"3f79a3b5_a66512e4","updated":"2018-11-08 15:31:18.000000000","message":"I still don\u0027t think that would work, because the patches would need a bidirectional dependency.\n\nOr maybe you\u0027re saying we could merge a quick nova patch to restrict oslo.service\u003c\u003d1.32.0, then we can merge the u-c patch, and then this one will go. That sounds pretty clean to me - no need to have a temporary patch mocking privates. Will it work?","commit_id":"660733a30381e7d25a9e1034a6b688f5c8792abf"}]}
