)]}'
{"specs/pike/approved/watcher-multi-datasource.rst":[{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"d22f0eb30c3ff63c0ab13e1c923f3f56b45f7c5c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As administrator, I want to run strategies to specific datasource backend."},{"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":4,"id":"1f1a1f67_4b588e54","line":28,"updated":"2017-07-19 09:22:08.000000000","message":"you mean a cloud admin can configure a datasource to be used with specific  strategy.","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"bc3ff8be86e8cc007baff4171ce71e64b7602577","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As administrator, I want to run strategies to specific datasource backend."},{"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":4,"id":"1f1a1f67_7d0cf03a","line":28,"in_reply_to":"1f1a1f67_4b588e54","updated":"2017-07-23 03:41:55.000000000","message":"It is not what I meant. Select the datasource is a runtime decision. Although the default datasource is configurable.","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b24e85ebd223705f9c20d978f151a2c51f650d14","unresolved":false,"context_lines":[{"line_number":41,"context_line":"   entry at default section of watcher configuration file:"},{"line_number":42,"context_line":"   [Default]"},{"line_number":43,"context_line":"   telemetry-drivers\u003dCeilometer,Gnocchi,Monasca"},{"line_number":44,"context_line":"   alarm-drivers\u003dAodh,Monasca"},{"line_number":45,"context_line":"   For a particular measurement or alarm, watcher will call the driver\u0027s APIs"},{"line_number":46,"context_line":"   in the order of the configuration. If a call fails because the driver is"},{"line_number":47,"context_line":"   not available or the measurement/alarm is not implemented in the driver."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f1a1f67_46d40de9","line":44,"range":{"start_line":44,"start_character":3,"end_line":44,"end_character":29},"updated":"2017-07-19 04:58:58.000000000","message":"We do not use alarm.","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"bc3ff8be86e8cc007baff4171ce71e64b7602577","unresolved":false,"context_lines":[{"line_number":41,"context_line":"   entry at default section of watcher configuration file:"},{"line_number":42,"context_line":"   [Default]"},{"line_number":43,"context_line":"   telemetry-drivers\u003dCeilometer,Gnocchi,Monasca"},{"line_number":44,"context_line":"   alarm-drivers\u003dAodh,Monasca"},{"line_number":45,"context_line":"   For a particular measurement or alarm, watcher will call the driver\u0027s APIs"},{"line_number":46,"context_line":"   in the order of the configuration. If a call fails because the driver is"},{"line_number":47,"context_line":"   not available or the measurement/alarm is not implemented in the driver."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f1a1f67_1d1bbc73","line":44,"range":{"start_line":44,"start_character":3,"end_line":44,"end_character":29},"in_reply_to":"1f1a1f67_46d40de9","updated":"2017-07-23 03:41:55.000000000","message":"Will remove.","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"d22f0eb30c3ff63c0ab13e1c923f3f56b45f7c5c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"   telemetry-drivers\u003dCeilometer,Gnocchi,Monasca"},{"line_number":44,"context_line":"   alarm-drivers\u003dAodh,Monasca"},{"line_number":45,"context_line":"   For a particular measurement or alarm, watcher will call the driver\u0027s APIs"},{"line_number":46,"context_line":"   in the order of the configuration. If a call fails because the driver is"},{"line_number":47,"context_line":"   not available or the measurement/alarm is not implemented in the driver."},{"line_number":48,"context_line":"   There are many side effects for running multiple drivers on the same"},{"line_number":49,"context_line":"   deployment such as performance degradation. It is recommend to use only"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f1a1f67_48406b08","line":46,"updated":"2017-07-19 09:22:08.000000000","message":"sentence incomplete","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"bc3ff8be86e8cc007baff4171ce71e64b7602577","unresolved":false,"context_lines":[{"line_number":43,"context_line":"   telemetry-drivers\u003dCeilometer,Gnocchi,Monasca"},{"line_number":44,"context_line":"   alarm-drivers\u003dAodh,Monasca"},{"line_number":45,"context_line":"   For a particular measurement or alarm, watcher will call the driver\u0027s APIs"},{"line_number":46,"context_line":"   in the order of the configuration. If a call fails because the driver is"},{"line_number":47,"context_line":"   not available or the measurement/alarm is not implemented in the driver."},{"line_number":48,"context_line":"   There are many side effects for running multiple drivers on the same"},{"line_number":49,"context_line":"   deployment such as performance degradation. It is recommend to use only"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff346bd7_2994138b","line":46,"in_reply_to":"1f1a1f67_48406b08","updated":"2017-07-23 03:41:55.000000000","message":"Done","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"d22f0eb30c3ff63c0ab13e1c923f3f56b45f7c5c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"   in the order of the configuration. If a call fails because the driver is"},{"line_number":47,"context_line":"   not available or the measurement/alarm is not implemented in the driver."},{"line_number":48,"context_line":"   There are many side effects for running multiple drivers on the same"},{"line_number":49,"context_line":"   deployment such as performance degradation. It is recommend to use only"},{"line_number":50,"context_line":"   one driver if performance is a concern."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"2. Each driver will have its section in the watch configuration file. Cloud"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f1a1f67_8bb46681","line":49,"range":{"start_line":49,"start_character":53,"end_line":49,"end_character":62},"updated":"2017-07-19 09:22:08.000000000","message":"s/recommend/recommended","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"bc3ff8be86e8cc007baff4171ce71e64b7602577","unresolved":false,"context_lines":[{"line_number":46,"context_line":"   in the order of the configuration. If a call fails because the driver is"},{"line_number":47,"context_line":"   not available or the measurement/alarm is not implemented in the driver."},{"line_number":48,"context_line":"   There are many side effects for running multiple drivers on the same"},{"line_number":49,"context_line":"   deployment such as performance degradation. It is recommend to use only"},{"line_number":50,"context_line":"   one driver if performance is a concern."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"2. Each driver will have its section in the watch configuration file. Cloud"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff346bd7_69821b52","line":49,"range":{"start_line":49,"start_character":53,"end_line":49,"end_character":62},"in_reply_to":"1f1a1f67_8bb46681","updated":"2017-07-23 03:41:55.000000000","message":"Done","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"d22f0eb30c3ff63c0ab13e1c923f3f56b45f7c5c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"   deployment such as performance degradation. It is recommend to use only"},{"line_number":50,"context_line":"   one driver if performance is a concern."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"2. Each driver will have its section in the watch configuration file. Cloud"},{"line_number":53,"context_line":"   administrator should follow the instructions of the driver to provide"},{"line_number":54,"context_line":"   proper configurations."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f1a1f67_8b7906c9","line":52,"range":{"start_line":52,"start_character":44,"end_line":52,"end_character":49},"updated":"2017-07-19 09:22:08.000000000","message":"s/watch/Watcher","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"bc3ff8be86e8cc007baff4171ce71e64b7602577","unresolved":false,"context_lines":[{"line_number":49,"context_line":"   deployment such as performance degradation. It is recommend to use only"},{"line_number":50,"context_line":"   one driver if performance is a concern."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"2. Each driver will have its section in the watch configuration file. Cloud"},{"line_number":53,"context_line":"   administrator should follow the instructions of the driver to provide"},{"line_number":54,"context_line":"   proper configurations."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff346bd7_e9b4cb37","line":52,"range":{"start_line":52,"start_character":44,"end_line":52,"end_character":49},"in_reply_to":"1f1a1f67_8b7906c9","updated":"2017-07-23 03:41:55.000000000","message":"Done","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b24e85ebd223705f9c20d978f151a2c51f650d14","unresolved":false,"context_lines":[{"line_number":63,"context_line":"3. get the data from a specified data source."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d Implementation hints \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":67,"context_line":"FILE datasource/driver.py:"},{"line_number":68,"context_line":"def statistic_aggregation(param,"},{"line_number":69,"context_line":"                         ds_driver):"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f1a1f67_8967d6e9","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":45},"updated":"2017-07-19 04:58:58.000000000","message":"Could you use literal block?\nhttps://docs.openstack.org/contributor-guide/rst-conv/source-code.html","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"bc3ff8be86e8cc007baff4171ce71e64b7602577","unresolved":false,"context_lines":[{"line_number":63,"context_line":"3. get the data from a specified data source."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d Implementation hints \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":67,"context_line":"FILE datasource/driver.py:"},{"line_number":68,"context_line":"def statistic_aggregation(param,"},{"line_number":69,"context_line":"                         ds_driver):"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff346bd7_c927c7b6","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":45},"in_reply_to":"1f1a1f67_8967d6e9","updated":"2017-07-23 03:41:55.000000000","message":"Done","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b24e85ebd223705f9c20d978f151a2c51f650d14","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d Implementation hints \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":67,"context_line":"FILE datasource/driver.py:"},{"line_number":68,"context_line":"def statistic_aggregation(param,"},{"line_number":69,"context_line":"                         ds_driver):"},{"line_number":70,"context_line":"    stats \u003d None"},{"line_number":71,"context_line":"    try:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f1a1f67_2950c20a","line":68,"range":{"start_line":68,"start_character":3,"end_line":68,"end_character":25},"updated":"2017-07-19 04:58:58.000000000","message":"Since we want to get several statistics such as cpu usage, memory usage etc, one statistic_aggregation interface is not enough.\nFor example, we will implement get_cpu_usage(self, resource) interface for getting cpu usage,\nget_memory_usage(self, resoure) interface for getting memory usage.\nThis is actually original blueprint option 2.","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"bc3ff8be86e8cc007baff4171ce71e64b7602577","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d Implementation hints \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":67,"context_line":"FILE datasource/driver.py:"},{"line_number":68,"context_line":"def statistic_aggregation(param,"},{"line_number":69,"context_line":"                         ds_driver):"},{"line_number":70,"context_line":"    stats \u003d None"},{"line_number":71,"context_line":"    try:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff346bd7_094a6f54","line":68,"range":{"start_line":68,"start_character":3,"end_line":68,"end_character":25},"in_reply_to":"1f1a1f67_2950c20a","updated":"2017-07-23 03:41:55.000000000","message":"statistic_aggregation() is used as an example. I prefer not to list all the future APIs in this document. It is really implementation details.","commit_id":"27407f3b8a73d4b270e8b2e8fbad81a8f0c72f15"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"6bddbc286494ee1fa1f498d72f35e95d2f659ad4","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Today, Watcher supports Telemetry, Monasca and gnocchi to collect metrics from"},{"line_number":19,"context_line":"the cluster. There is a helper class for each respective datasource type"},{"line_number":20,"context_line":"implements query and provides the results.  We need to create datasource"},{"line_number":21,"context_line":"abstract class which will be defining methods for all the metric capability"},{"line_number":22,"context_line":"methods. These methods has to be implemented by respective datasource helper"},{"line_number":23,"context_line":"class."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_8df82449","line":20,"range":{"start_line":20,"start_character":41,"end_line":20,"end_character":44},"updated":"2017-07-27 03:52:36.000000000","message":"one space","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"4841bfcd977a9f1186c8c14bce9185b4b4ff8eda","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Today, Watcher supports Telemetry, Monasca and gnocchi to collect metrics from"},{"line_number":19,"context_line":"the cluster. There is a helper class for each respective datasource type"},{"line_number":20,"context_line":"implements query and provides the results.  We need to create datasource"},{"line_number":21,"context_line":"abstract class which will be defining methods for all the metric capability"},{"line_number":22,"context_line":"methods. These methods has to be implemented by respective datasource helper"},{"line_number":23,"context_line":"class."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_25090f95","line":20,"range":{"start_line":20,"start_character":41,"end_line":20,"end_character":44},"in_reply_to":"ff346bd7_8df82449","updated":"2017-07-28 16:04:41.000000000","message":"Done","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"6bddbc286494ee1fa1f498d72f35e95d2f659ad4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Today, Watcher supports Telemetry, Monasca and gnocchi to collect metrics from"},{"line_number":19,"context_line":"the cluster. There is a helper class for each respective datasource type"},{"line_number":20,"context_line":"implements query and provides the results.  We need to create datasource"},{"line_number":21,"context_line":"abstract class which will be defining methods for all the metric capability"},{"line_number":22,"context_line":"methods. These methods has to be implemented by respective datasource helper"},{"line_number":23,"context_line":"class."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_2d3938f1","line":21,"range":{"start_line":21,"start_character":26,"end_line":21,"end_character":37},"updated":"2017-07-27 03:52:36.000000000","message":"s/be defining/define","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"6bddbc286494ee1fa1f498d72f35e95d2f659ad4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Today, Watcher supports Telemetry, Monasca and gnocchi to collect metrics from"},{"line_number":19,"context_line":"the cluster. There is a helper class for each respective datasource type"},{"line_number":20,"context_line":"implements query and provides the results.  We need to create datasource"},{"line_number":21,"context_line":"abstract class which will be defining methods for all the metric capability"},{"line_number":22,"context_line":"methods. These methods has to be implemented by respective datasource helper"},{"line_number":23,"context_line":"class."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_6d65001e","line":21,"range":{"start_line":21,"start_character":58,"end_line":21,"end_character":64},"updated":"2017-07-27 03:52:36.000000000","message":"s/metric/metrics","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"4841bfcd977a9f1186c8c14bce9185b4b4ff8eda","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Today, Watcher supports Telemetry, Monasca and gnocchi to collect metrics from"},{"line_number":19,"context_line":"the cluster. There is a helper class for each respective datasource type"},{"line_number":20,"context_line":"implements query and provides the results.  We need to create datasource"},{"line_number":21,"context_line":"abstract class which will be defining methods for all the metric capability"},{"line_number":22,"context_line":"methods. These methods has to be implemented by respective datasource helper"},{"line_number":23,"context_line":"class."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_050ccba2","line":21,"range":{"start_line":21,"start_character":58,"end_line":21,"end_character":64},"in_reply_to":"ff346bd7_6d65001e","updated":"2017-07-28 16:04:41.000000000","message":"Done","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"6bddbc286494ee1fa1f498d72f35e95d2f659ad4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"the cluster. There is a helper class for each respective datasource type"},{"line_number":20,"context_line":"implements query and provides the results.  We need to create datasource"},{"line_number":21,"context_line":"abstract class which will be defining methods for all the metric capability"},{"line_number":22,"context_line":"methods. These methods has to be implemented by respective datasource helper"},{"line_number":23,"context_line":"class."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_2d6b78f1","line":22,"range":{"start_line":22,"start_character":23,"end_line":22,"end_character":26},"updated":"2017-07-27 03:52:36.000000000","message":"s/has/have","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"4841bfcd977a9f1186c8c14bce9185b4b4ff8eda","unresolved":false,"context_lines":[{"line_number":19,"context_line":"the cluster. There is a helper class for each respective datasource type"},{"line_number":20,"context_line":"implements query and provides the results.  We need to create datasource"},{"line_number":21,"context_line":"abstract class which will be defining methods for all the metric capability"},{"line_number":22,"context_line":"methods. These methods has to be implemented by respective datasource helper"},{"line_number":23,"context_line":"class."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_e5fe6769","line":22,"range":{"start_line":22,"start_character":23,"end_line":22,"end_character":26},"in_reply_to":"ff346bd7_2d6b78f1","updated":"2017-07-28 16:04:41.000000000","message":"Done","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"6bddbc286494ee1fa1f498d72f35e95d2f659ad4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"   default driver. This is defined in the telemetry-drivers  entry at default"},{"line_number":41,"context_line":"   section of watcher configuration file:"},{"line_number":42,"context_line":"   [Default]"},{"line_number":43,"context_line":"   telemetry-drivers\u003dCeilometer,Gnocchi,Monasca"},{"line_number":44,"context_line":"   For a particular measurement, watcher will call the driver\u0027s APIs"},{"line_number":45,"context_line":"   in the order of the configuration. If a call fails because the driver is"},{"line_number":46,"context_line":"   not available or the measurement is not implemented in the driver, the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_30f18f02","line":43,"range":{"start_line":43,"start_character":3,"end_line":43,"end_character":20},"updated":"2017-07-27 03:52:36.000000000","message":"Could we use metrics_driver? Telemetry refers to ceilometer in openstack.","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"4841bfcd977a9f1186c8c14bce9185b4b4ff8eda","unresolved":false,"context_lines":[{"line_number":40,"context_line":"   default driver. This is defined in the telemetry-drivers  entry at default"},{"line_number":41,"context_line":"   section of watcher configuration file:"},{"line_number":42,"context_line":"   [Default]"},{"line_number":43,"context_line":"   telemetry-drivers\u003dCeilometer,Gnocchi,Monasca"},{"line_number":44,"context_line":"   For a particular measurement, watcher will call the driver\u0027s APIs"},{"line_number":45,"context_line":"   in the order of the configuration. If a call fails because the driver is"},{"line_number":46,"context_line":"   not available or the measurement is not implemented in the driver, the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_e5a307ff","line":43,"range":{"start_line":43,"start_character":3,"end_line":43,"end_character":20},"in_reply_to":"ff346bd7_30f18f02","updated":"2017-07-28 16:04:41.000000000","message":"OpenStack Telemetry actually includes many components. Let me keep it for now, but I am open to change it if it is a concern for other people also.\nhttps://wiki.openstack.org/wiki/Telemetry","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"6bddbc286494ee1fa1f498d72f35e95d2f659ad4","unresolved":false,"context_lines":[{"line_number":53,"context_line":"   administrator should follow the instructions of the driver to provide"},{"line_number":54,"context_line":"   proper configurations."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"A datasource abstraction layer will be implemented to hide the details"},{"line_number":57,"context_line":"of the driver implementation from the developers using the drivers."},{"line_number":58,"context_line":"A datasource registry class will be implemented to keep the list of data"},{"line_number":59,"context_line":"source drivers."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_303f4f88","line":56,"range":{"start_line":56,"start_character":13,"end_line":56,"end_character":24},"updated":"2017-07-27 03:52:36.000000000","message":"s/abstraction/abstract","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"4841bfcd977a9f1186c8c14bce9185b4b4ff8eda","unresolved":false,"context_lines":[{"line_number":53,"context_line":"   administrator should follow the instructions of the driver to provide"},{"line_number":54,"context_line":"   proper configurations."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"A datasource abstraction layer will be implemented to hide the details"},{"line_number":57,"context_line":"of the driver implementation from the developers using the drivers."},{"line_number":58,"context_line":"A datasource registry class will be implemented to keep the list of data"},{"line_number":59,"context_line":"source drivers."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_e581c7c4","line":56,"range":{"start_line":56,"start_character":13,"end_line":56,"end_character":24},"in_reply_to":"ff346bd7_303f4f88","updated":"2017-07-28 16:04:41.000000000","message":"Done","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"6bddbc286494ee1fa1f498d72f35e95d2f659ad4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"of the driver implementation from the developers using the drivers."},{"line_number":58,"context_line":"A datasource registry class will be implemented to keep the list of data"},{"line_number":59,"context_line":"source drivers."},{"line_number":60,"context_line":"There are three ways to call a data source function:"},{"line_number":61,"context_line":"1. use the default data source driver (preferred);"},{"line_number":62,"context_line":"2. iterate through the data source registries until get valid data;"},{"line_number":63,"context_line":"3. get the data from a specified data source."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Implementation hints"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_501bf3ce","line":63,"range":{"start_line":60,"start_character":0,"end_line":63,"end_character":45},"updated":"2017-07-27 03:52:36.000000000","message":"As said in Alternatives, it is enough to provide the preferred funtion. The others should be deprecated.","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"4841bfcd977a9f1186c8c14bce9185b4b4ff8eda","unresolved":false,"context_lines":[{"line_number":57,"context_line":"of the driver implementation from the developers using the drivers."},{"line_number":58,"context_line":"A datasource registry class will be implemented to keep the list of data"},{"line_number":59,"context_line":"source drivers."},{"line_number":60,"context_line":"There are three ways to call a data source function:"},{"line_number":61,"context_line":"1. use the default data source driver (preferred);"},{"line_number":62,"context_line":"2. iterate through the data source registries until get valid data;"},{"line_number":63,"context_line":"3. get the data from a specified data source."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Implementation hints"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff346bd7_65d95720","line":63,"range":{"start_line":60,"start_character":0,"end_line":63,"end_character":45},"in_reply_to":"ff346bd7_501bf3ce","updated":"2017-07-28 16:04:41.000000000","message":"The design is trying to satisfy all these three scenarios. As far as I understand, this is the requirements described in BP. I personally prefer to support option 1 only.","commit_id":"7c9451af4da812671260be2eb3c8ceba808bf86e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"1b7ffd4212596b37ec109d85de820fd0ca0f9b96","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Support multi datasource in watcher"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/watcher/+spec/watcher-multi-datasource"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_49d085ca","line":11,"updated":"2017-08-08 07:22:32.000000000","message":"remove this line it is just for reference","commit_id":"56961f24a2a448cd54c65775191b0bee0f3dde61"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"1b7ffd4212596b37ec109d85de820fd0ca0f9b96","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As administrator, I want to run strategies to specific datasource backend."},{"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":7,"id":"9f436f4f_0976fdd9","line":28,"updated":"2017-08-08 07:22:32.000000000","message":"add reference to strategy","commit_id":"56961f24a2a448cd54c65775191b0bee0f3dde61"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"230c3684650b16fe0e22bcfffb27c211f4aff6e7","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As administrator, I want to run strategies to specific datasource backend."},{"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":7,"id":"9f436f4f_9699d820","line":28,"in_reply_to":"9f436f4f_0976fdd9","updated":"2017-08-08 17:28:55.000000000","message":"Aditi, Can you please clarify a bit more about what you expected here? Thanks.","commit_id":"56961f24a2a448cd54c65775191b0bee0f3dde61"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"93e7745e552407032d31ff2f87baff68eaeaa47b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As administrator, I want to run strategies to specific datasource backend."},{"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":7,"id":"9f436f4f_7e0d143d","line":28,"in_reply_to":"9f436f4f_9699d820","updated":"2017-08-09 10:31:00.000000000","message":"Bin zhou, you can add reference to strategy defination here\nhttps://docs.openstack.org/watcher/latest/glossary.html#strategy-definition\nlike added in this spec\nhttps://review.openstack.org/#/c/420612/2/specs/pike/approved/action-versioned-notifications-api.rst","commit_id":"56961f24a2a448cd54c65775191b0bee0f3dde61"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"1b7ffd4212596b37ec109d85de820fd0ca0f9b96","unresolved":false,"context_lines":[{"line_number":46,"context_line":"   not available or the measurement is not implemented in the driver, the"},{"line_number":47,"context_line":"   next driver in the preference order will be selected. There are many side"},{"line_number":48,"context_line":"   effects for running multiple drivers on the same deployment such as"},{"line_number":49,"context_line":"   performance degradation. It is recommended to use only one driver if"},{"line_number":50,"context_line":"   performance is a concern."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"2. Each driver will have its section in the watcher configuration file. Cloud"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_09039d44","line":49,"updated":"2017-08-08 07:22:32.000000000","message":"mention this on performance section below","commit_id":"56961f24a2a448cd54c65775191b0bee0f3dde61"}]}
