It seems that the irods_policy_enqueue_rule interface being used is expecting policy_to_invoke and parameters keywords, which are currently being passed as policy and payload. This seems to fix the tests.
However, even though storage tiering appears to work, there is a lot of noise in the log to the effect of:
May 25 18:10:22 pid:14798 DEBUG: error: syntax error
line 0, col 31
{{"destination-resource":"ufs1","group-name":"example_group","md5":"86ebf1e577db63c0967f16b86919669a","object-path":"/tempZone/home/rods/test_put_gt_max_sql_rows/junk0002","preserve-replicas":false,"rule-engine-instance-name":"irods_rule_engine_plugin-unified_storage_tiering-instance","rule-engine-operation":"irods_policy_data_movement","source-replica-number":"0","source-resource":"ufs0","user-name":"rods","verification-type":"catalog"}}
^
As you can see, the rule-engine-instance-name is being included here, but I think it may be getting dropped.
This only applies to 4-2-stable at this time as this only affects the unified storage tiering plugin and master branch is missing some changes made to support the unified storage tiering plugin.
When running the test suite, I noticed that tests were failing with the following messages in the log:
...one for each failed migration schedule. And then...
...again, one for each failure to schedule a migration. The overall migration scheduling (that is, enqueueing the scheduling) also fails:
It seems that the
irods_policy_enqueue_rule
interface being used is expectingpolicy_to_invoke
andparameters
keywords, which are currently being passed aspolicy
andpayload
. This seems to fix the tests.However, even though storage tiering appears to work, there is a lot of noise in the log to the effect of:
I suspect this is due to the parameters being passed to
irods_policy_enqueue_rule
not being propagated and/or acknowledged properly when execution time comes. Here is the construction of the rule: https://github.com/irods/irods_capability_storage_tiering/blob/5ada70586fd6075bd16eda2a9a64f2515ec47a82/storage_tiering.cpp#L677-L695As you can see, the
rule-engine-instance-name
is being included here, but I think it may be getting dropped.This only applies to 4-2-stable at this time as this only affects the unified storage tiering plugin and master branch is missing some changes made to support the unified storage tiering plugin.