)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"50a4182a170ed16af6362aa5d9830016ca67ac46","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Resource tracker doesn\u0027t clean up the resources of an instance after"},{"line_number":10,"context_line":"it is offloaded since Ia93168b1560267178059284186fb2b7096c7e81f. So"},{"line_number":11,"context_line":"this patch proposes an explicity cleanup in compute manager."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1710249"},{"line_number":14,"context_line":"Change-Id: Ib16e987d50162a4c11a31692704859b981915bed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f436f4f_17377c01","line":11,"updated":"2017-08-15 11:38:40.000000000","message":"explicit","commit_id":"cd047c0d191c77d841b24902c79f92b074c2acdd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c96ad44ac3219b219fdd17ef51061ea5ceed2e5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Resource tracker doesn\u0027t clean up the resources of an instance after"},{"line_number":10,"context_line":"it is offloaded since Ia93168b1560267178059284186fb2b7096c7e81f. So"},{"line_number":11,"context_line":"this patch proposes an explicity cleanup in compute manager."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1710249"},{"line_number":14,"context_line":"Change-Id: Ib16e987d50162a4c11a31692704859b981915bed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f436f4f_a025080b","line":11,"in_reply_to":"9f436f4f_17377c01","updated":"2017-08-15 13:14:30.000000000","message":"Done","commit_id":"cd047c0d191c77d841b24902c79f92b074c2acdd"}],"nova/compute/manager.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"50a4182a170ed16af6362aa5d9830016ca67ac46","unresolved":false,"context_lines":[{"line_number":555,"context_line":""},{"line_number":556,"context_line":"    def _update_resource_tracker(self, context, instance):"},{"line_number":557,"context_line":"        \"\"\"Let the resource tracker know that an instance has changed state.\"\"\""},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"        if instance.host \u003d\u003d self.host:"},{"line_number":560,"context_line":"            rt \u003d self._get_resource_tracker()"},{"line_number":561,"context_line":"            rt.update_usage(context, instance, instance.node)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_772da8a6","side":"PARENT","line":558,"updated":"2017-08-15 11:38:40.000000000","message":"unrelated?","commit_id":"0888d998c5c9fec487d7ac027038922ef012639a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c96ad44ac3219b219fdd17ef51061ea5ceed2e5","unresolved":false,"context_lines":[{"line_number":555,"context_line":""},{"line_number":556,"context_line":"    def _update_resource_tracker(self, context, instance):"},{"line_number":557,"context_line":"        \"\"\"Let the resource tracker know that an instance has changed state.\"\"\""},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"        if instance.host \u003d\u003d self.host:"},{"line_number":560,"context_line":"            rt \u003d self._get_resource_tracker()"},{"line_number":561,"context_line":"            rt.update_usage(context, instance, instance.node)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_e0855008","side":"PARENT","line":558,"in_reply_to":"9f436f4f_772da8a6","updated":"2017-08-15 13:14:30.000000000","message":"Yes, it is. Done.","commit_id":"0888d998c5c9fec487d7ac027038922ef012639a"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"50a4182a170ed16af6362aa5d9830016ca67ac46","unresolved":false,"context_lines":[{"line_number":4342,"context_line":"                                           task_states.SHELVING_OFFLOADING])"},{"line_number":4343,"context_line":""},{"line_number":4344,"context_line":"        # NOTE(ndipanov): Free resources from the resource tracker"},{"line_number":4345,"context_line":"        self._update_resource_tracker(context, instance)"},{"line_number":4346,"context_line":""},{"line_number":4347,"context_line":"        # NOTE(sfinucan): RPC calls should no longer be attempted against this"},{"line_number":4348,"context_line":"        # instance, so ensure any calls result in errors"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_3a50250b","side":"PARENT","line":4345,"updated":"2017-08-15 11:38:40.000000000","message":"You might consider moving your change to below this line so that the local view of resources is updated before the global view. If for some reason a lot of time passes between line 4345 and the guts of 4352, the global view will not be aligned with the local, something might try to make use of the globally freeed resources, when they are not free locally.\n\nI know this is highly unlikely, but may as well?","commit_id":"0888d998c5c9fec487d7ac027038922ef012639a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c96ad44ac3219b219fdd17ef51061ea5ceed2e5","unresolved":false,"context_lines":[{"line_number":4342,"context_line":"                                           task_states.SHELVING_OFFLOADING])"},{"line_number":4343,"context_line":""},{"line_number":4344,"context_line":"        # NOTE(ndipanov): Free resources from the resource tracker"},{"line_number":4345,"context_line":"        self._update_resource_tracker(context, instance)"},{"line_number":4346,"context_line":""},{"line_number":4347,"context_line":"        # NOTE(sfinucan): RPC calls should no longer be attempted against this"},{"line_number":4348,"context_line":"        # instance, so ensure any calls result in errors"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_80ab2473","side":"PARENT","line":4345,"in_reply_to":"9f436f4f_3a50250b","updated":"2017-08-15 13:14:30.000000000","message":"Good point. Local needs to be updated first.","commit_id":"0888d998c5c9fec487d7ac027038922ef012639a"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"50a4182a170ed16af6362aa5d9830016ca67ac46","unresolved":false,"context_lines":[{"line_number":4344,"context_line":"        reportclient \u003d self.scheduler_client.reportclient"},{"line_number":4345,"context_line":"        res \u003d reportclient.delete_allocation_for_instance(instance.uuid)"},{"line_number":4346,"context_line":"        if not res:"},{"line_number":4347,"context_line":"            LOG.error(\"Failed to clean allocation of an shelve offloaded \""},{"line_number":4348,"context_line":"                      \"instance on the node  %s\","},{"line_number":4349,"context_line":"                      instance.node, instance\u003dinstance)"},{"line_number":4350,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_371de073","line":4347,"updated":"2017-08-15 11:38:40.000000000","message":"s/an/a/","commit_id":"cd047c0d191c77d841b24902c79f92b074c2acdd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c96ad44ac3219b219fdd17ef51061ea5ceed2e5","unresolved":false,"context_lines":[{"line_number":4344,"context_line":"        reportclient \u003d self.scheduler_client.reportclient"},{"line_number":4345,"context_line":"        res \u003d reportclient.delete_allocation_for_instance(instance.uuid)"},{"line_number":4346,"context_line":"        if not res:"},{"line_number":4347,"context_line":"            LOG.error(\"Failed to clean allocation of an shelve offloaded \""},{"line_number":4348,"context_line":"                      \"instance on the node  %s\","},{"line_number":4349,"context_line":"                      instance.node, instance\u003dinstance)"},{"line_number":4350,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_2031185b","line":4347,"in_reply_to":"9f436f4f_371de073","updated":"2017-08-15 13:14:30.000000000","message":"Done","commit_id":"cd047c0d191c77d841b24902c79f92b074c2acdd"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"9c06fe100e8a48b88ab669cdc441ea514ec32c63","unresolved":false,"context_lines":[{"line_number":4350,"context_line":"        if not res:"},{"line_number":4351,"context_line":"            LOG.error(\"Failed to clean allocation of a shelve offloaded \""},{"line_number":4352,"context_line":"                      \"instance on the node  %s\","},{"line_number":4353,"context_line":"                      instance.node, instance\u003dinstance)"},{"line_number":4354,"context_line":""},{"line_number":4355,"context_line":"        # NOTE(sfinucan): RPC calls should no longer be attempted against this"},{"line_number":4356,"context_line":"        # instance, so ensure any calls result in errors"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_cbf496f3","line":4353,"updated":"2017-08-16 07:59:40.000000000","message":"As mentioned on IRC, I\u0027d prefer to see the above code moved into a delete_allocation_for_offloaded_instance() method against the resource tracker instead of calling into the reportclient directly from the compute manager.","commit_id":"df8558913a68876464c07c851e68dea910a8735a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4a2f03198e516e12183d8d2955f4c389ff9b3036","unresolved":false,"context_lines":[{"line_number":4350,"context_line":"        if not res:"},{"line_number":4351,"context_line":"            LOG.error(\"Failed to clean allocation of a shelve offloaded \""},{"line_number":4352,"context_line":"                      \"instance on the node  %s\","},{"line_number":4353,"context_line":"                      instance.node, instance\u003dinstance)"},{"line_number":4354,"context_line":""},{"line_number":4355,"context_line":"        # NOTE(sfinucan): RPC calls should no longer be attempted against this"},{"line_number":4356,"context_line":"        # instance, so ensure any calls result in errors"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_a27ccc71","line":4353,"in_reply_to":"9f436f4f_cbf496f3","updated":"2017-08-16 14:41:55.000000000","message":"Done","commit_id":"df8558913a68876464c07c851e68dea910a8735a"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c9f24ba779188174d272ee0302637c3b73b331b3","unresolved":false,"context_lines":[{"line_number":1246,"context_line":""},{"line_number":1247,"context_line":"    def delete_allocation_for_shelve_offloaded_instance(self, instance):"},{"line_number":1248,"context_line":"        res \u003d self.reportclient.delete_allocation_for_instance(instance.uuid)"},{"line_number":1249,"context_line":"        if not res:"},{"line_number":1250,"context_line":"            LOG.error(\"Failed to clean allocation of a shelve offloaded \""},{"line_number":1251,"context_line":"                      \"instance\", instance\u003dinstance)"},{"line_number":1252,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_8aacee8c","line":1249,"range":{"start_line":1249,"start_character":8,"end_line":1249,"end_character":19},"updated":"2017-08-23 21:22:05.000000000","message":"This is always going to be True, because delete_allocation_for_instance doesn\u0027t return anything.","commit_id":"563d71f7cc4742414be75332f1442f4ec6f5147b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"688e65eba0a6b3b7b23b48641bb7edaac7d73f56","unresolved":false,"context_lines":[{"line_number":1246,"context_line":""},{"line_number":1247,"context_line":"    def delete_allocation_for_shelve_offloaded_instance(self, instance):"},{"line_number":1248,"context_line":"        res \u003d self.reportclient.delete_allocation_for_instance(instance.uuid)"},{"line_number":1249,"context_line":"        if not res:"},{"line_number":1250,"context_line":"            LOG.error(\"Failed to clean allocation of a shelve offloaded \""},{"line_number":1251,"context_line":"                      \"instance\", instance\u003dinstance)"},{"line_number":1252,"context_line":""},{"line_number":1253,"context_line":"    def _verify_resources(self, resources):"},{"line_number":1254,"context_line":"        resource_keys \u003d [\"vcpus\", \"memory_mb\", \"local_gb\", \"cpu_info\","}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_ca7d561d","line":1251,"range":{"start_line":1249,"start_character":8,"end_line":1251,"end_character":52},"updated":"2017-08-23 21:21:05.000000000","message":"Just noticed that we\u0027re dumping this error a lot in non-failure cases in CI:\n\nhttp://logstash.openstack.org/#dashboard/file/logstash.json?query\u003dmessage%3A%5C%22Failed%20to%20clean%20allocation%20of%20a%20shelve%20offloaded%5C%22%20AND%20tags%3A%5C%22screen-n-cpu.txt%5C%22\u0026from\u003d10d\n\n~16K times since this merged.","commit_id":"563d71f7cc4742414be75332f1442f4ec6f5147b"}]}
