)]}'
{"specs/approved/drivers-configuration-warnings.rst":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"32e17d0ab89cf918639fb80fb504f9854bff8f30","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Add a new key \"warning\" to the dictionary that"},{"line_number":51,"context_line":"  ``validate_driver_interfaces()`` conductor\u0027s method returns."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Modify ``BaseInterface.__new__()`` method, add changes for logging all"},{"line_number":54,"context_line":"  warnings from drivers ``validate()`` methods. Also add an attribute to"},{"line_number":55,"context_line":"  interface instance with dict that will use node UUID as a key and warning"},{"line_number":56,"context_line":"  message crc32 sum and time of validation in value. This dict will be used for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_38ced8b4","line":53,"updated":"2016-02-11 15:54:15.000000000","message":"IIUC you want to replace the validate method with simple wrapper that will be logging validate output in the __new__ method if the message was not logged recently. Please clarify this a bit more here.","commit_id":"622eb935270e7ddb03326dfa9e18463ece9b092d"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e143c65e936d5022e5abeb005ecb88426bc6daec","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Add a new key \"warning\" to the dictionary that"},{"line_number":51,"context_line":"  ``validate_driver_interfaces()`` conductor\u0027s method returns."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Modify ``BaseInterface.__new__()`` method, add changes for logging all"},{"line_number":54,"context_line":"  warnings from drivers ``validate()`` methods. Also add an attribute to"},{"line_number":55,"context_line":"  interface instance with dict that will use node UUID as a key and warning"},{"line_number":56,"context_line":"  message crc32 sum and time of validation in value. This dict will be used for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_7303110e","line":53,"in_reply_to":"3a57f1b5_38ced8b4","updated":"2016-02-11 15:58:15.000000000","message":"First sentence should be:\n\nIIUC in the __new__ method you want to replace the validate method with simple wrapper, that will be logging validate output if the message was not logged recently.","commit_id":"622eb935270e7ddb03326dfa9e18463ece9b092d"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"390dc5a580a80fc3159b02f07a3898cc6f720e25","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Add a new key \"warning\" to the dictionary that"},{"line_number":51,"context_line":"  ``validate_driver_interfaces()`` conductor\u0027s method returns."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Modify ``BaseInterface.__new__()`` method, add changes for logging all"},{"line_number":54,"context_line":"  warnings from drivers ``validate()`` methods. Also add an attribute to"},{"line_number":55,"context_line":"  interface instance with dict that will use node UUID as a key and warning"},{"line_number":56,"context_line":"  message crc32 sum and time of validation in value. This dict will be used for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_35b47333","line":53,"in_reply_to":"3a57f1b5_7303110e","updated":"2016-02-12 11:30:43.000000000","message":"Done","commit_id":"622eb935270e7ddb03326dfa9e18463ece9b092d"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"32e17d0ab89cf918639fb80fb504f9854bff8f30","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Client (CLI) impact"},{"line_number":79,"context_line":"-------------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"None."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"RPC API impact"},{"line_number":84,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_fd64b2e5","line":81,"updated":"2016-02-11 15:54:15.000000000","message":"Does it make sense to make changes to client to display these warnings as an output of validate method?","commit_id":"622eb935270e7ddb03326dfa9e18463ece9b092d"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"390dc5a580a80fc3159b02f07a3898cc6f720e25","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Client (CLI) impact"},{"line_number":79,"context_line":"-------------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"None."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"RPC API impact"},{"line_number":84,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_d5839f54","line":81,"in_reply_to":"3a57f1b5_fd64b2e5","updated":"2016-02-12 11:30:43.000000000","message":"Done","commit_id":"622eb935270e7ddb03326dfa9e18463ece9b092d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c4396eb8c9d2e12cc361484605c35a321e8e6969","unresolved":false,"context_lines":[{"line_number":73,"context_line":"REST API impact"},{"line_number":74,"context_line":"---------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Client (CLI) impact"},{"line_number":79,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_48654eb3","line":76,"updated":"2016-03-17 14:37:22.000000000","message":"There will be API impact: a new field will be returned from the validate API, right? Please describe it.","commit_id":"6930a374246d089211426c1bef88514a08eafe82"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"3acff90dd0db7dfc004b4425be859f53dc9b118d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"REST API impact"},{"line_number":74,"context_line":"---------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Client (CLI) impact"},{"line_number":79,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_99cfa628","line":76,"in_reply_to":"1af94dfe_48654eb3","updated":"2016-03-17 15:33:09.000000000","message":"Done","commit_id":"6930a374246d089211426c1bef88514a08eafe82"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c4396eb8c9d2e12cc361484605c35a321e8e6969","unresolved":false,"context_lines":[{"line_number":119,"context_line":"---------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"A new config option ``min_driver_warning_time`` will be added. Setting of this"},{"line_number":122,"context_line":"option to 0 will disable drivers configuration warnings."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Developer impact"},{"line_number":125,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_a85692cb","line":122,"updated":"2016-03-17 14:37:22.000000000","message":"I don\u0027t think we should allow disabling warnings. this makes no sense.","commit_id":"6930a374246d089211426c1bef88514a08eafe82"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d52179a0f85346b0502485d5659a96315e3e6d2a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"---------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"A new config option ``min_driver_warning_time`` will be added. Setting of this"},{"line_number":122,"context_line":"option to 0 will disable drivers configuration warnings."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Developer impact"},{"line_number":125,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_3d80fd8a","line":122,"in_reply_to":"1af94dfe_1de38134","updated":"2016-03-17 15:37:24.000000000","message":"Oh, please no. Logging is not meant to be easily disabled, at least not warnings.","commit_id":"6930a374246d089211426c1bef88514a08eafe82"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"f63f882b4669170c48655a6304eadc5acbf487b4","unresolved":false,"context_lines":[{"line_number":119,"context_line":"---------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"A new config option ``min_driver_warning_time`` will be added. Setting of this"},{"line_number":122,"context_line":"option to 0 will disable drivers configuration warnings."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Developer impact"},{"line_number":125,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_600bfe8e","line":122,"in_reply_to":"1af94dfe_3d80fd8a","updated":"2016-03-17 15:47:06.000000000","message":"Done","commit_id":"6930a374246d089211426c1bef88514a08eafe82"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"3acff90dd0db7dfc004b4425be859f53dc9b118d","unresolved":false,"context_lines":[{"line_number":119,"context_line":"---------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"A new config option ``min_driver_warning_time`` will be added. Setting of this"},{"line_number":122,"context_line":"option to 0 will disable drivers configuration warnings."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Developer impact"},{"line_number":125,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_1de38134","line":122,"in_reply_to":"1af94dfe_a85692cb","updated":"2016-03-17 15:33:09.000000000","message":"I mean only logging here. IMO user might want to disable this logging.","commit_id":"6930a374246d089211426c1bef88514a08eafe82"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"67e70dd762cf59913194f38e917cb5883e599631","unresolved":false,"context_lines":[{"line_number":20,"context_line":"driver, but some problems exist with fixes like this (other possible cases"},{"line_number":21,"context_line":"are info about deprecated parameters, security warnings):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"* User can not see warnings in validate driver interfaces API method results."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Ironic can do these loggings too often if periodic task requires interface"},{"line_number":26,"context_line":"  validation."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a061dce_06dc3b11","line":23,"range":{"start_line":23,"start_character":2,"end_line":23,"end_character":27},"updated":"2016-04-04 22:28:19.000000000","message":"I can see some operators not wanting these warning shown to users. may be we can get some operator input on this.","commit_id":"60e9dfd780c04fb0e7202c0a8ff3aedb0aaca579"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d3513bffc890463aacbf267e44c3f9df2fc1da87","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* Ironic can do these loggings too often if periodic task requires interface"},{"line_number":26,"context_line":"  validation."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Experienced user can not disable these loggings."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a061dce_e12f839f","line":28,"updated":"2016-04-04 16:19:43.000000000","message":"as I mentioned on one of previous patch sets, we should not really disable warnings..","commit_id":"60e9dfd780c04fb0e7202c0a8ff3aedb0aaca579"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"67e70dd762cf59913194f38e917cb5883e599631","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* Ironic can do these loggings too often if periodic task requires interface"},{"line_number":26,"context_line":"  validation."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Experienced user can not disable these loggings."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a061dce_26bfbfd1","line":28,"in_reply_to":"9a061dce_e12f839f","updated":"2016-04-04 22:28:19.000000000","message":"I agree with Dmitry here. The referenced patch is about logging when there is no user name and / or password. I think it is good to continually log this as it points to poor configuration choices.","commit_id":"60e9dfd780c04fb0e7202c0a8ff3aedb0aaca579"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d3513bffc890463aacbf267e44c3f9df2fc1da87","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  methods with simple wrapper, that will be logging validate output if the"},{"line_number":55,"context_line":"  message was not logged recently. Add an attribute to interface instance with"},{"line_number":56,"context_line":"  dict that will use node UUID as a key and warning message crc32 sum and time"},{"line_number":57,"context_line":"  of validation in value. This dict will be used in the wrapper."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"},{"line_number":60,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a061dce_c12cffad","line":57,"updated":"2016-04-04 16:19:43.000000000","message":"Any reason not to do it in ConductorManager.validate_driver_interfaces? I\u0027d prefer to avoid messing with __new__ and wrappers...\n\nthinking a bit more about it, I don\u0027t think we should do it at all. Every time we should decide who we\u0027re targetting with a warning. If it\u0027s a user, we can log a warning with DEBUG level, but should it in this new API field. If it\u0027s a deployer, we should log it as a WARNING, but it\u0027s not required to show it to a user. It all depends on who we think can fix the warning.","commit_id":"60e9dfd780c04fb0e7202c0a8ff3aedb0aaca579"}]}
