)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"7bd71e6223a86dd06d6b9142c9e3759682356b27","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Support default_retention_hours for influxdb"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"At the moment, all data is retained infinitely. This change allows users"},{"line_number":10,"context_line":"to specify a default_retention_hours (defaults to 0) in the influxdb"},{"line_number":11,"context_line":"section of monasca persister configuration so that new projects are"},{"line_number":12,"context_line":"automatically assigned this retention policy when the given hour is"},{"line_number":13,"context_line":"greater than 0 to preserve original behaviour."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3fa7e38b_ce6fedc1","line":10,"range":{"start_line":10,"start_character":49,"end_line":10,"end_character":51},"updated":"2019-10-31 16:17:06.000000000","message":"nit: 0 which is unlimited","commit_id":"df1f9dcb1cdf258b0518f89117b9e1c73e5b5a97"}],"monasca_persister/conf/influxdb.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"1113fe605605e973c96da9cac24dec2f496eebd3","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                help\u003d\u0027Whether to use a separate database per tenant\u0027,"},{"line_number":25,"context_line":"                default\u003dFalse),"},{"line_number":26,"context_line":"    cfg.BoolOpt(\u0027default_retention_policy\u0027,"},{"line_number":27,"context_line":"                help\u003d\u0027Default retention policy\u0027,"},{"line_number":28,"context_line":"                default\u003dNone),"},{"line_number":29,"context_line":"    cfg.HostAddressOpt(\u0027ip_address\u0027,"},{"line_number":30,"context_line":"                       help\u003d\u0027Valid IP address or hostname \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_658f9d2e","line":27,"range":{"start_line":27,"start_character":16,"end_line":27,"end_character":47},"updated":"2019-10-21 14:14:36.000000000","message":"We should explain here what are the allowed values.","commit_id":"e0edc4cf26db030b0803a85c5a3526ee05210168"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"5ead91d9dde09b7671d5e8a454375b433ea027a6","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                help\u003d\u0027Whether to use a separate database per tenant\u0027,"},{"line_number":25,"context_line":"                default\u003dFalse),"},{"line_number":26,"context_line":"    cfg.BoolOpt(\u0027default_retention_policy\u0027,"},{"line_number":27,"context_line":"                help\u003d\u0027Default retention policy, e.g. 1w, 1m, 1y, etc.\u0027,"},{"line_number":28,"context_line":"                default\u003dNone),"},{"line_number":29,"context_line":"    cfg.HostAddressOpt(\u0027ip_address\u0027,"},{"line_number":30,"context_line":"                       help\u003d\u0027Valid IP address or hostname \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_32a0de42","line":27,"range":{"start_line":27,"start_character":22,"end_line":27,"end_character":29},"updated":"2019-10-23 15:04:21.000000000","message":"How long is 1m in seconds? Can you combine units, eg. `1m 2w`?\n\nI think I would prefer something like `default_retention_period_hours`, set it as type IntOpt [1] and then only support setting hours as an integer for simplicity.\n\n[1] https://docs.openstack.org/oslo.config/latest/reference/api/oslo_config.html#oslo_config.cfg.IntOpt","commit_id":"c3d16deef9b8c174e7d3c46d8d3e509144e904ff"},{"author":{"_account_id":28022,"name":"Bharat Kunwar","email":"brtknr@bath.edu","username":"brtknr"},"change_message_id":"764aceafb6b7afd7e5704095f8898b61da6fd5e8","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                help\u003d\u0027Whether to use a separate database per tenant\u0027,"},{"line_number":25,"context_line":"                default\u003dFalse),"},{"line_number":26,"context_line":"    cfg.BoolOpt(\u0027default_retention_policy\u0027,"},{"line_number":27,"context_line":"                help\u003d\u0027Default retention policy, e.g. 1w, 1m, 1y, etc.\u0027,"},{"line_number":28,"context_line":"                default\u003dNone),"},{"line_number":29,"context_line":"    cfg.HostAddressOpt(\u0027ip_address\u0027,"},{"line_number":30,"context_line":"                       help\u003d\u0027Valid IP address or hostname \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_2f55d0fa","line":27,"range":{"start_line":27,"start_character":22,"end_line":27,"end_character":29},"in_reply_to":"3fa7e38b_32a0de42","updated":"2019-10-31 12:36:22.000000000","message":"Not sure if you can combine units... I can combine","commit_id":"c3d16deef9b8c174e7d3c46d8d3e509144e904ff"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"54053061b6d05ddc3ac09e2797c3891782776adc","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                help\u003d\u0027Whether to use a separate database per tenant\u0027,"},{"line_number":25,"context_line":"                default\u003dFalse),"},{"line_number":26,"context_line":"    cfg.IntOpt(\u0027default_retention_hours\u0027,"},{"line_number":27,"context_line":"               help\u003d\u0027Default retention period in hours\u0027,"},{"line_number":28,"context_line":"               default\u003d0),"},{"line_number":29,"context_line":"    cfg.HostAddressOpt(\u0027ip_address\u0027,"},{"line_number":30,"context_line":"                       help\u003d\u0027Valid IP address or hostname \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_ce873e12","line":27,"updated":"2019-11-15 13:34:36.000000000","message":"Please add a note that it applies only to databases automatically created by monasca-persister.","commit_id":"45b373c7a46e25d9593ec493d1d3e207207f9fbe"}],"monasca_persister/repositories/influxdb/abstract_repository.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"1113fe605605e973c96da9cac24dec2f496eebd3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            self.conf.influxdb.password)"},{"line_number":36,"context_line":"        default_rp_val \u003d self.conf.influxdb.default_retention_policy"},{"line_number":37,"context_line":"        self.default_rp \u003d (dict(name\u003ddefault_rp_val, duration\u003ddefault_rp_val,"},{"line_number":38,"context_line":"                               replication\u003d\u00271\u0027, default\u003dTrue)"},{"line_number":39,"context_line":"                           if default_rp_val else {})"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def write_batch(self, data_points_by_tenant):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_e562adad","line":38,"range":{"start_line":38,"start_character":31,"end_line":38,"end_character":42},"updated":"2019-10-21 14:14:36.000000000","message":"pep8 complains about under-indentation","commit_id":"e0edc4cf26db030b0803a85c5a3526ee05210168"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"1113fe605605e973c96da9cac24dec2f496eebd3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                    self._influxdb_client.create_database(database)"},{"line_number":64,"context_line":"                    if self.default_rp:"},{"line_number":65,"context_line":"                        self._influx_client.create_retention_policy("},{"line_number":66,"context_line":"                            database\u003ddatabase, **default_rp)"},{"line_number":67,"context_line":"                else:"},{"line_number":68,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_05c3493a","line":66,"range":{"start_line":66,"start_character":47,"end_line":66,"end_character":59},"updated":"2019-10-21 14:14:36.000000000","message":"**self.default_rp","commit_id":"e0edc4cf26db030b0803a85c5a3526ee05210168"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"7bd71e6223a86dd06d6b9142c9e3759682356b27","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                        default_rp \u003d dict(database\u003ddatabase, default\u003dTrue,"},{"line_number":76,"context_line":"                                          name\u003drp, duration\u003drp,"},{"line_number":77,"context_line":"                                          replication\u003d\u00271\u0027)"},{"line_number":78,"context_line":"                        self._influxdb_client.create_retention_policy(**default_rp)"},{"line_number":79,"context_line":"                else:"},{"line_number":80,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_ce592dfd","line":78,"updated":"2019-10-31 16:17:06.000000000","message":"For reference:\n\nhttps://influxdb-python.readthedocs.io/en/latest/api-documentation.html#influxdb.InfluxDBClient.create_retention_policy\n\nPerhaps people might want to set some of the other options, but if someone needs too it can be added under a new patch.","commit_id":"df1f9dcb1cdf258b0518f89117b9e1c73e5b5a97"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"86cfcba4f7184352c1779382da5cdfe0b3deb518","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                    # database creation time so that existing policies are"},{"line_number":66,"context_line":"                    # not overridden since administrators may want different"},{"line_number":67,"context_line":"                    # retention policy per tenant."},{"line_number":68,"context_line":"                    hours \u003d self.conf.influxdb.default_retention_hours"},{"line_number":69,"context_line":"                    if hours \u003e 0:"},{"line_number":70,"context_line":"                        rp \u003d \u0027{}h\u0027.format(hours)"},{"line_number":71,"context_line":"                        default_rp \u003d dict(database\u003ddatabase, default\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_b81d0c10","line":68,"updated":"2019-11-01 09:36:28.000000000","message":"I don\u0027t think this will be too problematic for possible future work to allow setting (and updating) the RP via the API.","commit_id":"b3a30d5516a2c3e4debba29e9a348f47d949ecd3"}],"monasca_persister/tools/influxdb/db-per-tenant/migrate-to-db-per-tenant.py":[{"author":{"_account_id":28022,"name":"Bharat Kunwar","email":"brtknr@bath.edu","username":"brtknr"},"change_message_id":"6b2ab45343c36e5dbf62b5b0e2bfb91a4fa769b4","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                        tenant_id, {}).get(\u0027end_time_offset_override\u0027,"},{"line_number":166,"context_line":"                                           default_end_time_offset)"},{"line_number":167,"context_line":"                    retention_policy \u003d tenant_defaults.get("},{"line_number":168,"context_line":"                        tenant_id, {}) .get(\u0027rp\u0027, default_rp)"},{"line_number":169,"context_line":"                    self._migrate(measurement, tenant_id,"},{"line_number":170,"context_line":"                                  start_time_offset\u003dstart_time_offset,"},{"line_number":171,"context_line":"                                  end_time_offset\u003dend_time_offset,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_de52bb68","line":168,"range":{"start_line":168,"start_character":38,"end_line":168,"end_character":39},"updated":"2019-11-13 00:52:32.000000000","message":"I should remove this space, but seems to work fine with it","commit_id":"b3a30d5516a2c3e4debba29e9a348f47d949ecd3"}],"releasenotes/notes/influxdb-default-retention-policy-aaa446ebe6fc3cb5.yaml":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"5ead91d9dde09b7671d5e8a454375b433ea027a6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Support default_retention_policy config for InfluxDB for new"},{"line_number":5,"context_line":"    database that are created. Falls back to infinite retention as"},{"line_number":6,"context_line":"    before when unspecified. Only applicable when db_per_tenant is"},{"line_number":7,"context_line":"    enabled. Retention policy for existing databases are not altered."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_cdda0f78","line":4,"updated":"2019-10-23 15:04:21.000000000","message":"I think we really need two commits. One with a release node:\n\n`Support for automatic database creation in InfluxDB has been added.`\n\nAnd the other with the release note:\n\n`Support for assigning default retention policies to databases created by Monasca Perister has been added`\n\nInevitably that means splitting this into two commits, and adding support for the case where we don\u0027t use db per tenant, but I think the overall message would be clearer.","commit_id":"c3d16deef9b8c174e7d3c46d8d3e509144e904ff"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"5ead91d9dde09b7671d5e8a454375b433ea027a6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Support default_retention_policy config for InfluxDB for new"},{"line_number":5,"context_line":"    database that are created. Falls back to infinite retention as"},{"line_number":6,"context_line":"    before when unspecified. Only applicable when db_per_tenant is"},{"line_number":7,"context_line":"    enabled. Retention policy for existing databases are not altered."},{"line_number":8,"context_line":"    Must be specified in format such as 1w, 1m, 1y, etc."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_d20b8a28","line":5,"range":{"start_line":5,"start_character":11,"end_line":5,"end_character":12},"updated":"2019-10-23 15:04:21.000000000","message":"nit: s/database/databases","commit_id":"c3d16deef9b8c174e7d3c46d8d3e509144e904ff"}]}
