Skip to content

Commit 8804acb

Browse files
committed
Fix formatting and bug in purge rule from GC
1 parent 5afe37d commit 8804acb

6 files changed

Lines changed: 24 additions & 14 deletions

File tree

CHANGELOG.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ Added
152152

153153
Contributed by @Kami.
154154

155-
* Added garbage collection for rule_enforcement and trace models
155+
* Added garbage collection for rule_enforcement and trace models #5596
156156
Contributed by Amanda McGuinness (@amanda11 intive)
157157

158158

conf/st2.conf.sample

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,14 +177,14 @@ collection_interval = 600
177177
logging = /etc/st2/logging.garbagecollector.conf
178178
# Set to True to perform garbage collection on Inquiries (based on the TTL value per Inquiry)
179179
purge_inquiries = False
180+
# Rule enforcements older than this value (days) will be automatically deleted.
181+
rule_enforcement_ttl = None
180182
# How long to wait / sleep (in seconds) between collection of different object types.
181183
sleep_delay = 2
184+
# Trace objects older than this value (days) will be automatically deleted.
185+
trace_ttl = None
182186
# Trigger instances older than this value (days) will be automatically deleted.
183187
trigger_instances_ttl = None
184-
# Rule enforcement instances older than this value (days) will be automatically deleted.
185-
rule_enforcement_ttl = None
186-
# Trace instances older than this value (days) will be automatically deleted.
187-
trace_ttl = None
188188

189189
[keyvalue]
190190
# Allow encryption of values in key value stored qualified as "secret".

st2common/tests/unit/test_purge_rule_enforcement.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def setUp(self):
3737

3838
def test_no_timestamp_doesnt_delete(self):
3939
now = date_utils.get_datetime_utc_now()
40-
saved = TestPurgeRuleEnforcement._create_save_rule_enforcement(
40+
TestPurgeRuleEnforcement._create_save_rule_enforcement(
4141
enforced_at=now - timedelta(days=20),
4242
)
4343

@@ -54,11 +54,11 @@ def test_no_timestamp_doesnt_delete(self):
5454

5555
def test_purge(self):
5656
now = date_utils.get_datetime_utc_now()
57-
saved = TestPurgeRuleEnforcement._create_save_rule_enforcement(
57+
TestPurgeRuleEnforcement._create_save_rule_enforcement(
5858
enforced_at=now - timedelta(days=20),
5959
)
6060

61-
saved = TestPurgeRuleEnforcement._create_save_rule_enforcement(
61+
TestPurgeRuleEnforcement._create_save_rule_enforcement(
6262
enforced_at=now - timedelta(days=5),
6363
)
6464

st2common/tests/unit/test_purge_trace.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def setUp(self):
3737

3838
def test_no_timestamp_doesnt_delete(self):
3939
now = date_utils.get_datetime_utc_now()
40-
saved = TestPurgeTrace._create_save_trace(
40+
TestPurgeTrace._create_save_trace(
4141
trace_tag="test_trace",
4242
action_executions=[str(bson.ObjectId()) for _ in range(4)],
4343
rules=[str(bson.ObjectId()) for _ in range(4)],
@@ -58,15 +58,15 @@ def test_no_timestamp_doesnt_delete(self):
5858

5959
def test_purge(self):
6060
now = date_utils.get_datetime_utc_now()
61-
saved = TestPurgeTrace._create_save_trace(
61+
TestPurgeTrace._create_save_trace(
6262
trace_tag="test_trace",
6363
action_executions=[str(bson.ObjectId()) for _ in range(4)],
6464
rules=[str(bson.ObjectId()) for _ in range(4)],
6565
trigger_instances=[str(bson.ObjectId()) for _ in range(5)],
6666
start_timestamp=now - timedelta(days=20),
6767
)
6868

69-
saved = TestPurgeTrace._create_save_trace(
69+
TestPurgeTrace._create_save_trace(
7070
trace_tag="test_trace",
7171
action_executions=[str(bson.ObjectId()) for _ in range(4)],
7272
rules=[str(bson.ObjectId()) for _ in range(4)],

st2reactor/st2reactor/garbage_collector/base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ def _purge_trace(self):
349349
utc_now = get_datetime_utc_now()
350350
timestamp = utc_now - datetime.timedelta(days=self._trace_ttl)
351351

352-
# Another sanity check to make sure we don't delete new executions
352+
# Another sanity check to make sure we don't delete new objects
353353
if timestamp > (utc_now - datetime.timedelta(days=MINIMUM_TTL_DAYS)):
354354
raise ValueError(
355355
"Calculated timestamp would violate the minimum TTL constraint"
@@ -378,7 +378,7 @@ def _purge_rule_enforcement(self):
378378
utc_now = get_datetime_utc_now()
379379
timestamp = utc_now - datetime.timedelta(days=self._rule_enforcement_ttl)
380380

381-
# Another sanity check to make sure we don't delete new executions
381+
# Another sanity check to make sure we don't delete new objects
382382
if timestamp > (utc_now - datetime.timedelta(days=MINIMUM_TTL_DAYS)):
383383
raise ValueError(
384384
"Calculated timestamp would violate the minimum TTL constraint"
@@ -394,7 +394,7 @@ def _purge_rule_enforcement(self):
394394
)
395395

396396
try:
397-
purge_executions(logger=LOG, timestamp=timestamp)
397+
purge_rule_enforcement(logger=LOG, timestamp=timestamp)
398398
except Exception as e:
399399
LOG.exception("Failed to delete rule enforcements: %s" % (six.text_type(e)))
400400

st2tests/st2tests/config.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,16 @@ def _register_garbage_collector_opts():
484484
default=None,
485485
help="Trigger instances older than this value (days) will be automatically deleted.",
486486
),
487+
cfg.IntOpt(
488+
"rule_enforcement_ttl",
489+
default=None,
490+
help="Rule enforcements older than this value (days) will be automatically deleted.",
491+
),
492+
cfg.IntOpt(
493+
"trace_ttl",
494+
default=None,
495+
help="Trace objects older than this value (days) will be automatically deleted.",
496+
),
487497
]
488498

489499
_register_opts(ttl_opts, group="garbagecollector")

0 commit comments

Comments
 (0)