)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"fdac1a5aaea1f5d62bb349727d64350fbeed6b4a","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2019-05-07 11:31:39 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"openstack port create support --extra-dhcp-opt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I199f17e95c509a33f809ac85c65f685a37acd198"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dfbec78f_d245e371","line":8,"updated":"2019-05-07 05:51:23.000000000","message":"I think this should add some descriptions to make this issue clearly.","commit_id":"0a75819aff6dabd71c24c309f592ac47e886555a"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"9d3f38efe63faf7b499177bd8f52c901417cbaa0","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2019-05-07 11:31:39 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"openstack port create support --extra-dhcp-opt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I199f17e95c509a33f809ac85c65f685a37acd198"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dfbec78f_d213a365","line":8,"in_reply_to":"dfbec78f_d245e371","updated":"2019-05-07 06:12:56.000000000","message":"Done","commit_id":"0a75819aff6dabd71c24c309f592ac47e886555a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"openstack port create support --extra-dhcp-opt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron create-port API  has extra_dhcp_opts parameter，this parameter can set port with special extra dhcp options."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I199f17e95c509a33f809ac85c65f685a37acd198"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dfbec78f_7a496589","line":9,"updated":"2019-05-07 15:40:41.000000000","message":"This line should be wrapped at 80 chars","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c162ebd613919538de89deed1aeea34861a98487","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"openstack port create support --extra-dhcp-opt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron create-port API  has extra_dhcp_opts parameter，this parameter can set port with special extra dhcp options."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I199f17e95c509a33f809ac85c65f685a37acd198"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dfbec78f_4edb7aec","line":9,"in_reply_to":"dfbec78f_7a496589","updated":"2019-05-13 00:19:01.000000000","message":"thanks Brian, I will update it.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"}],"openstackclient/network/v2/port.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"fdac1a5aaea1f5d62bb349727d64350fbeed6b4a","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,ip_version\u003d{4,6}]\u0027,"},{"line_number":384,"context_line":"            default\u003d[],"},{"line_number":385,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"},{"line_number":386,"context_line":"            dest\u003d\u0027extra_dhcp_opts\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_d26c030a","line":383,"range":{"start_line":383,"start_character":0,"end_line":383,"end_character":87},"updated":"2019-05-07 05:51:23.000000000","message":"This line is too long, you can let one line \u003c\u003d 79 characters, so this should be have a new line, like this:\n            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,\u0027\n                    \u0027ip_version\u003d{4,6}]\u0027,","commit_id":"0a75819aff6dabd71c24c309f592ac47e886555a"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"9d3f38efe63faf7b499177bd8f52c901417cbaa0","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,ip_version\u003d{4,6}]\u0027,"},{"line_number":384,"context_line":"            default\u003d[],"},{"line_number":385,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"},{"line_number":386,"context_line":"            dest\u003d\u0027extra_dhcp_opts\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_15ffe501","line":383,"range":{"start_line":383,"start_character":0,"end_line":383,"end_character":87},"in_reply_to":"dfbec78f_d26c030a","updated":"2019-05-07 06:12:56.000000000","message":"Done","commit_id":"0a75819aff6dabd71c24c309f592ac47e886555a"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"ed25228d5b771e792eb4b0148748aea2b13fd696","unresolved":false,"context_lines":[{"line_number":378,"context_line":"            metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":379,"context_line":"            help\u003d_(\"Name of this port\")"},{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        # TODO(singhj): Add support for extended options:"},{"line_number":382,"context_line":"        # dhcp"},{"line_number":383,"context_line":"        secgroups \u003d parser.add_mutually_exclusive_group()"},{"line_number":384,"context_line":"        secgroups.add_argument("},{"line_number":385,"context_line":"            \u0027--security-group\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_f55b312b","side":"PARENT","line":382,"range":{"start_line":381,"start_character":7,"end_line":382,"end_character":14},"updated":"2019-05-07 06:18:55.000000000","message":"This patch completes the TODO","commit_id":"a71cb02ce94c83a692faec5ec46ded0793b0bd5e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":379,"context_line":"            help\u003d_(\"Name of this port\")"},{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":384,"context_line":"                    \u0027ip_version\u003d{4,6}]\u0027,"},{"line_number":385,"context_line":"            default\u003d[],"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_da2171fd","line":382,"updated":"2019-05-07 15:40:41.000000000","message":"extra-dhcp-option ?  There\u0027s no reason this can\u0027t be the complete word","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1e771e2dfc93b7006959e33c95e8d6dc6d06f4cb","unresolved":false,"context_lines":[{"line_number":379,"context_line":"            help\u003d_(\"Name of this port\")"},{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":384,"context_line":"                    \u0027ip_version\u003d{4,6}]\u0027,"},{"line_number":385,"context_line":"            default\u003d[],"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_173ca9bd","line":382,"in_reply_to":"dfbec78f_da2171fd","updated":"2019-05-08 22:42:00.000000000","message":"++","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c162ebd613919538de89deed1aeea34861a98487","unresolved":false,"context_lines":[{"line_number":379,"context_line":"            help\u003d_(\"Name of this port\")"},{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":384,"context_line":"                    \u0027ip_version\u003d{4,6}]\u0027,"},{"line_number":385,"context_line":"            default\u003d[],"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_ee982e1c","line":382,"in_reply_to":"dfbec78f_da2171fd","updated":"2019-05-13 00:19:01.000000000","message":"in neutorn API https://developer.openstack.org/api-ref/network/v2/index.html?expanded\u003dcreate-port-detail#ports\nand neutronclient https://docs.openstack.org/python-neutronclient/latest/cli/neutron-reference.html#port-create, \nis extra-dhcp-opt, I think I should keep it.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5200bb446c5a2f28692f9e3f8f08c721313cf849","unresolved":false,"context_lines":[{"line_number":379,"context_line":"            help\u003d_(\"Name of this port\")"},{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":384,"context_line":"                    \u0027ip_version\u003d{4,6}]\u0027,"},{"line_number":385,"context_line":"            default\u003d[],"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_1c7b33f5","line":382,"in_reply_to":"dfbec78f_ee982e1c","updated":"2019-05-14 02:24:03.000000000","message":"There is no need to use the same name as that of neutron API. More important thing is consistency in OSC. This is the reason we suggest --extra-dhcp-option.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":384,"context_line":"                    \u0027ip_version\u003d{4,6}]\u0027,"},{"line_number":385,"context_line":"            default\u003d[],"},{"line_number":386,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_dafdf13a","line":383,"range":{"start_line":383,"start_character":31,"end_line":383,"end_character":47},"updated":"2019-05-07 15:40:41.000000000","message":"s/option-name\n\nAnd I think all of these should be using dashes (-) like other options here.  Or will they not be passed properly to the API?  I think it can take them as dashes.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c162ebd613919538de89deed1aeea34861a98487","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":384,"context_line":"                    \u0027ip_version\u003d{4,6}]\u0027,"},{"line_number":385,"context_line":"            default\u003d[],"},{"line_number":386,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_c1db7479","line":383,"range":{"start_line":383,"start_character":31,"end_line":383,"end_character":47},"in_reply_to":"dfbec78f_77288585","updated":"2019-05-13 00:19:01.000000000","message":"thanks, I will update in next patch.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1e771e2dfc93b7006959e33c95e8d6dc6d06f4cb","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        )"},{"line_number":381,"context_line":"        parser.add_argument("},{"line_number":382,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":383,"context_line":"            metavar\u003d\u0027opt_name\u003d\u003cdhcp_option_name\u003e[,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":384,"context_line":"                    \u0027ip_version\u003d{4,6}]\u0027,"},{"line_number":385,"context_line":"            default\u003d[],"},{"line_number":386,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_77288585","line":383,"range":{"start_line":383,"start_character":31,"end_line":383,"end_character":47},"in_reply_to":"dfbec78f_dafdf13a","updated":"2019-05-08 22:42:00.000000000","message":"All of the metavar strings should use dashes in them not underscores, they are all user-visible.\n\nSpell out option","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":384,"context_line":"                    \u0027ip_version\u003d{4,6}]\u0027,"},{"line_number":385,"context_line":"            default\u003d[],"},{"line_number":386,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"},{"line_number":387,"context_line":"            dest\u003d\u0027extra_dhcp_opts\u0027,"},{"line_number":388,"context_line":"            required_keys\u003d[\u0027opt_name\u0027],"},{"line_number":389,"context_line":"            optional_keys\u003d[\u0027opt_value\u0027, \"ip_version\"],"},{"line_number":390,"context_line":"            help\u003d_(\u0027Extra dhcp options to be assigned to this port: \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_9a9539e7","line":387,"updated":"2019-05-07 15:40:41.000000000","message":"This would stay underscores","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"},{"line_number":387,"context_line":"            dest\u003d\u0027extra_dhcp_opts\u0027,"},{"line_number":388,"context_line":"            required_keys\u003d[\u0027opt_name\u0027],"},{"line_number":389,"context_line":"            optional_keys\u003d[\u0027opt_value\u0027, \"ip_version\"],"},{"line_number":390,"context_line":"            help\u003d_(\u0027Extra dhcp options to be assigned to this port: \u0027"},{"line_number":391,"context_line":"                   \u0027opt_name\u003d\u003cdhcp_option_name\u003e,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":392,"context_line":"                   \u0027ip_version\u003d{4,6}. You can repeat this option.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_ba983d1b","line":389,"updated":"2019-05-07 15:40:41.000000000","message":"These keys would use dashes as well, like opt-name","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":387,"context_line":"            dest\u003d\u0027extra_dhcp_opts\u0027,"},{"line_number":388,"context_line":"            required_keys\u003d[\u0027opt_name\u0027],"},{"line_number":389,"context_line":"            optional_keys\u003d[\u0027opt_value\u0027, \"ip_version\"],"},{"line_number":390,"context_line":"            help\u003d_(\u0027Extra dhcp options to be assigned to this port: \u0027"},{"line_number":391,"context_line":"                   \u0027opt_name\u003d\u003cdhcp_option_name\u003e,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":392,"context_line":"                   \u0027ip_version\u003d{4,6}. You can repeat this option.\u0027))"},{"line_number":393,"context_line":"        secgroups \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_faa795a6","line":390,"range":{"start_line":390,"start_character":26,"end_line":390,"end_character":30},"updated":"2019-05-07 15:40:41.000000000","message":"s/DHCP","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c162ebd613919538de89deed1aeea34861a98487","unresolved":false,"context_lines":[{"line_number":387,"context_line":"            dest\u003d\u0027extra_dhcp_opts\u0027,"},{"line_number":388,"context_line":"            required_keys\u003d[\u0027opt_name\u0027],"},{"line_number":389,"context_line":"            optional_keys\u003d[\u0027opt_value\u0027, \"ip_version\"],"},{"line_number":390,"context_line":"            help\u003d_(\u0027Extra dhcp options to be assigned to this port: \u0027"},{"line_number":391,"context_line":"                   \u0027opt_name\u003d\u003cdhcp_option_name\u003e,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":392,"context_line":"                   \u0027ip_version\u003d{4,6}. You can repeat this option.\u0027))"},{"line_number":393,"context_line":"        secgroups \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_21eb7013","line":390,"range":{"start_line":390,"start_character":26,"end_line":390,"end_character":30},"in_reply_to":"dfbec78f_faa795a6","updated":"2019-05-13 00:19:01.000000000","message":"thanks, I will update it.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":389,"context_line":"            optional_keys\u003d[\u0027opt_value\u0027, \"ip_version\"],"},{"line_number":390,"context_line":"            help\u003d_(\u0027Extra dhcp options to be assigned to this port: \u0027"},{"line_number":391,"context_line":"                   \u0027opt_name\u003d\u003cdhcp_option_name\u003e,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":392,"context_line":"                   \u0027ip_version\u003d{4,6}. You can repeat this option.\u0027))"},{"line_number":393,"context_line":"        secgroups \u003d parser.add_mutually_exclusive_group()"},{"line_number":394,"context_line":"        secgroups.add_argument("},{"line_number":395,"context_line":"            \u0027--security-group\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_3ac76d48","line":392,"range":{"start_line":392,"start_character":38,"end_line":392,"end_character":65},"updated":"2019-05-07 15:40:41.000000000","message":"s/(repeat option to set multiple extra DHCP options)\n\nSimilar to L400","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c162ebd613919538de89deed1aeea34861a98487","unresolved":false,"context_lines":[{"line_number":389,"context_line":"            optional_keys\u003d[\u0027opt_value\u0027, \"ip_version\"],"},{"line_number":390,"context_line":"            help\u003d_(\u0027Extra dhcp options to be assigned to this port: \u0027"},{"line_number":391,"context_line":"                   \u0027opt_name\u003d\u003cdhcp_option_name\u003e,opt_value\u003d\u003cvalue\u003e,\u0027"},{"line_number":392,"context_line":"                   \u0027ip_version\u003d{4,6}. You can repeat this option.\u0027))"},{"line_number":393,"context_line":"        secgroups \u003d parser.add_mutually_exclusive_group()"},{"line_number":394,"context_line":"        secgroups.add_argument("},{"line_number":395,"context_line":"            \u0027--security-group\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_a1de806a","line":392,"range":{"start_line":392,"start_character":38,"end_line":392,"end_character":65},"in_reply_to":"dfbec78f_3ac76d48","updated":"2019-05-13 00:19:01.000000000","message":"thanks, I will update it.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":451,"context_line":"        elif parsed_args.no_fixed_ip:"},{"line_number":452,"context_line":"            attrs[\u0027fixed_ips\u0027] \u003d []"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        if len(parsed_args.extra_dhcp_opts) \u003e 0:"},{"line_number":455,"context_line":"            attrs[\"extra_dhcp_opts\"] \u003d parsed_args.extra_dhcp_opts"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"        if parsed_args.security_group:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_7a7085dd","line":454,"range":{"start_line":454,"start_character":8,"end_line":454,"end_character":47},"updated":"2019-05-07 15:40:41.000000000","message":"s/if parsed_args.extra_dhcp_opts:","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c162ebd613919538de89deed1aeea34861a98487","unresolved":false,"context_lines":[{"line_number":451,"context_line":"        elif parsed_args.no_fixed_ip:"},{"line_number":452,"context_line":"            attrs[\u0027fixed_ips\u0027] \u003d []"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        if len(parsed_args.extra_dhcp_opts) \u003e 0:"},{"line_number":455,"context_line":"            attrs[\"extra_dhcp_opts\"] \u003d parsed_args.extra_dhcp_opts"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"        if parsed_args.security_group:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_c1961494","line":454,"range":{"start_line":454,"start_character":8,"end_line":454,"end_character":47},"in_reply_to":"dfbec78f_7a7085dd","updated":"2019-05-13 00:19:01.000000000","message":"thanks, I will update it.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5200bb446c5a2f28692f9e3f8f08c721313cf849","unresolved":false,"context_lines":[{"line_number":392,"context_line":"            help\u003d_(\"Name of this port\")"},{"line_number":393,"context_line":"        )"},{"line_number":394,"context_line":"        parser.add_argument("},{"line_number":395,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":396,"context_line":"            metavar\u003d\u0027opt-name\u003d\u003coption-name\u003e[,opt-value\u003d\u003cvalue\u003e\u0027"},{"line_number":397,"context_line":"                    \u0027,ip-version\u003d{4,6}]\u0027,"},{"line_number":398,"context_line":"            default\u003d[],"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_9c6e432d","line":395,"range":{"start_line":395,"start_character":13,"end_line":395,"end_character":29},"updated":"2019-05-14 02:24:03.000000000","message":"--extra-dhcp-option is better. More detail context is described in patch set 2.","commit_id":"1852a0c20dfb3f21573076f6377b5d5d51405f98"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"d78a0c792ab90305d8c10ff4bbc66ce0cbe55be1","unresolved":false,"context_lines":[{"line_number":392,"context_line":"            help\u003d_(\"Name of this port\")"},{"line_number":393,"context_line":"        )"},{"line_number":394,"context_line":"        parser.add_argument("},{"line_number":395,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":396,"context_line":"            metavar\u003d\u0027opt-name\u003d\u003coption-name\u003e[,opt-value\u003d\u003cvalue\u003e\u0027"},{"line_number":397,"context_line":"                    \u0027,ip-version\u003d{4,6}]\u0027,"},{"line_number":398,"context_line":"            default\u003d[],"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_b2b69889","line":395,"range":{"start_line":395,"start_character":13,"end_line":395,"end_character":29},"in_reply_to":"dfbec78f_9c6e432d","updated":"2019-05-16 01:45:50.000000000","message":"ok, thanks, I will update it.","commit_id":"1852a0c20dfb3f21573076f6377b5d5d51405f98"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5200bb446c5a2f28692f9e3f8f08c721313cf849","unresolved":false,"context_lines":[{"line_number":393,"context_line":"        )"},{"line_number":394,"context_line":"        parser.add_argument("},{"line_number":395,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":396,"context_line":"            metavar\u003d\u0027opt-name\u003d\u003coption-name\u003e[,opt-value\u003d\u003cvalue\u003e\u0027"},{"line_number":397,"context_line":"                    \u0027,ip-version\u003d{4,6}]\u0027,"},{"line_number":398,"context_line":"            default\u003d[],"},{"line_number":399,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_1cf25371","line":396,"range":{"start_line":396,"start_character":21,"end_line":396,"end_character":63},"updated":"2019-05-14 02:24:03.000000000","message":"The option name \u0027--extra-dhcp-opt(ion)\u0027 contains \u0027option\u0027 so \u0027opt\u0027 here is redundant. My suggestion is \n\n  name\u003d\u003cname\u003e[,value\u003d\u003cvalue\u003e,ip-version\u003d(4,6)","commit_id":"1852a0c20dfb3f21573076f6377b5d5d51405f98"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"d78a0c792ab90305d8c10ff4bbc66ce0cbe55be1","unresolved":false,"context_lines":[{"line_number":393,"context_line":"        )"},{"line_number":394,"context_line":"        parser.add_argument("},{"line_number":395,"context_line":"            \u0027--extra-dhcp-opt\u0027,"},{"line_number":396,"context_line":"            metavar\u003d\u0027opt-name\u003d\u003coption-name\u003e[,opt-value\u003d\u003cvalue\u003e\u0027"},{"line_number":397,"context_line":"                    \u0027,ip-version\u003d{4,6}]\u0027,"},{"line_number":398,"context_line":"            default\u003d[],"},{"line_number":399,"context_line":"            action\u003dparseractions.MultiKeyValueCommaAction,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_12c444f4","line":396,"range":{"start_line":396,"start_character":21,"end_line":396,"end_character":63},"in_reply_to":"dfbec78f_1cf25371","updated":"2019-05-16 01:45:50.000000000","message":"thanks, I will update it.","commit_id":"1852a0c20dfb3f21573076f6377b5d5d51405f98"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4a84abc3b771db1da3a2acfb65a7d7cb25cb7da6","unresolved":false,"context_lines":[{"line_number":400,"context_line":"            required_keys\u003d[\u0027name\u0027],"},{"line_number":401,"context_line":"            optional_keys\u003d[\u0027value\u0027, \"ip-version\"],"},{"line_number":402,"context_line":"            help\u003d_(\u0027Extra DHCP options to be assigned to this port: \u0027"},{"line_number":403,"context_line":"                   \u0027name\u003d\u003cname\u003e[,value\u003d\u003cvalue\u003e, ip-version\u003d{4,6}] \u0027"},{"line_number":404,"context_line":"                   \u0027(repeat option to set multiple extra DHCP options)\u0027))"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        secgroups \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_91f23e9a","line":403,"range":{"start_line":403,"start_character":47,"end_line":403,"end_character":48},"updated":"2019-05-16 21:28:53.000000000","message":"the space here should be removed","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"26229b05320cb7a3c46032c3b05060d2ca773160","unresolved":false,"context_lines":[{"line_number":400,"context_line":"            required_keys\u003d[\u0027name\u0027],"},{"line_number":401,"context_line":"            optional_keys\u003d[\u0027value\u0027, \"ip-version\"],"},{"line_number":402,"context_line":"            help\u003d_(\u0027Extra DHCP options to be assigned to this port: \u0027"},{"line_number":403,"context_line":"                   \u0027name\u003d\u003cname\u003e[,value\u003d\u003cvalue\u003e, ip-version\u003d{4,6}] \u0027"},{"line_number":404,"context_line":"                   \u0027(repeat option to set multiple extra DHCP options)\u0027))"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        secgroups \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_0158dc2f","line":403,"range":{"start_line":403,"start_character":47,"end_line":403,"end_character":48},"in_reply_to":"bfb3d3c7_91f23e9a","updated":"2019-05-23 03:25:48.000000000","message":"thanks, I will update it.","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"}],"openstackclient/tests/unit/network/v2/test_port.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"fdac1a5aaea1f5d62bb349727d64350fbeed6b4a","unresolved":false,"context_lines":[{"line_number":612,"context_line":""},{"line_number":613,"context_line":"    def test_create_port_with_extra_dhcp_opt(self):"},{"line_number":614,"context_line":"        extra_dhcp_opts \u003d [{\u0027opt_name\u0027: \u0027classless-static-route\u0027,"},{"line_number":615,"context_line":"                            \u0027opt_value\u0027: \u0027169.254.169.254/32,22.2.0.2,0.0.0.0/0,22.2.0.1\u0027,"},{"line_number":616,"context_line":"                            \u0027ip_version\u0027: \u00274\u0027}]"},{"line_number":617,"context_line":"        arglist \u003d ["},{"line_number":618,"context_line":"            \u0027--network\u0027, self._port.network_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_5280138c","line":615,"range":{"start_line":615,"start_character":0,"end_line":615,"end_character":90},"updated":"2019-05-07 05:51:23.000000000","message":"This line is too long, overall 79 characters, you should have a new line.\nhttp://logs.openstack.org/19/657519/1/check/openstack-tox-pep8/6fba124/job-output.txt.gz#_2019-05-07_03_37_51_111974","commit_id":"0a75819aff6dabd71c24c309f592ac47e886555a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"fdac1a5aaea1f5d62bb349727d64350fbeed6b4a","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        arglist \u003d ["},{"line_number":618,"context_line":"            \u0027--network\u0027, self._port.network_id,"},{"line_number":619,"context_line":"            \u0027--extra-dhcp-opt\u0027, \u0027opt_name\u003dclassless-static-route,\u0027"},{"line_number":620,"context_line":"                                \u0027opt_value\u003d169.254.169.254/32,22.2.0.2,0.0.0.0/0,22.2.0.1,\u0027"},{"line_number":621,"context_line":"                                \u0027ip_version\u003d4\u0027,"},{"line_number":622,"context_line":"            \u0027test-port\u0027,"},{"line_number":623,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_727d17b0","line":620,"range":{"start_line":620,"start_character":31,"end_line":620,"end_character":91},"updated":"2019-05-07 05:51:23.000000000","message":"ditto.","commit_id":"0a75819aff6dabd71c24c309f592ac47e886555a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"77dd1ab7f17c18a54af6b1086394555c57f0026f","unresolved":false,"context_lines":[{"line_number":622,"context_line":"                                \u00270.0.0.0/0,22.2.0.1,\u0027"},{"line_number":623,"context_line":"                                \u0027ip_version\u003d4\u0027,"},{"line_number":624,"context_line":"            \u0027test-port\u0027,"},{"line_number":625,"context_line":"        ]"},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"        verifylist \u003d ["},{"line_number":628,"context_line":"            (\u0027network\u0027, self._port.network_id,),"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_7a38853c","line":625,"updated":"2019-05-07 15:40:41.000000000","message":"Since you can specify the option multiple times, I would have the test do that as well.","commit_id":"714af7eebd6655705775cf28172a2222f23aceab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4a84abc3b771db1da3a2acfb65a7d7cb25cb7da6","unresolved":false,"context_lines":[{"line_number":620,"context_line":"            \u0027--extra-dhcp-option\u0027, \u0027name\u003dclassless-static-route,\u0027"},{"line_number":621,"context_line":"                                   \u0027value\u003d169.254.169.254/32,22.2.0.2,\u0027"},{"line_number":622,"context_line":"                                   \u00270.0.0.0/0,22.2.0.1,\u0027"},{"line_number":623,"context_line":"                                   \u0027ip-version\u003d4\u0027,"},{"line_number":624,"context_line":"            \u0027test-port\u0027,"},{"line_number":625,"context_line":"        ]"},{"line_number":626,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_d13d162d","line":623,"updated":"2019-05-16 21:28:53.000000000","message":"Can you add an IPv6 option as well?","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"26229b05320cb7a3c46032c3b05060d2ca773160","unresolved":false,"context_lines":[{"line_number":620,"context_line":"            \u0027--extra-dhcp-option\u0027, \u0027name\u003dclassless-static-route,\u0027"},{"line_number":621,"context_line":"                                   \u0027value\u003d169.254.169.254/32,22.2.0.2,\u0027"},{"line_number":622,"context_line":"                                   \u00270.0.0.0/0,22.2.0.1,\u0027"},{"line_number":623,"context_line":"                                   \u0027ip-version\u003d4\u0027,"},{"line_number":624,"context_line":"            \u0027test-port\u0027,"},{"line_number":625,"context_line":"        ]"},{"line_number":626,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_e13ca8c0","line":623,"in_reply_to":"bfb3d3c7_d13d162d","updated":"2019-05-23 03:25:48.000000000","message":"I will have a try.","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"}],"releasenotes/notes/allow-port-create-with-extra-dhcp-options-c2c40e4002b52e2a.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4a84abc3b771db1da3a2acfb65a7d7cb25cb7da6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    allow port create with --extra-dhcp-opttions. neutron create-port API"},{"line_number":5,"context_line":"    has extra_dhcp_opts parameter, this parameter can set port with special"},{"line_number":6,"context_line":"    extra dhcp options."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bfb3d3c7_f1237a04","line":4,"range":{"start_line":4,"start_character":3,"end_line":4,"end_character":21},"updated":"2019-05-16 21:28:53.000000000","message":"``port create`` can now accept extra DHCP options","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4a84abc3b771db1da3a2acfb65a7d7cb25cb7da6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    allow port create with --extra-dhcp-opttions. neutron create-port API"},{"line_number":5,"context_line":"    has extra_dhcp_opts parameter, this parameter can set port with special"},{"line_number":6,"context_line":"    extra dhcp options."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bfb3d3c7_9120fef9","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":57},"updated":"2019-05-16 21:28:53.000000000","message":"c/The neutron client","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4a84abc3b771db1da3a2acfb65a7d7cb25cb7da6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    allow port create with --extra-dhcp-opttions. neutron create-port API"},{"line_number":5,"context_line":"    has extra_dhcp_opts parameter, this parameter can set port with special"},{"line_number":6,"context_line":"    extra dhcp options."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bfb3d3c7_7118ead2","line":4,"range":{"start_line":4,"start_character":40,"end_line":4,"end_character":48},"updated":"2019-05-16 21:28:53.000000000","message":"s/options\n\nAnd it should be ``--extra-dhcp-options`` so it\u0027s highlighted in the release note.","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"26229b05320cb7a3c46032c3b05060d2ca773160","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    allow port create with --extra-dhcp-opttions. neutron create-port API"},{"line_number":5,"context_line":"    has extra_dhcp_opts parameter, this parameter can set port with special"},{"line_number":6,"context_line":"    extra dhcp options."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bfb3d3c7_c16ac4b1","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":57},"in_reply_to":"bfb3d3c7_9120fef9","updated":"2019-05-23 03:25:48.000000000","message":"thanks, i will update it.","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4a84abc3b771db1da3a2acfb65a7d7cb25cb7da6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    allow port create with --extra-dhcp-opttions. neutron create-port API"},{"line_number":5,"context_line":"    has extra_dhcp_opts parameter, this parameter can set port with special"},{"line_number":6,"context_line":"    extra dhcp options."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bfb3d3c7_7166aa54","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":7},"updated":"2019-05-16 21:28:53.000000000","message":"s/has an","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"26229b05320cb7a3c46032c3b05060d2ca773160","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    allow port create with --extra-dhcp-opttions. neutron create-port API"},{"line_number":5,"context_line":"    has extra_dhcp_opts parameter, this parameter can set port with special"},{"line_number":6,"context_line":"    extra dhcp options."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bfb3d3c7_0171bca9","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":7},"in_reply_to":"bfb3d3c7_7166aa54","updated":"2019-05-23 03:25:48.000000000","message":"you look too carefully. thanks, i will update it.","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4a84abc3b771db1da3a2acfb65a7d7cb25cb7da6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    allow port create with --extra-dhcp-opttions. neutron create-port API"},{"line_number":5,"context_line":"    has extra_dhcp_opts parameter, this parameter can set port with special"},{"line_number":6,"context_line":"    extra dhcp options."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bfb3d3c7_3187d2da","line":6,"range":{"start_line":5,"start_character":40,"end_line":6,"end_character":22},"updated":"2019-05-16 21:28:53.000000000","message":"s/change adds support for this to the openstack client.","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"26229b05320cb7a3c46032c3b05060d2ca773160","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    allow port create with --extra-dhcp-opttions. neutron create-port API"},{"line_number":5,"context_line":"    has extra_dhcp_opts parameter, this parameter can set port with special"},{"line_number":6,"context_line":"    extra dhcp options."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bfb3d3c7_21740099","line":6,"range":{"start_line":5,"start_character":40,"end_line":6,"end_character":22},"in_reply_to":"bfb3d3c7_3187d2da","updated":"2019-05-23 03:25:48.000000000","message":"thnaks, i will update it.","commit_id":"ec2fdea53f7c3a3aeec2e759d0a1656302bc0d18"}]}
