)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"81cbd7ef32b074cb67e16bad7b65a6a8ef6e24f5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is changing the log level when an error occur applying the"},{"line_number":10,"context_line":"DHCP options from INFO to ERROR. The INFO level is usually used when an"},{"line_number":11,"context_line":"operation suceed in this case it should be an ERROR (not even a WARNING)"},{"line_number":12,"context_line":"because without the DHCP options the node will not boot."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1628634"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa6399be_1ec0e67a","line":11,"range":{"start_line":11,"start_character":10,"end_line":11,"end_character":16},"updated":"2016-10-12 20:48:25.000000000","message":"nit: typo succeed","commit_id":"50c27691744f71c2ff76aded69ae6bf98c4da2ef"}],"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"b89299919b24b56a37dc634ccb0ff1e62ba2b30c","unresolved":false,"context_lines":[{"line_number":952,"context_line":"                            self._format_option(opt_ip_version, port.id,"},{"line_number":953,"context_line":"                                                opt.opt_name, opt.opt_value))"},{"line_number":954,"context_line":"                    else:"},{"line_number":955,"context_line":"                        LOG.error(_LE(\"Cannot apply dhcp option %(opt)s \""},{"line_number":956,"context_line":"                                      \"because it\u0027s ip_version %(version)d \""},{"line_number":957,"context_line":"                                      \"is not in port\u0027s address IP versions\"),"},{"line_number":958,"context_line":"                                  {\u0027opt\u0027: opt.opt_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfeb2761_f980ff8d","line":955,"updated":"2017-04-02 02:04:13.000000000","message":"But logged ERRORs are for operators. It seems to me like this scenario is not an error that the operator can do anything about. It\u0027s something the user did to him/herself by specifying bad DHCP options.","commit_id":"50c27691744f71c2ff76aded69ae6bf98c4da2ef"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"cef6ee5ac1d76c363f38fa282ea061923536b1d3","unresolved":false,"context_lines":[{"line_number":952,"context_line":"                            self._format_option(opt_ip_version, port.id,"},{"line_number":953,"context_line":"                                                opt.opt_name, opt.opt_value))"},{"line_number":954,"context_line":"                    else:"},{"line_number":955,"context_line":"                        LOG.error(_LE(\"Cannot apply dhcp option %(opt)s \""},{"line_number":956,"context_line":"                                      \"because it\u0027s ip_version %(version)d \""},{"line_number":957,"context_line":"                                      \"is not in port\u0027s address IP versions\"),"},{"line_number":958,"context_line":"                                  {\u0027opt\u0027: opt.opt_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_c7e8a27f","line":955,"updated":"2016-09-29 09:32:54.000000000","message":"Would it make more sense to log an error only if none of the extra_dhcp_opts are able to be applied? It seems that there could be scenarios where the port has extra_dhcp_opts for both ip versions, but only has fixed ips for one version. In which case there could still be at least one option applied even if this logging is triggered, right?","commit_id":"50c27691744f71c2ff76aded69ae6bf98c4da2ef"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"f8ca89000476424a5940b6afdeca556fd2d93409","unresolved":false,"context_lines":[{"line_number":952,"context_line":"                            self._format_option(opt_ip_version, port.id,"},{"line_number":953,"context_line":"                                                opt.opt_name, opt.opt_value))"},{"line_number":954,"context_line":"                    else:"},{"line_number":955,"context_line":"                        LOG.error(_LE(\"Cannot apply dhcp option %(opt)s \""},{"line_number":956,"context_line":"                                      \"because it\u0027s ip_version %(version)d \""},{"line_number":957,"context_line":"                                      \"is not in port\u0027s address IP versions\"),"},{"line_number":958,"context_line":"                                  {\u0027opt\u0027: opt.opt_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_04fcd870","line":955,"in_reply_to":"1a95cdbc_e97fc5dd","updated":"2016-10-07 14:28:09.000000000","message":"Hi John,\n\nThe only one I can think of is the one you\u0027ve described in the first comment. If the client tries to set options for both IP versions and one of them is disabled. That would partially work.\n\nBut still, I think we should have a more simplified view on this. If the client ask neutron to set a certain option in the DHCP server and it can not do it, that\u0027s an error. Or a warning at minimum because the request wasn\u0027t fulfilled.\n\nWhen I see an INFO message, I usually think of success. Here\u0027s more or less how I understand logging levels:\n\n\n* INFO for success.\n* ERROR for failures that only affects that operation.\n* WARNING for failures that will be automatic retried or fallback somehow.\n* CRITICAL for errors that compromise the whole service.\n* DEBUG for the rest.","commit_id":"50c27691744f71c2ff76aded69ae6bf98c4da2ef"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"b20c70158c180faf2122966f1090d69a68f348ef","unresolved":false,"context_lines":[{"line_number":952,"context_line":"                            self._format_option(opt_ip_version, port.id,"},{"line_number":953,"context_line":"                                                opt.opt_name, opt.opt_value))"},{"line_number":954,"context_line":"                    else:"},{"line_number":955,"context_line":"                        LOG.error(_LE(\"Cannot apply dhcp option %(opt)s \""},{"line_number":956,"context_line":"                                      \"because it\u0027s ip_version %(version)d \""},{"line_number":957,"context_line":"                                      \"is not in port\u0027s address IP versions\"),"},{"line_number":958,"context_line":"                                  {\u0027opt\u0027: opt.opt_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_e97fc5dd","line":955,"in_reply_to":"3a98d1f4_4a6e4402","updated":"2016-10-07 14:13:48.000000000","message":"I\u0027m not familiar enough with this mechanism to have a strong opinion, but I suppose it comes down to whether there are legitimate cases where this log would be triggered but everything still works fine? If there are, then an error doesn\u0027t seem appropriate. But if there aren\u0027t then error is probably the way to go. Does anybody know of any such cases?","commit_id":"50c27691744f71c2ff76aded69ae6bf98c4da2ef"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1039185efbc823b9621eb521225bc27f948a0681","unresolved":false,"context_lines":[{"line_number":952,"context_line":"                            self._format_option(opt_ip_version, port.id,"},{"line_number":953,"context_line":"                                                opt.opt_name, opt.opt_value))"},{"line_number":954,"context_line":"                    else:"},{"line_number":955,"context_line":"                        LOG.error(_LE(\"Cannot apply dhcp option %(opt)s \""},{"line_number":956,"context_line":"                                      \"because it\u0027s ip_version %(version)d \""},{"line_number":957,"context_line":"                                      \"is not in port\u0027s address IP versions\"),"},{"line_number":958,"context_line":"                                  {\u0027opt\u0027: opt.opt_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_4a6e4402","line":955,"in_reply_to":"3a98d1f4_c7e8a27f","updated":"2016-09-29 14:56:40.000000000","message":"It can be tricky tho, usually to boot a node we do need \u003e 1 option. For example, for PXE booting we need to set the at least the\"bootfile-name\" and \"tftp-server\" (additionally \"server-ip-address\") options. Without one of them the node will not boot.\n\nThe case of the client requests X options and only Y getting applied is a bit strange to me, the client should verify the IP version and update the DHCP server accordingly with it right? Otherwise we get that \"send and hope it works\" feeling, which is not great IMHO.\n\nWhat about logging it as a WARNING ? I don\u0027t think it\u0027s ideal, but definitely better than INFO.","commit_id":"50c27691744f71c2ff76aded69ae6bf98c4da2ef"},{"author":{"_account_id":23375,"name":"Stenio Araujo","email":"stenioaraujo@lsd.ufcg.edu.br","username":"stenioaraujo"},"change_message_id":"98665f34404bc05acd81cc9cbb2bbb2c645157b1","unresolved":false,"context_lines":[{"line_number":953,"context_line":"                                                opt.opt_name, opt.opt_value))"},{"line_number":954,"context_line":"                    else:"},{"line_number":955,"context_line":"                        LOG.error(_LE(\"Cannot apply dhcp option %(opt)s \""},{"line_number":956,"context_line":"                                      \"because it\u0027s ip_version %(version)d \""},{"line_number":957,"context_line":"                                      \"is not in port\u0027s address IP versions\"),"},{"line_number":958,"context_line":"                                  {\u0027opt\u0027: opt.opt_name,"},{"line_number":959,"context_line":"                                   \u0027version\u0027: opt_ip_version})"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_f6aab518","line":956,"range":{"start_line":956,"start_character":47,"end_line":956,"end_character":51},"updated":"2016-11-23 18:02:03.000000000","message":"nit: Did you mean \"its\"?","commit_id":"50c27691744f71c2ff76aded69ae6bf98c4da2ef"},{"author":{"_account_id":23375,"name":"Stenio Araujo","email":"stenioaraujo@lsd.ufcg.edu.br","username":"stenioaraujo"},"change_message_id":"98665f34404bc05acd81cc9cbb2bbb2c645157b1","unresolved":false,"context_lines":[{"line_number":954,"context_line":"                    else:"},{"line_number":955,"context_line":"                        LOG.error(_LE(\"Cannot apply dhcp option %(opt)s \""},{"line_number":956,"context_line":"                                      \"because it\u0027s ip_version %(version)d \""},{"line_number":957,"context_line":"                                      \"is not in port\u0027s address IP versions\"),"},{"line_number":958,"context_line":"                                  {\u0027opt\u0027: opt.opt_name,"},{"line_number":959,"context_line":"                                   \u0027version\u0027: opt_ip_version})"},{"line_number":960,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_71578f02","line":957,"range":{"start_line":957,"start_character":46,"end_line":957,"end_character":55},"updated":"2016-11-23 18:02:03.000000000","message":"nit: in the port\u0027s","commit_id":"50c27691744f71c2ff76aded69ae6bf98c4da2ef"}]}
