)]}'
{"nova/tests/functional/regressions/test_bug_1862633.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"4eb39160ef872811385851a51daee42fe131a0fb","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class UnshelveNeutronErrorTest("},{"line_number":24,"context_line":"        test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(UnshelveNeutronErrorTest, self).setUp()"},{"line_number":27,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_f7371fda","line":24,"updated":"2020-02-12 19:26:16.000000000","message":"Any reason for not inheriting from the IntegratedTestBase? It would give you most, if not all, of your setUp for free.","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ddc701bbd48f73087b160349aba8b529c766237b","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class UnshelveNeutronErrorTest("},{"line_number":24,"context_line":"        test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(UnshelveNeutronErrorTest, self).setUp()"},{"line_number":27,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_7509c4d8","line":24,"in_reply_to":"3fa7e38b_115667fa","updated":"2020-02-14 17:02:39.000000000","message":"Ah yes, backportability, the bane of refactoring :)","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"093cbb9fbabc02751f9ea2ad3023561b021611a3","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class UnshelveNeutronErrorTest("},{"line_number":24,"context_line":"        test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(UnshelveNeutronErrorTest, self).setUp()"},{"line_number":27,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_63f04093","line":24,"in_reply_to":"3fa7e38b_35a045a4","updated":"2020-02-13 19:12:45.000000000","message":"\u003e It does too much, like stars a compute service on host\u003dfake-mini,\n \u003e but I want two compute services. Specifies that REQUIRES_LOCKING\u003dTrue\n \u003e which we don\u0027t need here.\n\nThat can be diabled with REQUIRES_LOCKING \u003d False :)\n\n\n \u003e I know that this setUp is now a bit repetitive but I\u0027m more on the\n \u003e side of some repetition in our tests which is explicit, than having\n \u003e magic setups like REQUIRES_LOCKING\u003dTrue which is implicit and\n \u003e totally unnecessary.\n\nI think I\u0027m still in favour of reusing code if possible - if the code is making assumptions that don\u0027t work for us, we can teak it to make it work. For example, we could make the host-name of the first compute configurable.","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b65394041a4ae00654a19b647321c5526636975a","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class UnshelveNeutronErrorTest("},{"line_number":24,"context_line":"        test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(UnshelveNeutronErrorTest, self).setUp()"},{"line_number":27,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_115667fa","line":24,"in_reply_to":"3fa7e38b_63f04093","updated":"2020-02-14 13:53:44.000000000","message":"I\u0027m totally OK with such a refactor but  don\u0027t want to mix that refactor into a bugfix that I would like to backport back to stable/pike","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4bcd698ec3f31a25b5bb3991b3fa2a70bf9eaafa","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class UnshelveNeutronErrorTest("},{"line_number":24,"context_line":"        test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(UnshelveNeutronErrorTest, self).setUp()"},{"line_number":27,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_35a045a4","line":24,"in_reply_to":"3fa7e38b_f7371fda","updated":"2020-02-13 11:57:09.000000000","message":"It does too much, like stars a compute service on host\u003dfake-mini, but I want two compute services. Specifies that REQUIRES_LOCKING\u003dTrue which we don\u0027t need here. \n\nI know that this setUp is now a bit repetitive but I\u0027m more on the side of some repetition in our tests which is explicit, than having magic setups like REQUIRES_LOCKING\u003dTrue which is implicit and totally unnecessary.","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ddc701bbd48f73087b160349aba8b529c766237b","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        source_service_id \u003d self.api.get_services("},{"line_number":65,"context_line":"            host\u003d\u0027host1\u0027, binary\u003d\u0027nova-compute\u0027)[0][\u0027id\u0027]"},{"line_number":66,"context_line":"        self.api.put_service(source_service_id, {\"status\": \"disabled\"})"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        # Simulate that port update fails during unshelve due to neutron is"},{"line_number":69,"context_line":"        # unavailable"},{"line_number":70,"context_line":"        with mock.patch("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_d56438b6","line":67,"updated":"2020-02-14 17:02:39.000000000","message":"Note to self: service update is actually a blocking API call, so when the API returns it means we\u0027ve updated the service and don\u0027t need to wait for anything.","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a622a494226f93e9e68d80ac4089f71ebfa839bc","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        # unavailable"},{"line_number":70,"context_line":"        with mock.patch("},{"line_number":71,"context_line":"                \u0027nova.tests.fixtures.NeutronFixture.\u0027"},{"line_number":72,"context_line":"                \u0027update_port\u0027) as mock_update_port:"},{"line_number":73,"context_line":"            mock_update_port.side_effect \u003d neutron_exception.ConnectionFailed("},{"line_number":74,"context_line":"                reason\u003d\u0027test\u0027)"},{"line_number":75,"context_line":"            req \u003d {\u0027unshelve\u0027: None}"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_0eb3610b","line":72,"updated":"2020-02-19 16:57:06.000000000","message":"style nit: black-style wrapping would make this prettier","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4cb0a0c782e9547cb47b6d042172b2710c31df7c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        # unavailable"},{"line_number":70,"context_line":"        with mock.patch("},{"line_number":71,"context_line":"                \u0027nova.tests.fixtures.NeutronFixture.\u0027"},{"line_number":72,"context_line":"                \u0027update_port\u0027) as mock_update_port:"},{"line_number":73,"context_line":"            mock_update_port.side_effect \u003d neutron_exception.ConnectionFailed("},{"line_number":74,"context_line":"                reason\u003d\u0027test\u0027)"},{"line_number":75,"context_line":"            req \u003d {\u0027unshelve\u0027: None}"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_a616e9f2","line":72,"in_reply_to":"3fa7e38b_0eb3610b","updated":"2020-02-21 15:52:40.000000000","message":"Noted. would be good to have a way to apply black on diff.","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c359e4d466e287610349a046a7cbf9b29d806d62","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        # unavailable"},{"line_number":70,"context_line":"        with mock.patch("},{"line_number":71,"context_line":"                \u0027nova.tests.fixtures.NeutronFixture.\u0027"},{"line_number":72,"context_line":"                \u0027update_port\u0027) as mock_update_port:"},{"line_number":73,"context_line":"            mock_update_port.side_effect \u003d neutron_exception.ConnectionFailed("},{"line_number":74,"context_line":"                reason\u003d\u0027test\u0027)"},{"line_number":75,"context_line":"            req \u003d {\u0027unshelve\u0027: None}"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_2671d8e1","line":72,"in_reply_to":"3fa7e38b_a616e9f2","updated":"2020-02-23 10:17:41.000000000","message":"Spent the Saturday playing with black and created this https://pypi.org/project/blacken-selection/","commit_id":"c33ebdafbd633578a0a4b6f1b118c756510acea6"}]}
