diff options
author | Julien Danjou <julien@danjou.info> | 2016-09-12 17:29:11 +0200 |
---|---|---|
committer | Julien Danjou <julien@danjou.info> | 2016-09-13 11:29:19 +0200 |
commit | 5c05c047a67f88698a83fdaa8d8f5d7a7f07b195 (patch) | |
tree | bc42d61e84ea2a8f9ad7b06e791dc9cc5c9db922 | |
parent | fe901c3d31b50d5845071192aa1ef83191581589 (diff) | |
download | ceilometer-5c05c047a67f88698a83fdaa8d8f5d7a7f07b195.tar.gz |
Remove sql-expire-samples-only as a CLI option
This option actually changes the behaviour of the driver, so it should
not be passed only as a CLI option, but should be set in the
configuration file.
Change-Id: I3540b2db1c039320e387d7a0484b351b082d00de
-rw-r--r-- | ceilometer/opts.py | 1 | ||||
-rw-r--r-- | ceilometer/storage/__init__.py | 13 | ||||
-rw-r--r-- | ceilometer/storage/impl_sqlalchemy.py | 4 | ||||
-rw-r--r-- | ceilometer/tests/functional/storage/test_storage_scenarios.py | 2 |
4 files changed, 7 insertions, 13 deletions
diff --git a/ceilometer/opts.py b/ceilometer/opts.py index 3c82bf14..22b18c3a 100644 --- a/ceilometer/opts.py +++ b/ceilometer/opts.py @@ -75,7 +75,6 @@ def list_opts(): ceilometer.pipeline.OPTS, ceilometer.sample.OPTS, ceilometer.service.OPTS, - ceilometer.storage.CLI_OPTS, ceilometer.utils.OPTS,)), ('api', itertools.chain(ceilometer.api.OPTS, diff --git a/ceilometer/storage/__init__.py b/ceilometer/storage/__init__.py index 97431a53..f8281686 100644 --- a/ceilometer/storage/__init__.py +++ b/ceilometer/storage/__init__.py @@ -47,20 +47,15 @@ OPTS = [ secret=True, help='The connection string used to connect to the event ' 'database. (if unset, connection is used)'), -] - -cfg.CONF.register_opts(OPTS, group='database') - -CLI_OPTS = [ cfg.BoolOpt('sql-expire-samples-only', default=False, help="Indicates if expirer expires only samples. If set true," - " expired samples will be deleted, but residual" - " resource and meter definition data will remain.", - ), + " expired samples will be deleted, but residual" + " resource and meter definition data will remain."), ] -cfg.CONF.register_cli_opts(CLI_OPTS) +cfg.CONF.register_opts(OPTS, group='database') + db_options.set_defaults(cfg.CONF) diff --git a/ceilometer/storage/impl_sqlalchemy.py b/ceilometer/storage/impl_sqlalchemy.py index 54b81389..e44f368c 100644 --- a/ceilometer/storage/impl_sqlalchemy.py +++ b/ceilometer/storage/impl_sqlalchemy.py @@ -384,7 +384,7 @@ class Connection(base.Connection): rows = sample_q.delete() LOG.info(_LI("%d samples removed from database"), rows) - if not cfg.CONF.sql_expire_samples_only: + if not cfg.CONF.database.sql_expire_samples_only: with session.begin(): # remove Meter definitions with no matching samples (session.query(models.Meter) @@ -456,7 +456,7 @@ class Connection(base.Connection): # NOTE: When sql_expire_samples_only is enabled, there will be some # resources without any sample, in such case we should use inner # join on sample table to avoid wrong result. - if cfg.CONF.sql_expire_samples_only or has_timestamp: + if cfg.CONF.database.sql_expire_samples_only or has_timestamp: res_q = session.query(distinct(models.Resource.resource_id)).join( models.Sample, models.Sample.resource_id == models.Resource.internal_id) diff --git a/ceilometer/tests/functional/storage/test_storage_scenarios.py b/ceilometer/tests/functional/storage/test_storage_scenarios.py index d0b884d6..4797b6db 100644 --- a/ceilometer/tests/functional/storage/test_storage_scenarios.py +++ b/ceilometer/tests/functional/storage/test_storage_scenarios.py @@ -605,7 +605,7 @@ class RawSampleTest(DBTestBase): @tests_db.run_with('sqlite', 'mysql', 'pgsql') def test_clear_metering_data_expire_samples_only(self): - cfg.CONF.set_override('sql_expire_samples_only', True) + cfg.CONF.set_override('sql_expire_samples_only', True, 'database') self.mock_utcnow.return_value = datetime.datetime(2012, 7, 2, 10, 45) self.conn.clear_expired_metering_data(4 * 60) f = storage.SampleFilter(meter='instance') |