)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a761729d941a21a402c04970569b9cadbd791f06","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This patch adds a new config option ``enable_distributed_dhcp`` [1]"},{"line_number":10,"context_line":"to disable:"},{"line_number":11,"context_line":"* DHCP scheduling for networks"},{"line_number":12,"context_line":"* DHCP privisioning block"},{"line_number":13,"context_line":"* DHCP RPC/notification"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"[1] https://review.opendev.org/c/openstack/neutron-specs/+/768588/5/specs/wallaby/distributed_dhcp.rst#185"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"d604f2d4_64c097b7","line":12,"range":{"start_line":12,"start_character":7,"end_line":12,"end_character":19},"updated":"2021-01-25 11:17:00.000000000","message":"provisioning","commit_id":"b1f7f3f261257074494b4b7b267241f4cf76e206"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4518446fd15b93b911b3fa0e896346b31c46f0ba","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch adds a new config option ``enable_distributed_dhcp`` [1]"},{"line_number":10,"context_line":"to disable:"},{"line_number":11,"context_line":"* DHCP scheduling for networks"},{"line_number":12,"context_line":"* DHCP privisioning block"},{"line_number":13,"context_line":"* DHCP RPC/notification"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"[1] https://review.opendev.org/c/openstack/neutron-specs/+/768588/5/specs/wallaby/distributed_dhcp.rst#185"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"75c009f4_140cc17b","line":12,"range":{"start_line":12,"start_character":7,"end_line":12,"end_character":19},"in_reply_to":"d604f2d4_64c097b7","updated":"2021-01-26 01:53:00.000000000","message":"Done","commit_id":"b1f7f3f261257074494b4b7b267241f4cf76e206"}],"neutron/api/rpc/handlers/dhcp_rpc.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a761729d941a21a402c04970569b9cadbd791f06","unresolved":true,"context_lines":[{"line_number":89,"context_line":"            nets \u003d plugin.list_active_networks_on_active_dhcp_agent("},{"line_number":90,"context_line":"                context, host)"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            try:"},{"line_number":93,"context_line":"                agent \u003d plugin._get_agent_by_type_and_host("},{"line_number":94,"context_line":"                    context, constants.AGENT_TYPE_DHCP, host)"},{"line_number":95,"context_line":"            except agent_exc.AgentNotFoundByTypeHost:"},{"line_number":96,"context_line":"                LOG.debug(\"DHCP Agent not found on host %s\", host)"},{"line_number":97,"context_line":"                return []"},{"line_number":98,"context_line":"            if not agent.admin_state_up:"},{"line_number":99,"context_line":"                return []"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            filters \u003d dict(admin_state_up\u003d[True])"},{"line_number":102,"context_line":"            nets \u003d plugin.get_networks(context, filters\u003dfilters)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bb596e48_915cc819","line":99,"range":{"start_line":92,"start_character":12,"end_line":99,"end_character":25},"updated":"2021-01-25 11:17:00.000000000","message":"Please clarify why changing behavior here, why need to deal with DHCP agents if dhcp scheduler extension is disabled?","commit_id":"b1f7f3f261257074494b4b7b267241f4cf76e206"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4518446fd15b93b911b3fa0e896346b31c46f0ba","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            nets \u003d plugin.list_active_networks_on_active_dhcp_agent("},{"line_number":90,"context_line":"                context, host)"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            try:"},{"line_number":93,"context_line":"                agent \u003d plugin._get_agent_by_type_and_host("},{"line_number":94,"context_line":"                    context, constants.AGENT_TYPE_DHCP, host)"},{"line_number":95,"context_line":"            except agent_exc.AgentNotFoundByTypeHost:"},{"line_number":96,"context_line":"                LOG.debug(\"DHCP Agent not found on host %s\", host)"},{"line_number":97,"context_line":"                return []"},{"line_number":98,"context_line":"            if not agent.admin_state_up:"},{"line_number":99,"context_line":"                return []"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            filters \u003d dict(admin_state_up\u003d[True])"},{"line_number":102,"context_line":"            nets \u003d plugin.get_networks(context, filters\u003dfilters)"}],"source_content_type":"text/x-python","patch_set":3,"id":"d9296b20_863aae74","line":99,"range":{"start_line":92,"start_character":12,"end_line":99,"end_character":25},"in_reply_to":"bb596e48_915cc819","updated":"2021-01-26 01:53:00.000000000","message":"Done","commit_id":"b1f7f3f261257074494b4b7b267241f4cf76e206"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"6e1984fab1509059909e77cd96a61d8e7eb93051","unresolved":true,"context_lines":[{"line_number":89,"context_line":"            nets \u003d plugin.list_active_networks_on_active_dhcp_agent("},{"line_number":90,"context_line":"                context, host)"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            # If no active DHCP agent or agent admin state is DOWN,"},{"line_number":93,"context_line":"            # return empty network list for RPC to avoid unexpected"},{"line_number":94,"context_line":"            # resource creation on remote host when the DHCP agent"},{"line_number":95,"context_line":"            # scheduler extension is not supported."}],"source_content_type":"text/x-python","patch_set":4,"id":"b9d5134d_a899653e","line":92,"range":{"start_line":92,"start_character":14,"end_line":92,"end_character":66},"updated":"2021-01-26 05:48:39.000000000","message":"Why not just check \"enable_distributed_dhcp\" option and return empty list if it\u0027s True?\nOr is it a side change not related to distributed DHCP?","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"21558c6f52d0f86d1f89fea677b768ea278a1711","unresolved":true,"context_lines":[{"line_number":89,"context_line":"            nets \u003d plugin.list_active_networks_on_active_dhcp_agent("},{"line_number":90,"context_line":"                context, host)"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            # If no active DHCP agent or agent admin state is DOWN,"},{"line_number":93,"context_line":"            # return empty network list for RPC to avoid unexpected"},{"line_number":94,"context_line":"            # resource creation on remote host when the DHCP agent"},{"line_number":95,"context_line":"            # scheduler extension is not supported."}],"source_content_type":"text/x-python","patch_set":4,"id":"ddf2a16c_541bf560","line":92,"range":{"start_line":92,"start_character":14,"end_line":92,"end_character":66},"in_reply_to":"924fcd9d_dee68b68","updated":"2021-01-27 07:52:05.000000000","message":"Ok so now we\u0027ll return active networks only in case there is an active DHCP agent (host arg becomes required), even if DHCP scheduling extension is disabled. Changed behavior should ot be a big issue as the method is private.","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0141f0407f73ea72f2f188d9cd81fa50bc7d3e86","unresolved":true,"context_lines":[{"line_number":89,"context_line":"            nets \u003d plugin.list_active_networks_on_active_dhcp_agent("},{"line_number":90,"context_line":"                context, host)"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            # If no active DHCP agent or agent admin state is DOWN,"},{"line_number":93,"context_line":"            # return empty network list for RPC to avoid unexpected"},{"line_number":94,"context_line":"            # resource creation on remote host when the DHCP agent"},{"line_number":95,"context_line":"            # scheduler extension is not supported."}],"source_content_type":"text/x-python","patch_set":4,"id":"f7cf5fdf_307dae53","line":92,"range":{"start_line":92,"start_character":14,"end_line":92,"end_character":66},"in_reply_to":"b9d5134d_a899653e","updated":"2021-01-26 11:21:08.000000000","message":"I\u0027ve considered about add the config option check condition. But here is a bit common for DHCP agent, no matter the new mechanism status.\n\nIf DHCP agent is admin state down , it should not sync any networks anymore. If the neutron DB has no such DHCP agent, it should not sync any networks data to it as well.\n\nOnly the alive and existing DHCP agent should sync all active networks.","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"be16aeec2f8b9efb64fb14626f5cc9847e3d7ea7","unresolved":true,"context_lines":[{"line_number":89,"context_line":"            nets \u003d plugin.list_active_networks_on_active_dhcp_agent("},{"line_number":90,"context_line":"                context, host)"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            # If no active DHCP agent or agent admin state is DOWN,"},{"line_number":93,"context_line":"            # return empty network list for RPC to avoid unexpected"},{"line_number":94,"context_line":"            # resource creation on remote host when the DHCP agent"},{"line_number":95,"context_line":"            # scheduler extension is not supported."}],"source_content_type":"text/x-python","patch_set":4,"id":"924fcd9d_dee68b68","line":92,"range":{"start_line":92,"start_character":14,"end_line":92,"end_character":66},"in_reply_to":"f36d6ea6_9d2a49bd","updated":"2021-01-27 01:04:27.000000000","message":"This is the scenario I\u0027ve left before 😊\n\"\"\"\nIf DHCP agent is admin state down , it should not sync any networks anymore. If the neutron DB has no such DHCP agent, it should not sync any networks data to it as well.\n\"\"\"\nSo I will repeat:\n\nThe running DHCP agent has no consciousness of \"admin state\", it is a DB state only. So everytime, a DHCP agent (with admin state DOWN state) is trying to do some sync action, these code here will return all networks to it. This is not right for a \"DOWN\" agent. Actually, it should sync nothing.\n\nFor a none-exist DHCP agent, the python DHCP agent is running but no Agent in neutron DB, neutron server should return empty list as well.\n\nThe following is the basic call stack:\n\nsync_state\nhttps://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L137\nhttps://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L345\nhttps://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L253\n\nRPC: get_active_networks_info\nhttps://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L840-L845\nhttps://github.com/openstack/neutron/blob/master/neutron/api/rpc/handlers/dhcp_rpc.py#L139-L143\n\nThis function： _get_active_networks\nhttps://github.com/openstack/neutron/blob/master/neutron/api/rpc/handlers/dhcp_rpc.py#L80-L93","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a889dda0c9787618a387bcc52132aa54bba6d143","unresolved":true,"context_lines":[{"line_number":89,"context_line":"            nets \u003d plugin.list_active_networks_on_active_dhcp_agent("},{"line_number":90,"context_line":"                context, host)"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            # If no active DHCP agent or agent admin state is DOWN,"},{"line_number":93,"context_line":"            # return empty network list for RPC to avoid unexpected"},{"line_number":94,"context_line":"            # resource creation on remote host when the DHCP agent"},{"line_number":95,"context_line":"            # scheduler extension is not supported."}],"source_content_type":"text/x-python","patch_set":4,"id":"f36d6ea6_9d2a49bd","line":92,"range":{"start_line":92,"start_character":14,"end_line":92,"end_character":66},"in_reply_to":"f7cf5fdf_307dae53","updated":"2021-01-26 11:51:44.000000000","message":"Please describe the scenario this change is fixing. If agent is dead or admin state down then who could be requesting networks info?","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"07d82f85b429c4a3ea69e562193bd00d671c5046","unresolved":true,"context_lines":[{"line_number":100,"context_line":"                LOG.debug(\"DHCP Agent not found on host %s\", host)"},{"line_number":101,"context_line":"                return []"},{"line_number":102,"context_line":"            if not agent.admin_state_up:"},{"line_number":103,"context_line":"                return []"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"            filters \u003d dict(admin_state_up\u003d[True])"},{"line_number":106,"context_line":"            nets \u003d plugin.get_networks(context, filters\u003dfilters)"}],"source_content_type":"text/x-python","patch_set":8,"id":"f3c9bbd6_1e852141","line":103,"updated":"2021-02-03 10:55:54.000000000","message":"Perhaps worth a log entry for this as well","commit_id":"43eb67a5e8749dff5bdbae2e0c06c78e4c27f4f6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0c8748e6b8a7833cfe5d917e4ccc38f709a08b20","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                LOG.debug(\"DHCP Agent not found on host %s\", host)"},{"line_number":101,"context_line":"                return []"},{"line_number":102,"context_line":"            if not agent.admin_state_up:"},{"line_number":103,"context_line":"                return []"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"            filters \u003d dict(admin_state_up\u003d[True])"},{"line_number":106,"context_line":"            nets \u003d plugin.get_networks(context, filters\u003dfilters)"}],"source_content_type":"text/x-python","patch_set":8,"id":"c9451aff_993370c7","line":103,"in_reply_to":"836dc5a0_a29fc4d6","updated":"2021-02-05 03:14:42.000000000","message":"Done","commit_id":"43eb67a5e8749dff5bdbae2e0c06c78e4c27f4f6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"558a529c2e8f6b2e82400e78603f07c7800c4804","unresolved":true,"context_lines":[{"line_number":100,"context_line":"                LOG.debug(\"DHCP Agent not found on host %s\", host)"},{"line_number":101,"context_line":"                return []"},{"line_number":102,"context_line":"            if not agent.admin_state_up:"},{"line_number":103,"context_line":"                return []"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"            filters \u003d dict(admin_state_up\u003d[True])"},{"line_number":106,"context_line":"            nets \u003d plugin.get_networks(context, filters\u003dfilters)"}],"source_content_type":"text/x-python","patch_set":8,"id":"836dc5a0_a29fc4d6","line":103,"in_reply_to":"f3c9bbd6_1e852141","updated":"2021-02-03 16:15:50.000000000","message":"Sure, I will do that if I need to reload this patch.","commit_id":"43eb67a5e8749dff5bdbae2e0c06c78e4c27f4f6"}],"neutron/conf/common.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a761729d941a21a402c04970569b9cadbd791f06","unresolved":true,"context_lines":[{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, if this is set to\u0027"},{"line_number":151,"context_line":"                       \u0027True, the neutron server will disable: \u0027"},{"line_number":152,"context_line":"                       \u00271. DHCP privisioning block \u0027"},{"line_number":153,"context_line":"                       \u00272. DHCP API extension and scheduler \u0027"},{"line_number":154,"context_line":"                       \u00273. Network scheduling mechanism\u0027)),"}],"source_content_type":"text/x-python","patch_set":3,"id":"a63872de_7cafe12c","line":151,"range":{"start_line":150,"start_character":24,"end_line":151,"end_character":61},"updated":"2021-01-25 11:17:00.000000000","message":"I think it\u0027s worth mentioning not only what will be disabled, but what this option means in the first place - DHCP service via OVS flows","commit_id":"b1f7f3f261257074494b4b7b267241f4cf76e206"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4518446fd15b93b911b3fa0e896346b31c46f0ba","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, if this is set to\u0027"},{"line_number":151,"context_line":"                       \u0027True, the neutron server will disable: \u0027"},{"line_number":152,"context_line":"                       \u00271. DHCP privisioning block \u0027"},{"line_number":153,"context_line":"                       \u00272. DHCP API extension and scheduler \u0027"},{"line_number":154,"context_line":"                       \u00273. Network scheduling mechanism\u0027)),"}],"source_content_type":"text/x-python","patch_set":3,"id":"bc301bf9_c76bf34d","line":151,"range":{"start_line":150,"start_character":24,"end_line":151,"end_character":61},"in_reply_to":"a63872de_7cafe12c","updated":"2021-01-26 01:53:00.000000000","message":"Done","commit_id":"b1f7f3f261257074494b4b7b267241f4cf76e206"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a761729d941a21a402c04970569b9cadbd791f06","unresolved":true,"context_lines":[{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, if this is set to\u0027"},{"line_number":151,"context_line":"                       \u0027True, the neutron server will disable: \u0027"},{"line_number":152,"context_line":"                       \u00271. DHCP privisioning block \u0027"},{"line_number":153,"context_line":"                       \u00272. DHCP API extension and scheduler \u0027"},{"line_number":154,"context_line":"                       \u00273. Network scheduling mechanism\u0027)),"},{"line_number":155,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"04c5db2f_445843d9","line":152,"range":{"start_line":152,"start_character":32,"end_line":152,"end_character":44},"updated":"2021-01-25 11:17:00.000000000","message":"nit: provisioning","commit_id":"b1f7f3f261257074494b4b7b267241f4cf76e206"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4518446fd15b93b911b3fa0e896346b31c46f0ba","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, if this is set to\u0027"},{"line_number":151,"context_line":"                       \u0027True, the neutron server will disable: \u0027"},{"line_number":152,"context_line":"                       \u00271. DHCP privisioning block \u0027"},{"line_number":153,"context_line":"                       \u00272. DHCP API extension and scheduler \u0027"},{"line_number":154,"context_line":"                       \u00273. Network scheduling mechanism\u0027)),"},{"line_number":155,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"849becd6_676df4cd","line":152,"range":{"start_line":152,"start_character":32,"end_line":152,"end_character":44},"in_reply_to":"04c5db2f_445843d9","updated":"2021-01-26 01:53:00.000000000","message":"Done","commit_id":"b1f7f3f261257074494b4b7b267241f4cf76e206"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"6e1984fab1509059909e77cd96a61d8e7eb93051","unresolved":true,"context_lines":[{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, the flow based \u0027"},{"line_number":151,"context_line":"                       \u0027DHCP service. This option does not acctually enable \u0027"},{"line_number":152,"context_line":"                       \u0027the new flow based DHCP, but it is for neutron \u0027"},{"line_number":153,"context_line":"                       \u0027server to determine the DHCP-agent related \u0027"},{"line_number":154,"context_line":"                       \u0027functions. If this is set to True, neutron server \u0027"},{"line_number":155,"context_line":"                       \u0027will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"8466be16_019cf8a1","line":152,"range":{"start_line":151,"start_character":38,"end_line":152,"end_character":47},"updated":"2021-01-26 05:48:39.000000000","message":"This is confusing. I don\u0027t understand why need start implementation from disabling existing DHCP. Whats the reason for users to disable it without alternative? IMO more natural way is to implement flow-based DHCP first, then add option to disable original DHCP service. I believe dhcp agents and network scheduling should not affect flow-based DHCP, but could serve as backup.","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"be16aeec2f8b9efb64fb14626f5cc9847e3d7ea7","unresolved":true,"context_lines":[{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, the flow based \u0027"},{"line_number":151,"context_line":"                       \u0027DHCP service. This option does not acctually enable \u0027"},{"line_number":152,"context_line":"                       \u0027the new flow based DHCP, but it is for neutron \u0027"},{"line_number":153,"context_line":"                       \u0027server to determine the DHCP-agent related \u0027"},{"line_number":154,"context_line":"                       \u0027functions. If this is set to True, neutron server \u0027"},{"line_number":155,"context_line":"                       \u0027will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"d58e6d36_cd694b73","line":152,"range":{"start_line":151,"start_character":38,"end_line":152,"end_character":47},"in_reply_to":"32bb0a41_6e03d67d","updated":"2021-01-27 01:04:27.000000000","message":"This can be not only for \"distributed DHCP\", but has another use case is for some deployment the operators want to offline all DHCP agents when they change the VM IP/metadata provisioning  action from DHCP to config drive. Maybe I should change the option name to \"disable_traditional_dhcp\".","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a889dda0c9787618a387bcc52132aa54bba6d143","unresolved":true,"context_lines":[{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, the flow based \u0027"},{"line_number":151,"context_line":"                       \u0027DHCP service. This option does not acctually enable \u0027"},{"line_number":152,"context_line":"                       \u0027the new flow based DHCP, but it is for neutron \u0027"},{"line_number":153,"context_line":"                       \u0027server to determine the DHCP-agent related \u0027"},{"line_number":154,"context_line":"                       \u0027functions. If this is set to True, neutron server \u0027"},{"line_number":155,"context_line":"                       \u0027will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"32bb0a41_6e03d67d","line":152,"range":{"start_line":151,"start_character":38,"end_line":152,"end_character":47},"in_reply_to":"4afafce9_85228b88","updated":"2021-01-26 11:51:44.000000000","message":"I\u0027m thinking what if this patch is merged and agent extension is not ready in this release for some reason. Having option \u0027enable_distributed_dhcp\u0027 which \u0027does not acctually enable the new flow based DHCP\u0027 is a bit weird. So I think need first have actual flow based DHCP and then add config option to enable/disable it. IMO \u0027This option does not actually enable the new flow based DHCP\u0027 should not be in config opt description either way.","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0141f0407f73ea72f2f188d9cd81fa50bc7d3e86","unresolved":true,"context_lines":[{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, the flow based \u0027"},{"line_number":151,"context_line":"                       \u0027DHCP service. This option does not acctually enable \u0027"},{"line_number":152,"context_line":"                       \u0027the new flow based DHCP, but it is for neutron \u0027"},{"line_number":153,"context_line":"                       \u0027server to determine the DHCP-agent related \u0027"},{"line_number":154,"context_line":"                       \u0027functions. If this is set to True, neutron server \u0027"},{"line_number":155,"context_line":"                       \u0027will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"4afafce9_85228b88","line":152,"range":{"start_line":151,"start_character":38,"end_line":152,"end_character":47},"in_reply_to":"8466be16_019cf8a1","updated":"2021-01-26 11:21:08.000000000","message":"Actually, no intended order for the implementation, just because this config option is a bit simple. The DHCP agent extension for ovs-agent is a bit complicated. I\u0027m still refactoring the code. Because our local implementation is in Queens branch.\nAnd, the default value is False. So no harms, IMO.","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"c9245ab9f059bcb6543ffd7439a8ac15b54304ca","unresolved":true,"context_lines":[{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, the flow based \u0027"},{"line_number":151,"context_line":"                       \u0027DHCP service. This option does not acctually enable \u0027"},{"line_number":152,"context_line":"                       \u0027the new flow based DHCP, but it is for neutron \u0027"},{"line_number":153,"context_line":"                       \u0027server to determine the DHCP-agent related \u0027"},{"line_number":154,"context_line":"                       \u0027functions. If this is set to True, neutron server \u0027"},{"line_number":155,"context_line":"                       \u0027will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ebd818f_082c1c82","line":152,"range":{"start_line":151,"start_character":38,"end_line":152,"end_character":47},"in_reply_to":"b4d9591c_fa7e96ff","updated":"2021-01-27 08:38:32.000000000","message":"Still one option, I will change the spec to use \"disable_traditional_dhcp\" as well. We should add some docs for user when they want to use new distributed DHCP. It\u0027s better to set \"disable_traditional_dhcp\u003dTrue\".","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"21558c6f52d0f86d1f89fea677b768ea278a1711","unresolved":true,"context_lines":[{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027enable_distributed_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027Whether enable the distributed DHCP, the flow based \u0027"},{"line_number":151,"context_line":"                       \u0027DHCP service. This option does not acctually enable \u0027"},{"line_number":152,"context_line":"                       \u0027the new flow based DHCP, but it is for neutron \u0027"},{"line_number":153,"context_line":"                       \u0027server to determine the DHCP-agent related \u0027"},{"line_number":154,"context_line":"                       \u0027functions. If this is set to True, neutron server \u0027"},{"line_number":155,"context_line":"                       \u0027will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"b4d9591c_fa7e96ff","line":152,"range":{"start_line":151,"start_character":38,"end_line":152,"end_character":47},"in_reply_to":"d58e6d36_cd694b73","updated":"2021-01-27 07:52:05.000000000","message":"Then we\u0027ll need to operate 2 config options to enable flow based DHCP, right? I\u0027d wait for others opinion on this.","commit_id":"68b7a45fb05beda60ef19360b7faec9a199eb85c"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"ff16b484ed4b0e8bc1e24c1a7485321b0fda3261","unresolved":true,"context_lines":[{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to determine the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"},{"line_number":153,"context_line":"                       \u00271. DHCP provisioning block \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1b3c3bc3_06821a67","line":150,"range":{"start_line":150,"start_character":46,"end_line":150,"end_character":55},"updated":"2021-01-28 05:41:31.000000000","message":"disable?","commit_id":"52d315ddf32e0fd28e85e9fb9cdcdd07c4def599"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"9bb3c51fc5bd428b608d293dad35df9cc0e41101","unresolved":true,"context_lines":[{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to determine the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"},{"line_number":153,"context_line":"                       \u00271. DHCP provisioning block \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"20baa48b_d9a53ee6","line":150,"range":{"start_line":150,"start_character":46,"end_line":150,"end_character":55},"updated":"2021-02-01 07:40:14.000000000","message":"disable?","commit_id":"3b7e56f27b782ffa57f62dbfca2100ba60fdf14e"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"a1524f7dbae7b6bec3a80a10c1888968dbcad8a7","unresolved":true,"context_lines":[{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to determine the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"},{"line_number":153,"context_line":"                       \u00271. DHCP provisioning block \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"cd73675a_9a8e2dab","line":150,"range":{"start_line":150,"start_character":46,"end_line":150,"end_character":55},"in_reply_to":"20baa48b_d9a53ee6","updated":"2021-02-02 07:45:13.000000000","message":"My idea is \"for neutron to decide whether enable the function\". But I will change this to \"disable\".","commit_id":"3b7e56f27b782ffa57f62dbfca2100ba60fdf14e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"07d82f85b429c4a3ea69e562193bd00d671c5046","unresolved":true,"context_lines":[{"line_number":153,"context_line":"                       \u00271. DHCP provisioning block \u0027"},{"line_number":154,"context_line":"                       \u00272. DHCP API extension and scheduler \u0027"},{"line_number":155,"context_line":"                       \u00273. Network scheduling mechanism \u0027"},{"line_number":156,"context_line":"                       \u00274. DHCP RPC/notification\u0027)),"},{"line_number":157,"context_line":"]"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"core_cli_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"653a4e54_b33f2a55","line":156,"updated":"2021-02-03 10:55:54.000000000","message":"Do you plan to add further config option or if this is True (disable_traditional_dhcp \u003d True) means that ovs based distributed dhcp is enabled?","commit_id":"43eb67a5e8749dff5bdbae2e0c06c78e4c27f4f6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"558a529c2e8f6b2e82400e78603f07c7800c4804","unresolved":true,"context_lines":[{"line_number":153,"context_line":"                       \u00271. DHCP provisioning block \u0027"},{"line_number":154,"context_line":"                       \u00272. DHCP API extension and scheduler \u0027"},{"line_number":155,"context_line":"                       \u00273. Network scheduling mechanism \u0027"},{"line_number":156,"context_line":"                       \u00274. DHCP RPC/notification\u0027)),"},{"line_number":157,"context_line":"]"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"core_cli_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"9c9c5b9e_31e31e6a","line":156,"in_reply_to":"653a4e54_b33f2a55","updated":"2021-02-03 16:15:50.000000000","message":"New \"dhcp\" will be an extension for ovs agent, not a default value. Users need to add it to the extension list in their config file explicitly.","commit_id":"43eb67a5e8749dff5bdbae2e0c06c78e4c27f4f6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0c8748e6b8a7833cfe5d917e4ccc38f709a08b20","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                       \u00271. DHCP provisioning block \u0027"},{"line_number":154,"context_line":"                       \u00272. DHCP API extension and scheduler \u0027"},{"line_number":155,"context_line":"                       \u00273. Network scheduling mechanism \u0027"},{"line_number":156,"context_line":"                       \u00274. DHCP RPC/notification\u0027)),"},{"line_number":157,"context_line":"]"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"core_cli_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"cbd3c7af_06dc9378","line":156,"in_reply_to":"9c9c5b9e_31e31e6a","updated":"2021-02-05 03:14:42.000000000","message":"Done","commit_id":"43eb67a5e8749dff5bdbae2e0c06c78e4c27f4f6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"e8d253ba3f42a6511cda06763c98cb8066f3b50c","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"ad2a3e54_b49f7860","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"updated":"2021-02-19 08:46:35.000000000","message":"I\u0027m still not sure if that is good name. Maybe \"disable_dhcp_agent\" would be better? Or maybe someone would have some better idea?","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"a11d88a4ce2d2937553e3da8c82f2852643f6aed","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"1fc54428_39a77810","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"04f7435d_1ae484f6","updated":"2021-02-20 12:37:25.000000000","message":"Hi guys, please take a look at the story here:\nhttps://review.opendev.org/c/openstack/neutron/+/772255/4/neutron/conf/common.py#152","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"f428fb4dc03dddee0b815afcb534d43bdcc19d7a","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"e2d6684d_d326067a","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"11098911_cb93a1a6","updated":"2021-02-23 12:25:54.000000000","message":"I don\u0027t know how to write the release note for users all over the world that we added a config option which is for neturon\u0027s default behavior, since we are going to enable the default behavior by default.","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"eb0987c96d2310c7ce8e54ef7909a8efe7fc6ced","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"11098911_cb93a1a6","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"1345358b_15e3dd62","updated":"2021-02-23 10:23:34.000000000","message":"I second Brian\u0027s opinion here. IMO it would be better, and still self explained if we would name it \"enable_traditional_dhcp\" and set True as default value.","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"e59a06a4312f121b6f8a15dd83fef66968fd9ed4","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"d6757bbd_dce73e78","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"1fc54428_39a77810","updated":"2021-02-22 09:01:31.000000000","message":"I like Brian\u0027s proposal most. Positive option sounds better for me. E.g. \"enable_traditional_dhcp\" or simply \"tranditional_dhcp\". Wdyt?","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"15923e63f37614854e70954fc9370ec377c600fb","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"d401f8db_129426e0","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"ad2a3e54_b49f7860","updated":"2021-02-19 09:52:19.000000000","message":"I was thinking maybe \u0027disable_dnsmasq_dhcp\u0027 or \u0027disable_namespace_dhcp\u0027 but \u0027disable_traditional_dhcp\u0027 still sounds better for me.","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9b6af9b07526c216079a02133648ea1eebd1d52b","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"d08a08aa_cb3435fd","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"c39e6a86_34b90b98","updated":"2021-02-22 19:46:35.000000000","message":"I realize the name was mentioned in the spec, but I think we can revisit that based on review comments.  I guess I thought \u0027enable\u0027 was better since there are only config options with that word, there are none with \u0027disable\u0027 in them.  Just my $0.02\n\nThe spec also had other names for some of the new agent DHCP opts which have since been changed as well.","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"8f4b08e12ca573ac7b2e865fb059c3149be416f6","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"1345358b_15e3dd62","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"d08a08aa_cb3435fd","updated":"2021-02-23 01:43:20.000000000","message":"My main idea is still the consistent with the behavior. If some config option is set to True, it should explain itself. For instance, set \"disable_traditional_dhcp \u003d True\", then users may directly realize that this will disable traditional DHCP.","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"aa9e096f7b63cceb5ee849baa2939ba552cc7974","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"04f7435d_1ae484f6","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"d401f8db_129426e0","updated":"2021-02-20 01:32:59.000000000","message":"Or make it a positive - enable_traditional_dhcp or enable_dhcp_agent ?","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"8ff7fc84bc38b95aa93b5d47e694a353d6e878da","unresolved":true,"context_lines":[{"line_number":146,"context_line":"                      \"the connection is retried that many times. \""},{"line_number":147,"context_line":"                      \"For example, setting to 3 means total attempts to \""},{"line_number":148,"context_line":"                      \"connect will be 4.\")),"},{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"c39e6a86_34b90b98","line":149,"range":{"start_line":149,"start_character":17,"end_line":149,"end_character":41},"in_reply_to":"d6757bbd_dce73e78","updated":"2021-02-22 11:51:42.000000000","message":"I thought we have reached a consensus in the spec:\nhttps://specs.openstack.org/openstack/neutron-specs/specs/wallaby/distributed_dhcp.html#potential-configurations\n\nBesides, the word `disable` looks more consistent with the behavior we want is \"to disable the DHCP related functions\".\nFor neutron now, the DHCP realated stuffs are enabled, then we add a new `enable_xxx` to enable them \u0027by default\u0027, this looks a bit strange to me. 😊","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9b6af9b07526c216079a02133648ea1eebd1d52b","unresolved":true,"context_lines":[{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"},{"line_number":153,"context_line":"                       \u00271. DHCP provisioning block \u0027"},{"line_number":154,"context_line":"                       \u00272. DHCP scheduler API extension\u0027"},{"line_number":155,"context_line":"                       \u00273. Network scheduling mechanism \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"18426101_9dec2c45","line":152,"updated":"2021-02-22 19:46:35.000000000","message":"I guess there are many ways to write this, but looking at others above something like:\n\n\"If True, neutron-server will disable the following DHCP-agent related functions:\"\n\nIt might also be useful to mention the new OVS agent extension that can be used, or just that this would be used when the OVS agent is configured to enable DHCP natively.","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"8f4b08e12ca573ac7b2e865fb059c3149be416f6","unresolved":true,"context_lines":[{"line_number":149,"context_line":"    cfg.BoolOpt(\u0027disable_traditional_dhcp\u0027, default\u003dFalse,"},{"line_number":150,"context_line":"                help\u003d_(\u0027For neutron server to disable the DHCP-agent \u0027"},{"line_number":151,"context_line":"                       \u0027related functions. If this is set to True, \u0027"},{"line_number":152,"context_line":"                       \u0027neutron server will disable: \u0027"},{"line_number":153,"context_line":"                       \u00271. DHCP provisioning block \u0027"},{"line_number":154,"context_line":"                       \u00272. DHCP scheduler API extension\u0027"},{"line_number":155,"context_line":"                       \u00273. Network scheduling mechanism \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"1eef97e3_1cfcb77d","line":152,"in_reply_to":"18426101_9dec2c45","updated":"2021-02-23 01:43:20.000000000","message":"\u003e I guess there are many ways to write this, but looking at others above something like:\n\u003e \n\u003e \"If True, neutron-server will disable the following DHCP-agent related functions:\"\n\u003e \n\nDone\n\n\u003e It might also be useful to mention the new OVS agent extension that can be used, or just that this would be used when the OVS agent is configured to enable DHCP natively.\n\nI have put \"distributed DHCP\" related things here before, but finally we relized that [1]\n\"\"\"\nthis can be not only for \"distributed DHCP\", but it has another use case for some deployment is that the operators want to offline all DHCP agents when they change the VM IP/metadata provisioning  action from DHCP to config drive.\n\"\"\"\n\n[1] https://review.opendev.org/c/openstack/neutron/+/772255/4/neutron/conf/common.py#152\n\nAnyway, I will update the releasenote for this.","commit_id":"58a11f2b9f0ba700ee50c4bfbaf5c8c2fef56739"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"02af73056cc725eb7afe32c5089ae57aa5984336","unresolved":true,"context_lines":[{"line_number":152,"context_line":"                       \u00271. DHCP provisioning block \u0027"},{"line_number":153,"context_line":"                       \u00272. DHCP scheduler API extension \u0027"},{"line_number":154,"context_line":"                       \u00273. Network scheduling mechanism \u0027"},{"line_number":155,"context_line":"                       \u00274. DHCP RPC/notification\u0027)),"},{"line_number":156,"context_line":"]"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"core_cli_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":11,"id":"b4180a7a_1fa29845","line":155,"updated":"2021-02-24 19:23:23.000000000","message":"So I asked someone more familiar with the way options are presented in TripleO, and he concurred that using \u0027enable\u0027 was more prevalent by a 20:1 ratio there, and also pointed out there are no neutron config options using \u0027disable\u0027.  I think with that and that the default here is a double negative (do not disable) has me thinking we should change this.  He was also confused by the word \u0027traditional\u0027 and asked if it was just related to dnsmasq.  I think we can avoid both issues with a more generic name:\n\nenable_dhcp\nenable_dhcp_agent\nenable_agent_dhcp\n\nBut I\u0027d also be fine with \u0027enable_traditional_dhcp\u0027 if that\u0027s a good compromise.","commit_id":"f919ff2e40226da7139d1b4af2915628b23c34d0"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"2e059308191c2ada97cf32d283a0502de380aae0","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                       \u00271. DHCP provisioning block \u0027"},{"line_number":153,"context_line":"                       \u00272. DHCP scheduler API extension \u0027"},{"line_number":154,"context_line":"                       \u00273. Network scheduling mechanism \u0027"},{"line_number":155,"context_line":"                       \u00274. DHCP RPC/notification\u0027)),"},{"line_number":156,"context_line":"]"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"core_cli_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":11,"id":"668b0e57_e8638214","line":155,"in_reply_to":"b4180a7a_1fa29845","updated":"2021-02-25 03:11:37.000000000","message":"Done","commit_id":"f919ff2e40226da7139d1b4af2915628b23c34d0"}],"releasenotes/notes/config_disable_traditional_dhcp-e553e2bd327c37c5.yaml":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"cb4dae12da21a2e454b188b0974c9ab764b8bc93","unresolved":true,"context_lines":[{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a new config option ``disable_traditional_dhcp`` for neutron server,"},{"line_number":5,"context_line":"    if it is set to Ture, neutron server will disable DHCP provisioning"},{"line_number":6,"context_line":"    block, DHCP scheduler API extension, Network scheduling mechanism and"},{"line_number":7,"context_line":"    DHCP RPC/notification."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"cb18a9d6_f997c56c","line":5,"range":{"start_line":5,"start_character":20,"end_line":5,"end_character":24},"updated":"2021-02-05 08:40:30.000000000","message":"typo","commit_id":"60572115e65c12cb6d13f59940f926958c23b658"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"3fcfeccdd305f0420635f84c04d62f812e492d44","unresolved":false,"context_lines":[{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a new config option ``disable_traditional_dhcp`` for neutron server,"},{"line_number":5,"context_line":"    if it is set to Ture, neutron server will disable DHCP provisioning"},{"line_number":6,"context_line":"    block, DHCP scheduler API extension, Network scheduling mechanism and"},{"line_number":7,"context_line":"    DHCP RPC/notification."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"b7f4953a_e0de3523","line":5,"range":{"start_line":5,"start_character":20,"end_line":5,"end_character":24},"in_reply_to":"cb18a9d6_f997c56c","updated":"2021-02-19 01:56:40.000000000","message":"Done","commit_id":"60572115e65c12cb6d13f59940f926958c23b658"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"02af73056cc725eb7afe32c5089ae57aa5984336","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    if it is set to True, neutron server will disable DHCP provisioning"},{"line_number":6,"context_line":"    block, DHCP scheduler API extension, network scheduling mechanism and"},{"line_number":7,"context_line":"    DHCP RPC/notification. This option can be used with the"},{"line_number":8,"context_line":"    ``distributed DHCP`` for ovs agent, or for the deployment which needs"},{"line_number":9,"context_line":"    to disable the DHCP agent related functions permanently."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"441a9e49_d2b38c5f","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":38},"updated":"2021-02-24 19:23:23.000000000","message":"s/``dhcp`` extension of the OVS agent to enable distributed DHCP\n\nJust so it\u0027s clear what someone has to do for DHCP to work","commit_id":"f919ff2e40226da7139d1b4af2915628b23c34d0"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"02af73056cc725eb7afe32c5089ae57aa5984336","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    if it is set to True, neutron server will disable DHCP provisioning"},{"line_number":6,"context_line":"    block, DHCP scheduler API extension, network scheduling mechanism and"},{"line_number":7,"context_line":"    DHCP RPC/notification. This option can be used with the"},{"line_number":8,"context_line":"    ``distributed DHCP`` for ovs agent, or for the deployment which needs"},{"line_number":9,"context_line":"    to disable the DHCP agent related functions permanently."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"a41b069d_8f1f9622","line":8,"range":{"start_line":8,"start_character":47,"end_line":8,"end_character":50},"updated":"2021-02-24 19:23:23.000000000","message":"s/a","commit_id":"f919ff2e40226da7139d1b4af2915628b23c34d0"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"2e059308191c2ada97cf32d283a0502de380aae0","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    if it is set to True, neutron server will disable DHCP provisioning"},{"line_number":6,"context_line":"    block, DHCP scheduler API extension, network scheduling mechanism and"},{"line_number":7,"context_line":"    DHCP RPC/notification. This option can be used with the"},{"line_number":8,"context_line":"    ``distributed DHCP`` for ovs agent, or for the deployment which needs"},{"line_number":9,"context_line":"    to disable the DHCP agent related functions permanently."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"4d62b3b3_2e14f812","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":38},"in_reply_to":"441a9e49_d2b38c5f","updated":"2021-02-25 03:11:37.000000000","message":"Done","commit_id":"f919ff2e40226da7139d1b4af2915628b23c34d0"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"2e059308191c2ada97cf32d283a0502de380aae0","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    if it is set to True, neutron server will disable DHCP provisioning"},{"line_number":6,"context_line":"    block, DHCP scheduler API extension, network scheduling mechanism and"},{"line_number":7,"context_line":"    DHCP RPC/notification. This option can be used with the"},{"line_number":8,"context_line":"    ``distributed DHCP`` for ovs agent, or for the deployment which needs"},{"line_number":9,"context_line":"    to disable the DHCP agent related functions permanently."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"f9393caf_85e28250","line":8,"range":{"start_line":8,"start_character":47,"end_line":8,"end_character":50},"in_reply_to":"a41b069d_8f1f9622","updated":"2021-02-25 03:11:37.000000000","message":"Done","commit_id":"f919ff2e40226da7139d1b4af2915628b23c34d0"}]}
