)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"93f6c61d0993c03fb988ae808fa5739750737ccb","unresolved":true,"context_lines":[{"line_number":15,"context_line":"The update resources periodic will have destroyed the compute node"},{"line_number":16,"context_line":"records because they\u0027re no longer being reported by the virt driver."},{"line_number":17,"context_line":"If we then attempt to manually delete the compute service record, the"},{"line_number":18,"context_line":"datbase layer will raise an exception, as there are no longer any"},{"line_number":19,"context_line":"compute node records for the host. Previously, this exception would"},{"line_number":20,"context_line":"get bubbled up as an error 500 in the API. This patch catches it and"},{"line_number":21,"context_line":"allows service deletion to complete succefully."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab8688c_ce2b62cb","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":7},"updated":"2021-07-29 11:14:07.000000000","message":"database","commit_id":"880611df0b6b967adabd3f08886e385d0a100c5c"}],"nova/api/openstack/compute/services.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b097896d5a8f0db918725faf82771315f8181245","unresolved":true,"context_lines":[{"line_number":295,"context_line":"                    self._assert_no_in_progress_migrations("},{"line_number":296,"context_line":"                        context, id, compute_nodes)"},{"line_number":297,"context_line":"                except exception.ComputeHostNotFound:"},{"line_number":298,"context_line":"                    # NOTE(artom) If we\u0027re running with the Ironic virt driver"},{"line_number":299,"context_line":"                    # and are remvoving a compute node, we will have destroyed"},{"line_number":300,"context_line":"                    # the compute node record in the update resources periodic"},{"line_number":301,"context_line":"                    # task, as it\u0027s no longer being reposted by the virt"},{"line_number":302,"context_line":"                    # driver. In that case, when we attempt to delete the"},{"line_number":303,"context_line":"                    # corresponding service record, get_all_by_host() will"},{"line_number":304,"context_line":"                    # raise. Catch it here and continue."},{"line_number":305,"context_line":"                    pass"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"                aggrs \u003d self.aggregate_api.get_aggregates_by_host(context,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ab9134a6_64e945a4","line":304,"range":{"start_line":298,"start_character":20,"end_line":304,"end_character":56},"updated":"2021-07-19 11:18:50.000000000","message":"nit: you have over simplified a little.\n\nnormally this would be fine it only explodes if all the comptue nodes have been removed.\nin generall with ironci each compute servicec will have multiple compute node records associated with them so removing on  ironic node generally wont break this. the error happens when all the compute nodes are removed form a singel compute service and you try to remove the compute service when its empty.","commit_id":"8bd5771af00ab0fc79ac696b14da3f1c6c55b5d1"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ac03dd0e72e960187df1032819cfe0be2f7cfa18","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                    self._assert_no_in_progress_migrations("},{"line_number":296,"context_line":"                        context, id, compute_nodes)"},{"line_number":297,"context_line":"                except exception.ComputeHostNotFound:"},{"line_number":298,"context_line":"                    # NOTE(artom) If we\u0027re running with the Ironic virt driver"},{"line_number":299,"context_line":"                    # and are remvoving a compute node, we will have destroyed"},{"line_number":300,"context_line":"                    # the compute node record in the update resources periodic"},{"line_number":301,"context_line":"                    # task, as it\u0027s no longer being reposted by the virt"},{"line_number":302,"context_line":"                    # driver. In that case, when we attempt to delete the"},{"line_number":303,"context_line":"                    # corresponding service record, get_all_by_host() will"},{"line_number":304,"context_line":"                    # raise. Catch it here and continue."},{"line_number":305,"context_line":"                    pass"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"                aggrs \u003d self.aggregate_api.get_aggregates_by_host(context,"}],"source_content_type":"text/x-python","patch_set":1,"id":"681047bd_f9f66a42","line":304,"range":{"start_line":298,"start_character":20,"end_line":304,"end_character":56},"in_reply_to":"ab9134a6_64e945a4","updated":"2021-07-28 12:59:04.000000000","message":"Done","commit_id":"8bd5771af00ab0fc79ac696b14da3f1c6c55b5d1"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f4106c31df93b09839c6487a0133ab2e7a7d44c2","unresolved":true,"context_lines":[{"line_number":306,"context_line":"                    # get_all_host() above will raise, as there are no longer"},{"line_number":307,"context_line":"                    # any compute node records for the host. Catch it here and"},{"line_number":308,"context_line":"                    # continue to allow compute service deletion."},{"line_number":309,"context_line":"                    pass"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"                aggrs \u003d self.aggregate_api.get_aggregates_by_host(context,"},{"line_number":312,"context_line":"                                                                  service.host)"}],"source_content_type":"text/x-python","patch_set":2,"id":"88fe1a8f_1f8dec2f","line":309,"updated":"2021-07-30 09:18:21.000000000","message":"shouldn\u0027t we provide a log here ?\nUnless we have Ironic, we should warn the operator that the service doesn\u0027t have a related compute node.","commit_id":"880611df0b6b967adabd3f08886e385d0a100c5c"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6349830455be900981004bf5e63371bc44bd407f","unresolved":true,"context_lines":[{"line_number":306,"context_line":"                    # get_all_host() above will raise, as there are no longer"},{"line_number":307,"context_line":"                    # any compute node records for the host. Catch it here and"},{"line_number":308,"context_line":"                    # continue to allow compute service deletion."},{"line_number":309,"context_line":"                    pass"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"                aggrs \u003d self.aggregate_api.get_aggregates_by_host(context,"},{"line_number":312,"context_line":"                                                                  service.host)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9b09bd3a_6299d3dd","line":309,"in_reply_to":"88fe1a8f_1f8dec2f","updated":"2021-07-30 10:43:34.000000000","message":"See the FUP, pretty please? :)","commit_id":"880611df0b6b967adabd3f08886e385d0a100c5c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6e594e56cfc7dcda79209370073f3687fdeaefe6","unresolved":true,"context_lines":[{"line_number":306,"context_line":"                    # get_all_host() above will raise, as there are no longer"},{"line_number":307,"context_line":"                    # any compute node records for the host. Catch it here and"},{"line_number":308,"context_line":"                    # continue to allow compute service deletion."},{"line_number":309,"context_line":"                    pass"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"                aggrs \u003d self.aggregate_api.get_aggregates_by_host(context,"},{"line_number":312,"context_line":"                                                                  service.host)"}],"source_content_type":"text/x-python","patch_set":2,"id":"22822591_a73858d6","line":309,"in_reply_to":"9b09bd3a_6299d3dd","updated":"2021-08-03 09:51:11.000000000","message":"Ack.","commit_id":"880611df0b6b967adabd3f08886e385d0a100c5c"}]}
