)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"02d9e3c85b81fa663b17aa5d7e549c8944b1e0d5","unresolved":false,"context_lines":[{"line_number":470,"context_line":""},{"line_number":471,"context_line":"@pick_context_manager_reader"},{"line_number":472,"context_line":"def service_get_all_by_binary(context, binary, include_disabled\u003dFalse):"},{"line_number":473,"context_line":"    query \u003d model_query(context, models.Service).filter_by(binary\u003dbinary)"},{"line_number":474,"context_line":"    if not include_disabled:"},{"line_number":475,"context_line":"        query \u003d query.filter_by(disabled\u003dFalse)"},{"line_number":476,"context_line":"    return query.all()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_f00339bc","line":473,"updated":"2018-07-13 14:56:46.000000000","message":"It seems wrong to change this for the functional test and not account for all the other calls of the method. Won\u0027t this change the behavior for all other code calling service_get_all_by_binary?","commit_id":"bbedd77096bbcfccc9ee2b5f24b8ac70157f4aa5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9ee6b399134eaf8d273c9e8697b377082ee34e9e","unresolved":false,"context_lines":[{"line_number":470,"context_line":""},{"line_number":471,"context_line":"@pick_context_manager_reader"},{"line_number":472,"context_line":"def service_get_all_by_binary(context, binary, include_disabled\u003dFalse):"},{"line_number":473,"context_line":"    query \u003d model_query(context, models.Service).filter_by(binary\u003dbinary)"},{"line_number":474,"context_line":"    if not include_disabled:"},{"line_number":475,"context_line":"        query \u003d query.filter_by(disabled\u003dFalse)"},{"line_number":476,"context_line":"    return query.all()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_0ba7a452","line":473,"in_reply_to":"5f7c97a3_d0b71df8","updated":"2018-07-13 15:50:46.000000000","message":"Right, I could have split this out but figured it\u0027s so small I was meh on that, but still can if people care.","commit_id":"bbedd77096bbcfccc9ee2b5f24b8ac70157f4aa5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"f9cde8e8485307240795da33f708ae0382f22ba9","unresolved":false,"context_lines":[{"line_number":470,"context_line":""},{"line_number":471,"context_line":"@pick_context_manager_reader"},{"line_number":472,"context_line":"def service_get_all_by_binary(context, binary, include_disabled\u003dFalse):"},{"line_number":473,"context_line":"    query \u003d model_query(context, models.Service).filter_by(binary\u003dbinary)"},{"line_number":474,"context_line":"    if not include_disabled:"},{"line_number":475,"context_line":"        query \u003d query.filter_by(disabled\u003dFalse)"},{"line_number":476,"context_line":"    return query.all()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_d0b71df8","line":473,"in_reply_to":"5f7c97a3_f00339bc","updated":"2018-07-13 14:58:02.000000000","message":"Sigh ... re-read the commit message that this should be okay because read_deleted defaults to \u0027no\u0027. Nevermind my comment.","commit_id":"bbedd77096bbcfccc9ee2b5f24b8ac70157f4aa5"}],"nova/tests/functional/regressions/test_bug_1764556.py":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"84e32ec981eb22d5c912605447f7e68d047035ca","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        # Starting in 2.53, DELETE /os-services/{service_id} requires a uuid"},{"line_number":109,"context_line":"        # so temporarily set the admin API client to use 2.1 to delete the"},{"line_number":110,"context_line":"        # service."},{"line_number":111,"context_line":"        with utils.temporary_mutation(self.admin_api, microversion\u003d\u00272.1\u0027):"},{"line_number":112,"context_line":"            self.admin_api.api_delete("},{"line_number":113,"context_line":"                \u0027/os-services/%s\u0027 % host1.service_ref.id)"},{"line_number":114,"context_line":"            # We should now only have 1 compute service (host2)."},{"line_number":115,"context_line":"            compute_services \u003d self.admin_api.api_get("},{"line_number":116,"context_line":"                \u0027/os-services?binary\u003dnova-compute\u0027).body[\u0027services\u0027]"},{"line_number":117,"context_line":"            self.assertEqual(1, len(compute_services))"},{"line_number":118,"context_line":"            # Make sure the compute node is also gone."},{"line_number":119,"context_line":"            self.admin_api.api_get(\u0027/os-hypervisors/host1/search\u0027,"},{"line_number":120,"context_line":"                                   check_response_status\u003d[404])"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        # Now null out the service uuid to simulate that host1 is old. We"},{"line_number":123,"context_line":"        # have to do this through the DB API directly since the Service object"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_b3007d36","line":120,"range":{"start_line":111,"start_character":7,"end_line":120,"end_character":63},"updated":"2018-04-17 21:35:09.000000000","message":"now that we\u0027re deleting the uuid later, we don\u0027t need the old microversion here.","commit_id":"1d580a27127468343531d086d8b84be819af0772"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ee4afd4cbccf038da7956750c77391df1da8e036","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        # Starting in 2.53, DELETE /os-services/{service_id} requires a uuid"},{"line_number":109,"context_line":"        # so temporarily set the admin API client to use 2.1 to delete the"},{"line_number":110,"context_line":"        # service."},{"line_number":111,"context_line":"        with utils.temporary_mutation(self.admin_api, microversion\u003d\u00272.1\u0027):"},{"line_number":112,"context_line":"            self.admin_api.api_delete("},{"line_number":113,"context_line":"                \u0027/os-services/%s\u0027 % host1.service_ref.id)"},{"line_number":114,"context_line":"            # We should now only have 1 compute service (host2)."},{"line_number":115,"context_line":"            compute_services \u003d self.admin_api.api_get("},{"line_number":116,"context_line":"                \u0027/os-services?binary\u003dnova-compute\u0027).body[\u0027services\u0027]"},{"line_number":117,"context_line":"            self.assertEqual(1, len(compute_services))"},{"line_number":118,"context_line":"            # Make sure the compute node is also gone."},{"line_number":119,"context_line":"            self.admin_api.api_get(\u0027/os-hypervisors/host1/search\u0027,"},{"line_number":120,"context_line":"                                   check_response_status\u003d[404])"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        # Now null out the service uuid to simulate that host1 is old. We"},{"line_number":123,"context_line":"        # have to do this through the DB API directly since the Service object"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_9f8f7b22","line":120,"range":{"start_line":111,"start_character":7,"end_line":120,"end_character":63},"in_reply_to":"9f6a8fd7_b3007d36","updated":"2018-04-17 22:09:23.000000000","message":"Yeah I suppose.","commit_id":"1d580a27127468343531d086d8b84be819af0772"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"84e32ec981eb22d5c912605447f7e68d047035ca","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        self._migrate_server(server, \u0027host1\u0027)"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        # Finally, list servers."},{"line_number":155,"context_line":"        self.api.get_servers(detail\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_13be0965","line":155,"range":{"start_line":155,"start_character":13,"end_line":155,"end_character":16},"updated":"2018-04-17 21:35:09.000000000","message":"this should be admin_api, in devstack I only reproduce the problem when listing as the admin user","commit_id":"1d580a27127468343531d086d8b84be819af0772"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ee4afd4cbccf038da7956750c77391df1da8e036","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        self._migrate_server(server, \u0027host1\u0027)"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        # Finally, list servers."},{"line_number":155,"context_line":"        self.api.get_servers(detail\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_5f99e36b","line":155,"range":{"start_line":155,"start_character":13,"end_line":155,"end_character":16},"in_reply_to":"9f6a8fd7_13be0965","updated":"2018-04-17 22:09:23.000000000","message":"OK. That didn\u0027t make a difference for me in the test, but we can change it.","commit_id":"1d580a27127468343531d086d8b84be819af0772"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b1a88d2283e486b0e29dcbebf78c3b72659d2522","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        5. migrate the instance back to the host1 service"},{"line_number":88,"context_line":"        6. list instances which will try to online migrate the old service uuid"},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        fake_virt.set_nodes([\u0027host1\u0027])"},{"line_number":91,"context_line":"        self.addCleanup(fake_virt.restore_nodes)"},{"line_number":92,"context_line":"        host1 \u003d self.start_service(\u0027compute\u0027, host\u003d\u0027host1\u0027)"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_0ac21b5a","line":90,"updated":"2019-07-30 13:20:07.000000000","message":"This no longer exists:\n\nTraceback (most recent call last):\n  File \"nova/tests/functional/regressions/test_bug_1764556.py\", line 90, in test_instance_list_deleted_service_with_no_uuid\n    fake_virt.set_nodes([\u0027host1\u0027])\nAttributeError: \u0027module\u0027 object has no attribute \u0027set_nodes\u0027","commit_id":"f59d83803185136be6c7cda1c875cc4afff65166"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7fdceba1c2c8a81d06fcbf529bec296d077bb670","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from nova.tests.unit.image import fake as fake_image"},{"line_number":23,"context_line":"from nova.tests.unit import policy_fixture"},{"line_number":24,"context_line":"from nova import utils"},{"line_number":25,"context_line":"from nova.virt import fake as fake_virt"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class InstanceListWithDeletedServicesTestCase("}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_737707d6","line":25,"updated":"2019-07-30 18:39:34.000000000","message":"This fake_virt is not used, please remove this line for passing the following error on pep8 job:\n\n 2019-07-30 16:01:26.508117 | ubuntu-bionic | ./nova/tests/functional/regressions/test_bug_1764556.py:25:1: F401 \u0027nova.virt.fake as fake_virt\u0027 imported but unused\n 2019-07-30 16:04:20.640208 | ubuntu-bionic | ERROR: InvocationError for command /bin/bash tools/flake8wrap.sh (exited with code 1)","commit_id":"bef8354f1eddd33dcba211964864dcd9675d2655"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"29d102a272bf5f834402e02500fdb44ed724afa1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from nova.tests.unit.image import fake as fake_image"},{"line_number":23,"context_line":"from nova.tests.unit import policy_fixture"},{"line_number":24,"context_line":"from nova import utils"},{"line_number":25,"context_line":"from nova.virt import fake as fake_virt"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class InstanceListWithDeletedServicesTestCase("}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_d6f4a9f3","line":25,"in_reply_to":"7faddb67_737707d6","updated":"2019-07-30 18:50:47.000000000","message":"Done","commit_id":"bef8354f1eddd33dcba211964864dcd9675d2655"}]}
