)]}'
{"specs/kilo/self-disabled-pollster.rst":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"cf484b91eb4dd37a5336580bfb9e7c7a187ba26a","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Currently pollsters are used in following way."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"1. define via setup.cfg "},{"line_number":23,"context_line":"2. load each pollster in initialization"},{"line_number":24,"context_line":"3. pollster\u0027s get_samples get called in periodic way to collect metrics"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a8c0949_7cff1002","line":22,"updated":"2014-10-30 18:34:31.000000000","message":"no trailing space","commit_id":"d752b482de2b2ced51fd1cbe486ac85187c6c0c7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"cf484b91eb4dd37a5336580bfb9e7c7a187ba26a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"2. One pollster gets loaded and runs well, then some polling resource becomes"},{"line_number":35,"context_line":"   unavailable, so the pollster fails to produce samples and probably throws"},{"line_number":36,"context_line":"   exceptions with performance drop. We need detect such changes, then remove"},{"line_number":37,"context_line":"   this resource from polling."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a8c0949_991dae76","line":37,"updated":"2014-10-30 18:34:31.000000000","message":"As Chris Dent said,can it recover itself again?","commit_id":"d752b482de2b2ced51fd1cbe486ac85187c6c0c7"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"090cea85687014f74d449ce7d7f06c07be78acf5","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"For case 1, need provide a function in pollster constructor, to raise specific"},{"line_number":47,"context_line":"exception if required hardware is missing. When loading extensions, add"},{"line_number":48,"context_line":"on_load_failure_callback, which checks and supresses the exception to avoid"},{"line_number":49,"context_line":"loading this extension. Probably need one configuration list to indicate which"},{"line_number":50,"context_line":"pollster can be skipped."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_9bea40d6","line":48,"updated":"2014-11-25 18:18:29.000000000","message":"Can you please elaborate on how are you going to handle the case that the hw is not missing but temporarily unacessible? If the extension is not loaded you will never be able to recorver ...\nAlso, what about the more dynamic database driven source configuration? In this case you want to activate/deactivate pollsters based on the changes that you introduce at run time in the database.","commit_id":"e1014730ad15d8c0cfff041693d69f330a61778d"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"961ec1074c8b90982667bb367e6170bd0b70ebe3","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"For case 1, need provide a function in pollster constructor, to raise specific"},{"line_number":47,"context_line":"exception if required hardware is missing. When loading extensions, add"},{"line_number":48,"context_line":"on_load_failure_callback, which checks and supresses the exception to avoid"},{"line_number":49,"context_line":"loading this extension. Probably need one configuration list to indicate which"},{"line_number":50,"context_line":"pollster can be skipped."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_274cbdc7","line":48,"in_reply_to":"5a890539_9bea40d6","updated":"2014-11-26 07:52:35.000000000","message":"If the hw is temporarily inaccessible in deployment, end user should re-deploy it again when hw become available. It\u0027s trade off comparing with huge exception in run time.\n\nDatabase driven configuration is probably overkill here. We just want to handle several specific extension.","commit_id":"e1014730ad15d8c0cfff041693d69f330a61778d"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"b7b0ea91749d2326f2dcc74c8ddb7f94503e0648","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* If pollster P failed with resource R for continuous C times:"},{"line_number":55,"context_line":"* P should skip R for polling for the next I iterations."},{"line_number":56,"context_line":"* C and I should be configurable and no different behavior with default value."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"To achieve this, we need modify current pollsters to report which resource it"},{"line_number":59,"context_line":"failed during polling time, and have PollingTask to catch that failure to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_aaa84ddc","line":56,"updated":"2014-11-27 07:41:24.000000000","message":"During the paris summit, we decided that in runtime, we should let the pollster to throw 2 different kind of exceptions:\n- transient failure: treat like the existing ones\n- permanent failure: not poll that specific resource with this pollster any more.","commit_id":"e1014730ad15d8c0cfff041693d69f330a61778d"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"090cea85687014f74d449ce7d7f06c07be78acf5","unresolved":false,"context_lines":[{"line_number":65,"context_line":"------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"For case 2, let the pollster itself decide what to do in failure case,"},{"line_number":68,"context_line":"whether to continue polling in the next iteration or skip polling. "},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Data model impact"},{"line_number":71,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_bbbc5cdd","line":68,"updated":"2014-11-25 18:18:29.000000000","message":"Extra space .. nit...","commit_id":"e1014730ad15d8c0cfff041693d69f330a61778d"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"961ec1074c8b90982667bb367e6170bd0b70ebe3","unresolved":false,"context_lines":[{"line_number":65,"context_line":"------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"For case 2, let the pollster itself decide what to do in failure case,"},{"line_number":68,"context_line":"whether to continue polling in the next iteration or skip polling. "},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Data model impact"},{"line_number":71,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_67c96525","line":68,"in_reply_to":"5a890539_bbbc5cdd","updated":"2014-11-26 07:52:35.000000000","message":"Thanks. Will change it.","commit_id":"e1014730ad15d8c0cfff041693d69f330a61778d"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"af9ec6e0b54b34e7f95c443851f49d1a945b9d69","unresolved":false,"context_lines":[{"line_number":27,"context_line":"following cases:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"1. One pollster depends on specific environment, e.g compute node pollsters"},{"line_number":30,"context_line":"   need right hypervisor inspector, ipmi pollsters need ipmitool installed."},{"line_number":31,"context_line":"   Loading pollster unconditionally produces extra exceptions or dummy samples"},{"line_number":32,"context_line":"   with minor performance drop. The perfect solution is that do not load the"},{"line_number":33,"context_line":"   pollster if no required environment."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_c1c37737","line":30,"updated":"2014-12-01 17:10:36.000000000","message":"This is definitely a deployment error and should be addressed by monitoring the infrastructure to understand if the necessary bit and pieces are installed in the boxes.","commit_id":"49694fd9fe8a99b5124287efcd38fbca2150428f"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"895c540bfb5cb92a65203d26c95fb7159eb1ce19","unresolved":false,"context_lines":[{"line_number":27,"context_line":"following cases:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"1. One pollster depends on specific environment, e.g compute node pollsters"},{"line_number":30,"context_line":"   need right hypervisor inspector, ipmi pollsters need ipmitool installed."},{"line_number":31,"context_line":"   Loading pollster unconditionally produces extra exceptions or dummy samples"},{"line_number":32,"context_line":"   with minor performance drop. The perfect solution is that do not load the"},{"line_number":33,"context_line":"   pollster if no required environment."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_2def921f","line":30,"in_reply_to":"5a890539_c1c37737","updated":"2014-12-03 01:56:54.000000000","message":"These examples are probably not accurate. But it\u0027s possible that deployment runs well, but something wrong when load pollster. e.g. IPMI HW issue. Furthermore, this method still works when configuration changes dynamically. I\u0027ll change the BP for clarification.","commit_id":"49694fd9fe8a99b5124287efcd38fbca2150428f"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"af9ec6e0b54b34e7f95c443851f49d1a945b9d69","unresolved":false,"context_lines":[{"line_number":34,"context_line":"2. One pollster gets loaded and runs well, then some polling resource becomes"},{"line_number":35,"context_line":"   unavailable, so the pollster fails to produce samples and probably throws"},{"line_number":36,"context_line":"   exceptions with performance drop. We need detect such changes, then remove"},{"line_number":37,"context_line":"   this resource from polling."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_e11eb3ba","line":37,"updated":"2014-12-01 17:10:36.000000000","message":"I kind of disagree with concealing exceptions because this reduces the ability of identifying issues and act on it. If a resource becomes unavailable ops should know and be able to re-start it rather than ignoring it .. my 2c.","commit_id":"49694fd9fe8a99b5124287efcd38fbca2150428f"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"895c540bfb5cb92a65203d26c95fb7159eb1ce19","unresolved":false,"context_lines":[{"line_number":34,"context_line":"2. One pollster gets loaded and runs well, then some polling resource becomes"},{"line_number":35,"context_line":"   unavailable, so the pollster fails to produce samples and probably throws"},{"line_number":36,"context_line":"   exceptions with performance drop. We need detect such changes, then remove"},{"line_number":37,"context_line":"   this resource from polling."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_6dcc3abc","line":37,"in_reply_to":"5a890539_e11eb3ba","updated":"2014-12-03 01:56:54.000000000","message":"This is trade off. Good notification VS. good performance. I\u0027ll add warnings when concealing these exception, so ops can be aware of it.","commit_id":"49694fd9fe8a99b5124287efcd38fbca2150428f"}]}
