File tree Expand file tree Collapse file tree
st2reactor/st2reactor/garbage_collector Expand file tree Collapse file tree Original file line number Diff line number Diff 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
Original file line number Diff line number Diff line change @@ -177,14 +177,14 @@ collection_interval = 600
177177logging = /etc/st2/logging.garbagecollector.conf
178178# Set to True to perform garbage collection on Inquiries (based on the TTL value per Inquiry)
179179purge_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.
181183sleep_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.
183187trigger_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".
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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 )],
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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" )
You can’t perform that action at this time.
0 commit comments