)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c1c7a89bde93639cd185f874a616c9a0dc338b13","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     zhouhenglc \u003czhouhenglc@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-01-07 17:09:40 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fix neutron api worker process not show desc"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when launch api worker, will call Service.start (in neutron.wsgi) with"},{"line_number":10,"context_line":"desc, bug function start not pass the parameter to Service._launch, api"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ada7cc54_8a510b62","line":7,"updated":"2021-01-07 10:08:40.000000000","message":"Good find!\n\nI took me a while to understand the title. I would suggest to describe the problem first and the the solution. E.g.:\n\n- How \"NeutronBaseWorker\" objects are executed using \"ProcessLauncher\" and why this parameter is not passed\n- Then the solution: move the \"desc\" parameter to the initialization that will be used when \"start\" method is called.","commit_id":"c6e8b6489edb9404777f59b4536b5c0b6df7fb04"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"336412e87c1c27c7d2e33d798b6aba846d98f6de","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhouhenglc \u003czhouhenglc@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-01-07 17:09:40 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fix neutron api worker process not show desc"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when launch api worker, will call Service.start (in neutron.wsgi) with"},{"line_number":10,"context_line":"desc, bug function start not pass the parameter to Service._launch, api"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a929d05_eaf0beb3","line":7,"in_reply_to":"ada7cc54_8a510b62","updated":"2021-01-08 02:16:45.000000000","message":"Done","commit_id":"c6e8b6489edb9404777f59b4536b5c0b6df7fb04"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c1c7a89bde93639cd185f874a616c9a0dc338b13","unresolved":true,"context_lines":[{"line_number":9,"context_line":"when launch api worker, will call Service.start (in neutron.wsgi) with"},{"line_number":10,"context_line":"desc, bug function start not pass the parameter to Service._launch, api"},{"line_number":11,"context_line":"worker\u0027s set_proctitle will off and not set proc title."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"ProcessLauncher unable to call neutron.wsgi.WorkerService.start with"},{"line_number":14,"context_line":"desc, so WorkerService should set desc in __init__ like RpcWorker"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"78547bfd_9c23965c","line":12,"updated":"2021-01-07 10:08:40.000000000","message":"Please, open a BZ for this problem.","commit_id":"c6e8b6489edb9404777f59b4536b5c0b6df7fb04"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"336412e87c1c27c7d2e33d798b6aba846d98f6de","unresolved":false,"context_lines":[{"line_number":9,"context_line":"when launch api worker, will call Service.start (in neutron.wsgi) with"},{"line_number":10,"context_line":"desc, bug function start not pass the parameter to Service._launch, api"},{"line_number":11,"context_line":"worker\u0027s set_proctitle will off and not set proc title."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"ProcessLauncher unable to call neutron.wsgi.WorkerService.start with"},{"line_number":14,"context_line":"desc, so WorkerService should set desc in __init__ like RpcWorker"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"0c27a2ab_dffd43d7","line":12,"in_reply_to":"78547bfd_9c23965c","updated":"2021-01-08 02:16:45.000000000","message":"Done","commit_id":"c6e8b6489edb9404777f59b4536b5c0b6df7fb04"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c1c7a89bde93639cd185f874a616c9a0dc338b13","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"ProcessLauncher unable to call neutron.wsgi.WorkerService.start with"},{"line_number":14,"context_line":"desc, so WorkerService should set desc in __init__ like RpcWorker"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ia37182e572ac4e9ae83cd03d7008aa42c7ea36c8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"cb2f4355_71cf95d3","line":15,"updated":"2021-01-07 10:08:40.000000000","message":"This is not only happening with \"WorkerService\" but with all \"NeutronBaseWorker\" child classes.\n\nI would suggest to change the \"NeutronBaseWorker\" and neutron-lib \"BaseWorker\" definition too as part of this BZ (but this can be done in other patch).","commit_id":"c6e8b6489edb9404777f59b4536b5c0b6df7fb04"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"bc723d17b163d06f2e667a77a0793d98bf6cce64","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     zhouhenglc \u003czhouhenglc@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-01-08 10:24:27 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"neutron-server api worker process should names to their role"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When multiple API processes need to be launched, use \"ProcessLauncher\""},{"line_number":10,"context_line":"(in module oslo_service.service) manage. call \"launch_service\" with the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"0d030a87_02959114","line":7,"range":{"start_line":7,"start_character":40,"end_line":7,"end_character":46},"updated":"2021-01-09 09:03:50.000000000","message":"nit: be named","commit_id":"bf11246e796431fcab2eb5d09542fbc2f64b4d4f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7a43188d9ed4e9751f42283d6425a51658270459","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"neutron-server api worker process should names to their role"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When multiple API processes need to be launched, use \"ProcessLauncher\""},{"line_number":10,"context_line":"(in module oslo_service.service) manage. call \"launch_service\" with the"},{"line_number":11,"context_line":"num of processes and service instance to real launch. when the"},{"line_number":12,"context_line":"\"ProcessLauncher\" launch the service, it calls the \"start\" method of"},{"line_number":13,"context_line":"the service directly without passing any parameters."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Starting API processes, the service object passed in is WorkerService"},{"line_number":16,"context_line":"(in module neutron.wsgi) object. In the current design, pass the \"desc\""},{"line_number":17,"context_line":"in call \"WorkerService.start\", therefore, the desc cannot be set."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This patch move the \"desc\" parameter to the initialization, when call"},{"line_number":20,"context_line":"\"start\" method, \"desc\" passed in initialization are used."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Closes-bug: #1910623"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"d7be3d4f_a5c85b72","line":20,"range":{"start_line":9,"start_character":0,"end_line":20,"end_character":57},"updated":"2021-01-08 08:48:54.000000000","message":"maybe it\u0027s just me but this commit message is not clear for me. Maybe You could rephrase it a bit?","commit_id":"bf11246e796431fcab2eb5d09542fbc2f64b4d4f"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"66175292202d389882f209cbf7f180959c7e5574","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"neutron-server api worker process should names to their role"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When multiple API processes need to be launched, use \"ProcessLauncher\""},{"line_number":10,"context_line":"(in module oslo_service.service) manage. call \"launch_service\" with the"},{"line_number":11,"context_line":"num of processes and service instance to real launch. when the"},{"line_number":12,"context_line":"\"ProcessLauncher\" launch the service, it calls the \"start\" method of"},{"line_number":13,"context_line":"the service directly without passing any parameters."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Starting API processes, the service object passed in is WorkerService"},{"line_number":16,"context_line":"(in module neutron.wsgi) object. In the current design, pass the \"desc\""},{"line_number":17,"context_line":"in call \"WorkerService.start\", therefore, the desc cannot be set."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This patch move the \"desc\" parameter to the initialization, when call"},{"line_number":20,"context_line":"\"start\" method, \"desc\" passed in initialization are used."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Closes-bug: #1910623"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"98bdef24_9936a71f","line":20,"range":{"start_line":9,"start_character":0,"end_line":20,"end_character":57},"in_reply_to":"d7be3d4f_a5c85b72","updated":"2021-01-08 09:34:09.000000000","message":"The function of class \"ProcessLauncher\" is to fork multiple processes. the function of \"WorkerService.start\" is provider api service and set process title according to the parameter desc. now the \"ProcessLauncher\" launch process and call \"WorkerService.start\" does not pass any parameters, because the \"ProcessLauncher\" in oslo_service module, we can not change it call action. the parameter \"desc\" can not be pass, so can not set process title.\nthis patch set \"desc\" in initialization, and use \"self.desc\" in start, not depend on passing on call.","commit_id":"bf11246e796431fcab2eb5d09542fbc2f64b4d4f"}],"neutron/wsgi.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"bc723d17b163d06f2e667a77a0793d98bf6cce64","unresolved":true,"context_lines":[{"line_number":70,"context_line":"        self._server \u003d None"},{"line_number":71,"context_line":"        self.desc \u003d desc"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def start(self):"},{"line_number":74,"context_line":"        super(WorkerService, self).start(desc\u003dself.desc)"},{"line_number":75,"context_line":"        # When api worker is stopped it kills the eventlet wsgi server which"},{"line_number":76,"context_line":"        # internally closes the wsgi server socket object. This server socket"}],"source_content_type":"text/x-python","patch_set":7,"id":"eca52e26_9d61b07a","line":73,"range":{"start_line":73,"start_character":8,"end_line":73,"end_character":19},"updated":"2021-01-09 09:03:50.000000000","message":"please avoid changing method signature, it may lead to errors in dependent projects.","commit_id":"bf11246e796431fcab2eb5d09542fbc2f64b4d4f"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"bc723d17b163d06f2e667a77a0793d98bf6cce64","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        self.desc \u003d desc"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def start(self):"},{"line_number":74,"context_line":"        super(WorkerService, self).start(desc\u003dself.desc)"},{"line_number":75,"context_line":"        # When api worker is stopped it kills the eventlet wsgi server which"},{"line_number":76,"context_line":"        # internally closes the wsgi server socket object. This server socket"},{"line_number":77,"context_line":"        # object becomes not usable which leads to \"Bad file descriptor\""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a1bee57_3e16f330","line":74,"range":{"start_line":74,"start_character":41,"end_line":74,"end_character":55},"updated":"2021-01-09 09:03:50.000000000","message":"(desc\u003ddesc or self.desc)","commit_id":"bf11246e796431fcab2eb5d09542fbc2f64b4d4f"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"bc723d17b163d06f2e667a77a0793d98bf6cce64","unresolved":true,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def _launch(self, application, workers\u003d0, desc\u003dNone):"},{"line_number":179,"context_line":"        set_proctitle \u003d \"off\" if desc is None else CONF.setproctitle"},{"line_number":180,"context_line":"        service \u003d WorkerService(self, application, set_proctitle,"},{"line_number":181,"context_line":"                                self.disable_ssl, workers, desc)"},{"line_number":182,"context_line":"        if workers \u003c 1:"},{"line_number":183,"context_line":"            # The API service should run in the current process."},{"line_number":184,"context_line":"            self._server \u003d service"},{"line_number":185,"context_line":"            # Dump the initial option values"},{"line_number":186,"context_line":"            cfg.CONF.log_opt_values(LOG, logging.DEBUG)"},{"line_number":187,"context_line":"            service.start()"},{"line_number":188,"context_line":"            systemd.notify_once()"},{"line_number":189,"context_line":"        else:"},{"line_number":190,"context_line":"            # dispose the whole pool before os.fork, otherwise there will"},{"line_number":191,"context_line":"            # be shared DB connections in child processes which may cause"}],"source_content_type":"text/x-python","patch_set":7,"id":"32aee963_473ca9fc","line":188,"range":{"start_line":180,"start_character":8,"end_line":188,"end_character":33},"updated":"2021-01-09 09:03:50.000000000","message":"change not needed if above comments are resolved","commit_id":"bf11246e796431fcab2eb5d09542fbc2f64b4d4f"}]}
