)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2fe04bf317d67e24f88ae2f1386b3544547bc724","unresolved":false,"context_lines":[{"line_number":20,"context_line":"simply ignores them."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I2717274bb1bd370870acbf58c03dc59cee30cc5e"},{"line_number":23,"context_line":"Closes-Bug: #1646255"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a71b18c_df600504","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":20},"updated":"2016-12-05 11:55:57.000000000","message":"Is this a Closes-Bug or a Partial-Bug? It seems this is only masking the issue, which is that there is no way to delete compute node resources. I guess that\u0027s actually a feature rather than a bug, but worth asking just in case","commit_id":"820c942efb05295d011926832fdd8e57249d08e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"417813e5660bd8186de0aade2f63a8b150cca08e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"simply ignores them."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I2717274bb1bd370870acbf58c03dc59cee30cc5e"},{"line_number":23,"context_line":"Closes-Bug: #1646255"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a71b18c_68c3a457","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":20},"in_reply_to":"3a71b18c_df600504","updated":"2016-12-05 20:17:20.000000000","message":"This closes the 500 out of the API. I\u0027m mulling the idea of adding a nova-manage command to delete a compute node if it\u0027s disabled and there are no instances running on it, but it will take some thought for edge cases. I also thought about fixing the bug by deleting a compute node record when a nova-compute service is deleted, but that\u0027s (1) a behavior change and (2) doesn\u0027t fix existing issues which would still cause this 500. So I think the compute node thing is a later patch, probably under a different bug or separate specless blueprint.","commit_id":"820c942efb05295d011926832fdd8e57249d08e6"}],"nova/api/openstack/compute/hypervisors.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d2ef71c97ec79639ea6e5b14b2138968289c3e77","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                    self._view_hypervisor("},{"line_number":118,"context_line":"                        hyp, service, False, req))"},{"line_number":119,"context_line":"            except exception.ComputeHostNotFound:"},{"line_number":120,"context_line":"                # The compute service could be deleted which doesn\u0027t delete"},{"line_number":121,"context_line":"                # the compute node record, that has to be manually removed"},{"line_number":122,"context_line":"                # from the database so we just ignore it when listing nodes."},{"line_number":123,"context_line":"                pass"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        hypervisors_dict \u003d dict(hypervisors\u003dhypervisors_list)"},{"line_number":126,"context_line":"        if links:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_01a94d7b","line":123,"range":{"start_line":120,"start_character":16,"end_line":123,"end_character":20},"updated":"2016-12-05 08:10:42.000000000","message":"could we generate WARNING logs about this? as this API is meant to be used by admin and it will be no harm for admin to know what they should do to make things right?","commit_id":"820c942efb05295d011926832fdd8e57249d08e6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2fe04bf317d67e24f88ae2f1386b3544547bc724","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                    self._view_hypervisor("},{"line_number":118,"context_line":"                        hyp, service, False, req))"},{"line_number":119,"context_line":"            except exception.ComputeHostNotFound:"},{"line_number":120,"context_line":"                # The compute service could be deleted which doesn\u0027t delete"},{"line_number":121,"context_line":"                # the compute node record, that has to be manually removed"},{"line_number":122,"context_line":"                # from the database so we just ignore it when listing nodes."},{"line_number":123,"context_line":"                pass"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        hypervisors_dict \u003d dict(hypervisors\u003dhypervisors_list)"},{"line_number":126,"context_line":"        if links:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_5f9795eb","line":123,"range":{"start_line":120,"start_character":16,"end_line":123,"end_character":20},"in_reply_to":"3a71b18c_01a94d7b","updated":"2016-12-05 11:55:57.000000000","message":"+1. While this handles \"compute services being deleted\", it seems like it could also hide other, non-intentional issues. Not sure if it\u0027s warning-level material mind - maybe \u0027info\u0027?","commit_id":"820c942efb05295d011926832fdd8e57249d08e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"417813e5660bd8186de0aade2f63a8b150cca08e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                    self._view_hypervisor("},{"line_number":118,"context_line":"                        hyp, service, False, req))"},{"line_number":119,"context_line":"            except exception.ComputeHostNotFound:"},{"line_number":120,"context_line":"                # The compute service could be deleted which doesn\u0027t delete"},{"line_number":121,"context_line":"                # the compute node record, that has to be manually removed"},{"line_number":122,"context_line":"                # from the database so we just ignore it when listing nodes."},{"line_number":123,"context_line":"                pass"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        hypervisors_dict \u003d dict(hypervisors\u003dhypervisors_list)"},{"line_number":126,"context_line":"        if links:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_489d0865","line":123,"range":{"start_line":120,"start_character":16,"end_line":123,"end_character":20},"in_reply_to":"3a71b18c_01a94d7b","updated":"2016-12-05 20:17:20.000000000","message":"I don\u0027t think a warning is correct. I did think about logging it at debug level though in case the admin wonders why a given hypervisor isn\u0027t listed.","commit_id":"820c942efb05295d011926832fdd8e57249d08e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"417813e5660bd8186de0aade2f63a8b150cca08e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                    self._view_hypervisor("},{"line_number":118,"context_line":"                        hyp, service, False, req))"},{"line_number":119,"context_line":"            except exception.ComputeHostNotFound:"},{"line_number":120,"context_line":"                # The compute service could be deleted which doesn\u0027t delete"},{"line_number":121,"context_line":"                # the compute node record, that has to be manually removed"},{"line_number":122,"context_line":"                # from the database so we just ignore it when listing nodes."},{"line_number":123,"context_line":"                pass"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        hypervisors_dict \u003d dict(hypervisors\u003dhypervisors_list)"},{"line_number":126,"context_line":"        if links:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_6871e443","line":123,"range":{"start_line":120,"start_character":16,"end_line":123,"end_character":20},"in_reply_to":"3a71b18c_5f9795eb","updated":"2016-12-05 20:17:20.000000000","message":"I\u0027ll log as debug.","commit_id":"820c942efb05295d011926832fdd8e57249d08e6"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4f962e43f2d13e776b1811dfb7698ddf92186501","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        except exception.ComputeServiceUnavailable as e:"},{"line_number":215,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        service \u003d self.host_api.service_get_by_compute_host(context, host)"},{"line_number":218,"context_line":"        return dict(hypervisor\u003dself._view_hypervisor(hyp, service, False, req,"},{"line_number":219,"context_line":"                                                     uptime\u003duptime))"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_c839d1a5","line":217,"updated":"2016-12-07 06:23:42.000000000","message":"We need to handle the exception at here. But in normally, there is no chance to know the id of compute node.","commit_id":"f0d44c5b09f3f3c84038d40b621bb629a1f8110e"}]}
