)]}'
{"specs/queens/approved/watcher-multi-datasource.rst":[{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"   .. code-block:: python"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"      class DatasourceBase(object):"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"          METRIC_MAP\u003d{}"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_9d7c69ec","line":41,"range":{"start_line":41,"start_character":12,"end_line":41,"end_character":26},"updated":"2017-10-04 05:14:36.000000000","message":"We have to implement abstract methods of DatasourceBase class in ceilometer, monasca and gnocchi classes.","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"   .. code-block:: python"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"      class DatasourceBase(object):"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"          METRIC_MAP\u003d{}"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_ae600937","line":41,"range":{"start_line":41,"start_character":12,"end_line":41,"end_character":26},"in_reply_to":"7f515b1d_9d7c69ec","updated":"2017-10-04 07:55:12.000000000","message":"Done","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"      class DatasourceBase(object):"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"          METRIC_MAP\u003d{}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"          @abc.abstractmethod"},{"line_number":46,"context_line":"          def get_host_cpu_usage(self, resource_id, period, aggregate,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_fdf11d97","line":43,"range":{"start_line":43,"start_character":21,"end_line":43,"end_character":23},"updated":"2017-10-04 05:14:36.000000000","message":"This map contains metric map which maps strategy metric requirements to data source metric name.","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"      class DatasourceBase(object):"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"          METRIC_MAP\u003d{}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"          @abc.abstractmethod"},{"line_number":46,"context_line":"          def get_host_cpu_usage(self, resource_id, period, aggregate,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_6e5a1184","line":43,"range":{"start_line":43,"start_character":21,"end_line":43,"end_character":23},"in_reply_to":"7f515b1d_fdf11d97","updated":"2017-10-04 07:55:12.000000000","message":"yes","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":70,"context_line":"       datasource_backend on the basis or priority set in conf file and"},{"line_number":71,"context_line":"       availablity of the metric in choosen datasource."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    option \u0027b\u0027 has overhead of choosing datasource each time the request"},{"line_number":74,"context_line":"    arrives, but has advantage that if a metric is not available in one"},{"line_number":75,"context_line":"    datasource it can check for other. with current watcher strateg"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_1dc75948","line":73,"range":{"start_line":73,"start_character":11,"end_line":73,"end_character":14},"updated":"2017-10-04 05:14:36.000000000","message":"published as \"2\".\nhttp://logs.openstack.org/84/508384/1/check/build-openstack-sphinx-docs/e4d8641/html/latest/specs/queens/approved/watcher-multi-datasource.html","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"       datasource_backend on the basis or priority set in conf file and"},{"line_number":71,"context_line":"       availablity of the metric in choosen datasource."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    option \u0027b\u0027 has overhead of choosing datasource each time the request"},{"line_number":74,"context_line":"    arrives, but has advantage that if a metric is not available in one"},{"line_number":75,"context_line":"    datasource it can check for other. with current watcher strateg"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_8809c596","line":73,"range":{"start_line":73,"start_character":11,"end_line":73,"end_character":14},"in_reply_to":"7f515b1d_1dc75948","updated":"2017-10-04 07:55:12.000000000","message":"hmm, i have changed","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    option \u0027b\u0027 has overhead of choosing datasource each time the request"},{"line_number":74,"context_line":"    arrives, but has advantage that if a metric is not available in one"},{"line_number":75,"context_line":"    datasource it can check for other. with current watcher strateg"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    Define a datasource manager class to calculate the datasource"},{"line_number":78,"context_line":"    backend."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_3d6b3520","line":75,"updated":"2017-10-04 05:14:36.000000000","message":"y.","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    option \u0027b\u0027 has overhead of choosing datasource each time the request"},{"line_number":74,"context_line":"    arrives, but has advantage that if a metric is not available in one"},{"line_number":75,"context_line":"    datasource it can check for other. with current watcher strateg"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    Define a datasource manager class to calculate the datasource"},{"line_number":78,"context_line":"    backend."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_4e5f5572","line":75,"in_reply_to":"7f515b1d_3d6b3520","updated":"2017-10-04 07:55:12.000000000","message":"Done","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    arrives, but has advantage that if a metric is not available in one"},{"line_number":75,"context_line":"    datasource it can check for other. with current watcher strateg"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    Define a datasource manager class to calculate the datasource"},{"line_number":78,"context_line":"    backend."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    .. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_ddc0a12d","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":4},"updated":"2017-10-04 05:14:36.000000000","message":"3.","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    arrives, but has advantage that if a metric is not available in one"},{"line_number":75,"context_line":"    datasource it can check for other. with current watcher strateg"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    Define a datasource manager class to calculate the datasource"},{"line_number":78,"context_line":"    backend."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    .. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_2e541954","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":4},"in_reply_to":"7f515b1d_ddc0a12d","updated":"2017-10-04 07:55:12.000000000","message":"Done","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    .. code-block:: python"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"       class Datasourcemanager(object):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"           def get_backend(self, metrics):"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_bddba51f","line":82,"range":{"start_line":82,"start_character":13,"end_line":82,"end_character":30},"updated":"2017-10-04 05:14:36.000000000","message":"should be DatasourceManager.","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    .. code-block:: python"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"       class Datasourcemanager(object):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"           def get_backend(self, metrics):"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_0e515d63","line":82,"range":{"start_line":82,"start_character":13,"end_line":82,"end_character":30},"in_reply_to":"7f515b1d_bddba51f","updated":"2017-10-04 07:55:12.000000000","message":"Done","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"       class Datasourcemanager(object):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"           def get_backend(self, metrics):"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Alternatives"},{"line_number":87,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_ddd541e7","line":84,"range":{"start_line":84,"start_character":15,"end_line":84,"end_character":26},"updated":"2017-10-04 05:14:36.000000000","message":"Could you show how to use this method in strategies as number 4?","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"       class Datasourcemanager(object):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"           def get_backend(self, metrics):"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Alternatives"},{"line_number":87,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_ce4a25ab","line":84,"range":{"start_line":84,"start_character":15,"end_line":84,"end_character":26},"in_reply_to":"7f515b1d_ddd541e7","updated":"2017-10-04 07:55:12.000000000","message":"Done","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":82,"context_line":"       class Datasourcemanager(object):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"           def get_backend(self, metrics):"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Alternatives"},{"line_number":87,"context_line":"------------"},{"line_number":88,"context_line":"If we keep the existing implementation, each strategy has to use the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_ddee61b3","line":85,"updated":"2017-10-04 05:14:36.000000000","message":"4. Update existing strategies to use new datasource classes.","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"       class Datasourcemanager(object):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"           def get_backend(self, metrics):"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Alternatives"},{"line_number":87,"context_line":"------------"},{"line_number":88,"context_line":"If we keep the existing implementation, each strategy has to use the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_8ecaed17","line":85,"in_reply_to":"7f515b1d_ddee61b3","updated":"2017-10-04 07:55:12.000000000","message":"Done","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"98c0e20e3ea05fc7d01659ec69bbafd2d5694fdd","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Documentation Impact"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"None"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"References"},{"line_number":167,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_dd4301af","line":164,"range":{"start_line":164,"start_character":0,"end_line":164,"end_character":4},"updated":"2017-10-04 05:14:36.000000000","message":"Plugins documentation should be updated.\nhttps://docs.openstack.org/watcher/latest/contributor/plugin/strategy-plugin.html#querying-metrics","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8ff2ece74630e286568c5f2c3b5051c89e48da1d","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Documentation Impact"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"None"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"References"},{"line_number":167,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_4ed4f5bd","line":164,"range":{"start_line":164,"start_character":0,"end_line":164,"end_character":4},"in_reply_to":"7f515b1d_dd4301af","updated":"2017-10-04 07:55:12.000000000","message":"Done","commit_id":"2b5e3ded2c371dc2fee94bf5f31aba90ea331235"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"2dc1e0cf0e103f59943b72d5dc831fbc208b8895","unresolved":false,"context_lines":[{"line_number":97,"context_line":"              self.datasource_backend \u003d manager.DataSourceManager("},{"line_number":98,"context_line":"                  config\u003dself.config,"},{"line_number":99,"context_line":"                  osc\u003dself.osc"},{"line_number":100,"context_line":"                  ).get_backend(self.METRIC_NAMES)"},{"line_number":101,"context_line":"              return self._datasource_backend"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"         def get_node_cpu_usage(self, node):"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_2e6899b8","line":100,"range":{"start_line":100,"start_character":14,"end_line":100,"end_character":18},"updated":"2017-10-04 07:28:44.000000000","message":"remove this","commit_id":"fdc8721a91e77c9f7530fc57bdd5a3c2fa6420f7"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"2dc1e0cf0e103f59943b72d5dc831fbc208b8895","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                 period\u003dself.period,"},{"line_number":108,"context_line":"                 aggregate \u003d \u0027avg\u0027,"},{"line_number":109,"context_line":"                 granularity\u003dNone"},{"line_number":110,"context_line":"                 )"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Alternatives"},{"line_number":113,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_ee6161d5","line":110,"range":{"start_line":110,"start_character":13,"end_line":110,"end_character":17},"updated":"2017-10-04 07:28:44.000000000","message":"remove this","commit_id":"fdc8721a91e77c9f7530fc57bdd5a3c2fa6420f7"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"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"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Define an common abstraction layer for all datasources. Define get methods"},{"line_number":34,"context_line":"   for all metrics used by current strategy. It also contains metric map"},{"line_number":35,"context_line":"   which maps strategy metric requirements to datasource metric name."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_52bb4c71","line":33,"range":{"start_line":33,"start_character":10,"end_line":33,"end_character":12},"updated":"2017-10-20 07:28:01.000000000","message":"a","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"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"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Define an common abstraction layer for all datasources. Define get methods"},{"line_number":34,"context_line":"   for all metrics used by current strategy. It also contains metric map"},{"line_number":35,"context_line":"   which maps strategy metric requirements to datasource metric name."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_928d4433","line":33,"range":{"start_line":33,"start_character":20,"end_line":33,"end_character":31},"updated":"2017-10-20 07:28:01.000000000","message":"adstract","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0b4bcf468b2d1f28b884ca3b075b9aa14d0da7b2","unresolved":false,"context_lines":[{"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"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Define an common abstraction layer for all datasources. Define get methods"},{"line_number":34,"context_line":"   for all metrics used by current strategy. It also contains metric map"},{"line_number":35,"context_line":"   which maps strategy metric requirements to datasource metric name."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_f114cbea","line":33,"range":{"start_line":33,"start_character":10,"end_line":33,"end_character":12},"in_reply_to":"3f4b6375_52bb4c71","updated":"2017-10-27 00:36:15.000000000","message":"Done","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8f6057b9252e201fa07d04cf33b4150594106ed0","unresolved":false,"context_lines":[{"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"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Define an common abstraction layer for all datasources. Define get methods"},{"line_number":34,"context_line":"   for all metrics used by current strategy. It also contains metric map"},{"line_number":35,"context_line":"   which maps strategy metric requirements to datasource metric name."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_3625b909","line":33,"range":{"start_line":33,"start_character":10,"end_line":33,"end_character":12},"in_reply_to":"3f4b6375_52bb4c71","updated":"2017-10-27 00:09:56.000000000","message":"will fix","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8f6057b9252e201fa07d04cf33b4150594106ed0","unresolved":false,"context_lines":[{"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"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Define an common abstraction layer for all datasources. Define get methods"},{"line_number":34,"context_line":"   for all metrics used by current strategy. It also contains metric map"},{"line_number":35,"context_line":"   which maps strategy metric requirements to datasource metric name."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_b67e49e1","line":33,"range":{"start_line":33,"start_character":20,"end_line":33,"end_character":31},"in_reply_to":"3f4b6375_928d4433","updated":"2017-10-27 00:09:56.000000000","message":"it is \u0027abstract\u0027 only","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Define an common abstraction layer for all datasources. Define get methods"},{"line_number":34,"context_line":"   for all metrics used by current strategy. It also contains metric map"},{"line_number":35,"context_line":"   which maps strategy metric requirements to datasource metric name."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   .. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_327e9019","line":34,"range":{"start_line":34,"start_character":35,"end_line":34,"end_character":43},"updated":"2017-10-20 07:28:01.000000000","message":"strategies","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0b4bcf468b2d1f28b884ca3b075b9aa14d0da7b2","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Define an common abstraction layer for all datasources. Define get methods"},{"line_number":34,"context_line":"   for all metrics used by current strategy. It also contains metric map"},{"line_number":35,"context_line":"   which maps strategy metric requirements to datasource metric name."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   .. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_d1d54f1d","line":34,"range":{"start_line":34,"start_character":35,"end_line":34,"end_character":43},"in_reply_to":"3f4b6375_327e9019","updated":"2017-10-27 00:36:15.000000000","message":"Done","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8f6057b9252e201fa07d04cf33b4150594106ed0","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Define an common abstraction layer for all datasources. Define get methods"},{"line_number":34,"context_line":"   for all metrics used by current strategy. It also contains metric map"},{"line_number":35,"context_line":"   which maps strategy metric requirements to datasource metric name."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   .. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_366a5919","line":34,"range":{"start_line":34,"start_character":35,"end_line":34,"end_character":43},"in_reply_to":"3f4b6375_327e9019","updated":"2017-10-27 00:09:56.000000000","message":"will fix","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"      class DatasourceBase(object):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"          METRIC_MAP\u003ddict(datasource\u003ddict(metric_name_watcher\u003d"},{"line_number":42,"context_line":"                                          metric_name_datasource,),)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"          @abc.abstractmethod"},{"line_number":45,"context_line":"          def get_host_cpu_usage(self, resource_id, period, aggregate,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_326d7032","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":68},"updated":"2017-10-20 07:28:01.000000000","message":"Do Telemetry, Monasca and gnocchi have a common map table?\nIf not, I think it should be specialized in ceilometer, monasca and gnocchi classes.","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8f6057b9252e201fa07d04cf33b4150594106ed0","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"      class DatasourceBase(object):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"          METRIC_MAP\u003ddict(datasource\u003ddict(metric_name_watcher\u003d"},{"line_number":42,"context_line":"                                          metric_name_datasource,),)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"          @abc.abstractmethod"},{"line_number":45,"context_line":"          def get_host_cpu_usage(self, resource_id, period, aggregate,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_96cfcd27","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":68},"in_reply_to":"3f4b6375_326d7032","updated":"2017-10-27 00:09:56.000000000","message":"yes they have common metric table, i think it is easier to have a common table in central manager class, so one can update easily, plus to calculate which datasource class has to be used is also easier, although we can define separately,  also let\u0027s take view of other developers also","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"   DatasourceBase class. Implement abstract methods of DatasourceBase class in"},{"line_number":56,"context_line":"   ceilometer, monasca and gnocchi classes."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"3. Support metric data collection from  multiple datasource. User can define"},{"line_number":59,"context_line":"   datasource priority watcher.conf, we can use the existing configuration"},{"line_number":60,"context_line":"   option by changing it type to list.::"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_12d6f4c4","line":58,"range":{"start_line":58,"start_character":38,"end_line":58,"end_character":40},"updated":"2017-10-20 07:28:01.000000000","message":"single blank","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0b4bcf468b2d1f28b884ca3b075b9aa14d0da7b2","unresolved":false,"context_lines":[{"line_number":55,"context_line":"   DatasourceBase class. Implement abstract methods of DatasourceBase class in"},{"line_number":56,"context_line":"   ceilometer, monasca and gnocchi classes."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"3. Support metric data collection from  multiple datasource. User can define"},{"line_number":59,"context_line":"   datasource priority watcher.conf, we can use the existing configuration"},{"line_number":60,"context_line":"   option by changing it type to list.::"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_91db574d","line":58,"range":{"start_line":58,"start_character":38,"end_line":58,"end_character":40},"in_reply_to":"3f4b6375_12d6f4c4","updated":"2017-10-27 00:36:15.000000000","message":"Done","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"line_number":56,"context_line":"   ceilometer, monasca and gnocchi classes."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"3. Support metric data collection from  multiple datasource. User can define"},{"line_number":59,"context_line":"   datasource priority watcher.conf, we can use the existing configuration"},{"line_number":60,"context_line":"   option by changing it type to list.::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"      [watcher_strategies.basic]"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_72eac875","line":59,"range":{"start_line":59,"start_character":22,"end_line":59,"end_character":23},"updated":"2017-10-20 07:28:01.000000000","message":"in","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0b4bcf468b2d1f28b884ca3b075b9aa14d0da7b2","unresolved":false,"context_lines":[{"line_number":56,"context_line":"   ceilometer, monasca and gnocchi classes."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"3. Support metric data collection from  multiple datasource. User can define"},{"line_number":59,"context_line":"   datasource priority watcher.conf, we can use the existing configuration"},{"line_number":60,"context_line":"   option by changing it type to list.::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"      [watcher_strategies.basic]"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_71de9b3e","line":59,"range":{"start_line":59,"start_character":22,"end_line":59,"end_character":23},"in_reply_to":"3f4b6375_72eac875","updated":"2017-10-27 00:36:15.000000000","message":"Done","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"3. Support metric data collection from  multiple datasource. User can define"},{"line_number":59,"context_line":"   datasource priority watcher.conf, we can use the existing configuration"},{"line_number":60,"context_line":"   option by changing it type to list.::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"      [watcher_strategies.basic]"},{"line_number":63,"context_line":"      datasource \u003d ceilometer, gnocchi, monasca"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_52ed8c89","line":60,"range":{"start_line":60,"start_character":2,"end_line":60,"end_character":9},"updated":"2017-10-20 07:28:01.000000000","message":"remove","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0b4bcf468b2d1f28b884ca3b075b9aa14d0da7b2","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"3. Support metric data collection from  multiple datasource. User can define"},{"line_number":59,"context_line":"   datasource priority watcher.conf, we can use the existing configuration"},{"line_number":60,"context_line":"   option by changing it type to list.::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"      [watcher_strategies.basic]"},{"line_number":63,"context_line":"      datasource \u003d ceilometer, gnocchi, monasca"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_51e95fe3","line":60,"range":{"start_line":60,"start_character":2,"end_line":60,"end_character":9},"in_reply_to":"3f4b6375_52ed8c89","updated":"2017-10-27 00:36:15.000000000","message":"Done","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   datasource priority watcher.conf, we can use the existing configuration"},{"line_number":60,"context_line":"   option by changing it type to list.::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"      [watcher_strategies.basic]"},{"line_number":63,"context_line":"      datasource \u003d ceilometer, gnocchi, monasca"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"   This can be done in two ways"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_72b88875","line":62,"range":{"start_line":62,"start_character":7,"end_line":62,"end_character":31},"updated":"2017-10-20 07:28:01.000000000","message":"Don\u0027t use dot in the configration.It will parse error.\nHow about the exsiting configration goup \u0027watcher_decision_engine\u0027","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8f6057b9252e201fa07d04cf33b4150594106ed0","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   datasource priority watcher.conf, we can use the existing configuration"},{"line_number":60,"context_line":"   option by changing it type to list.::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"      [watcher_strategies.basic]"},{"line_number":63,"context_line":"      datasource \u003d ceilometer, gnocchi, monasca"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"   This can be done in two ways"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_16fcfd3b","line":62,"range":{"start_line":62,"start_character":7,"end_line":62,"end_character":31},"in_reply_to":"3f4b6375_72b88875","updated":"2017-10-27 00:09:56.000000000","message":"I have not used it is already there\nhttps://docs.openstack.org/watcher/latest/configuration/watcher.html#watcher-strategies-basic","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"      class BasicConsolidation(base.ServerConsolidationBaseStrategy):"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"          @property"},{"line_number":99,"context_line":"          def datasource_backend(self):"},{"line_number":100,"context_line":"              self.datasource_backend \u003d manager.DataSourceManager("},{"line_number":101,"context_line":"                  config\u003dself.config,"},{"line_number":102,"context_line":"                  osc\u003dself.osc"},{"line_number":103,"context_line":"                  ).get_backend(self.METRIC_NAMES)"},{"line_number":104,"context_line":"              return self._datasource_backend"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"         def get_node_cpu_usage(self, node):"},{"line_number":107,"context_line":"             resource_id \u003d \"%s_%s\" % (node.uuid, node.hostname)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_95ec0e2a","line":104,"range":{"start_line":98,"start_character":2,"end_line":104,"end_character":45},"updated":"2017-10-20 07:28:01.000000000","message":"Because most strategies need such property, it is better to be added into BaseStrategy class.","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0b4bcf468b2d1f28b884ca3b075b9aa14d0da7b2","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"      class BasicConsolidation(base.ServerConsolidationBaseStrategy):"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"          @property"},{"line_number":99,"context_line":"          def datasource_backend(self):"},{"line_number":100,"context_line":"              self.datasource_backend \u003d manager.DataSourceManager("},{"line_number":101,"context_line":"                  config\u003dself.config,"},{"line_number":102,"context_line":"                  osc\u003dself.osc"},{"line_number":103,"context_line":"                  ).get_backend(self.METRIC_NAMES)"},{"line_number":104,"context_line":"              return self._datasource_backend"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"         def get_node_cpu_usage(self, node):"},{"line_number":107,"context_line":"             resource_id \u003d \"%s_%s\" % (node.uuid, node.hostname)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_11ef67e9","line":104,"range":{"start_line":98,"start_character":2,"end_line":104,"end_character":45},"in_reply_to":"3f4b6375_76a0d142","updated":"2017-10-27 00:36:15.000000000","message":"Done","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"8f6057b9252e201fa07d04cf33b4150594106ed0","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"      class BasicConsolidation(base.ServerConsolidationBaseStrategy):"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"          @property"},{"line_number":99,"context_line":"          def datasource_backend(self):"},{"line_number":100,"context_line":"              self.datasource_backend \u003d manager.DataSourceManager("},{"line_number":101,"context_line":"                  config\u003dself.config,"},{"line_number":102,"context_line":"                  osc\u003dself.osc"},{"line_number":103,"context_line":"                  ).get_backend(self.METRIC_NAMES)"},{"line_number":104,"context_line":"              return self._datasource_backend"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"         def get_node_cpu_usage(self, node):"},{"line_number":107,"context_line":"             resource_id \u003d \"%s_%s\" % (node.uuid, node.hostname)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_76a0d142","line":104,"range":{"start_line":98,"start_character":2,"end_line":104,"end_character":45},"in_reply_to":"3f4b6375_95ec0e2a","updated":"2017-10-27 00:09:56.000000000","message":"ok","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"67ed80af05e154c8fd5481e4042f425e414942e3","unresolved":false,"context_lines":[{"line_number":147,"context_line":"Performance Impact"},{"line_number":148,"context_line":"------------------"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Using Multiple Datasource can degrade the overwall openstack cluster"},{"line_number":151,"context_line":"performance."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_953ace95","line":150,"range":{"start_line":150,"start_character":42,"end_line":150,"end_character":50},"updated":"2017-10-20 07:28:01.000000000","message":"overall?","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0b4bcf468b2d1f28b884ca3b075b9aa14d0da7b2","unresolved":false,"context_lines":[{"line_number":147,"context_line":"Performance Impact"},{"line_number":148,"context_line":"------------------"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Using Multiple Datasource can degrade the overwall openstack cluster"},{"line_number":151,"context_line":"performance."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_f1e96be2","line":150,"range":{"start_line":150,"start_character":42,"end_line":150,"end_character":50},"in_reply_to":"3f4b6375_953ace95","updated":"2017-10-27 00:36:15.000000000","message":"Done","commit_id":"acf183d79b86dc794384612bde140ca0c6dd4304"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"798143e5a957139eb86d41730829c3a3b91de194","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    option second has overhead of choosing datasource each time the request"},{"line_number":77,"context_line":"    arrives, but has advantage that if a metric is not available in one"},{"line_number":78,"context_line":"    datasource it can check for other. with current watcher strategy"},{"line_number":79,"context_line":"    requirements option first will suffice."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"4.  Define a datasource manager class to calculate the datasource"},{"line_number":82,"context_line":"    backend."}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_96ff7166","line":79,"range":{"start_line":78,"start_character":39,"end_line":79,"end_character":42},"updated":"2017-10-31 11:59:35.000000000","message":"Totally agree, it would be more intuitive for newcomers","commit_id":"0729cf72a74ed842c0cca0d71c6f227fc9c8fc77"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"798143e5a957139eb86d41730829c3a3b91de194","unresolved":false,"context_lines":[{"line_number":89,"context_line":"           \u0027\u0027\u0027 returns: object of DatasourceBase child"},{"line_number":90,"context_line":"               class \u0027\u0027\u0027"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"5. Update existing strategies to use new datasource classes, Make the"},{"line_number":93,"context_line":"   datasource_backend property abstract in strategy base class."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   .. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_768515cf","line":92,"range":{"start_line":92,"start_character":3,"end_line":92,"end_character":59},"updated":"2017-10-31 11:59:35.000000000","message":"do you plan to remove \u0027datasource\u0027 config from each strategy?","commit_id":"0729cf72a74ed842c0cca0d71c6f227fc9c8fc77"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"826cae82e59ed97293237b55c9d2a506b7be2329","unresolved":false,"context_lines":[{"line_number":89,"context_line":"           \u0027\u0027\u0027 returns: object of DatasourceBase child"},{"line_number":90,"context_line":"               class \u0027\u0027\u0027"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"5. Update existing strategies to use new datasource classes, Make the"},{"line_number":93,"context_line":"   datasource_backend property abstract in strategy base class."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   .. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_d41a6f15","line":92,"range":{"start_line":92,"start_character":3,"end_line":92,"end_character":59},"in_reply_to":"3f4b6375_768515cf","updated":"2017-11-01 02:26:44.000000000","message":"No, i will use the same, i will just change it type to list.\nso user can specify in priority which datasource to use, in case of multiple datasource available.","commit_id":"0729cf72a74ed842c0cca0d71c6f227fc9c8fc77"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"798143e5a957139eb86d41730829c3a3b91de194","unresolved":false,"context_lines":[{"line_number":176,"context_line":"* Implement base class for all datasource drivers."},{"line_number":177,"context_line":"* Define abstract get methods for all meters used by existing strategies."},{"line_number":178,"context_line":"* Implement abstract methods in ceilometer, monasca and gnocchi classes."},{"line_number":179,"context_line":"* Update existing strategies to use the new format."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Dependencies"},{"line_number":182,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_f6dea5d8","line":179,"range":{"start_line":179,"start_character":0,"end_line":179,"end_character":51},"updated":"2017-10-31 11:59:35.000000000","message":"I would suggest to split your implementation patch into main patch (implements base class, datasource methods and so on) and related strategies patches that would use new way to gather meters.","commit_id":"0729cf72a74ed842c0cca0d71c6f227fc9c8fc77"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"826cae82e59ed97293237b55c9d2a506b7be2329","unresolved":false,"context_lines":[{"line_number":176,"context_line":"* Implement base class for all datasource drivers."},{"line_number":177,"context_line":"* Define abstract get methods for all meters used by existing strategies."},{"line_number":178,"context_line":"* Implement abstract methods in ceilometer, monasca and gnocchi classes."},{"line_number":179,"context_line":"* Update existing strategies to use the new format."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Dependencies"},{"line_number":182,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_b415b3e7","line":179,"range":{"start_line":179,"start_character":0,"end_line":179,"end_character":51},"in_reply_to":"3f4b6375_f6dea5d8","updated":"2017-11-01 02:26:44.000000000","message":"I planned for the same","commit_id":"0729cf72a74ed842c0cca0d71c6f227fc9c8fc77"}]}
