-
SUMMARYI have encountered an unexpected behavior while working with StackStorm workflows involving encrypted data stored in the datastore. STACKSTORM VERSIONst2 3.8.1, on Python 3.8.10 OS, environment, install methodDocker Steps to reproduce the problemEncrypted List Storage: I have stored an encrypted list in the StackStorm datastore using the following command:
My workflow meta:
Observed Behavior:The workflow executes successfully when triggered directly from the web UI or using the command line:
However, when the same workflow is triggered using core.st2.IntervalTimer, it fails to initiate and throws a validation error:
Expected ResultsThe workflow should correctly decrypt and validate the list stored in the datastore as an array, regardless of whether it is triggered directly or via core.st2.IntervalTimer. Actual Behavior:The workflow fails to validate the decrypted list as an array when triggered by core.st2.IntervalTimer. Request for Assistance:Could you please help me understand why the validation fails when triggered by core.st2.IntervalTimer and guide me on how to correctly pass a list from the datastore to the default value in my workflow parameters? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
I’ve recently made changes to our workflow, replacing an array with comma-separated string values. While the workflow works fine when executed from the web interface and the command line, I’ve encountered a strange issue.
The problem arises when a rule triggers the associated action. The action fails with the following error message:
However, I can personally verify that the file datastore_key.json does exist. What’s even more peculiar is that if I re-run the same action without making any changes, it runs successfully 🤯 As I'm running stackstorm in docker container. If the issue is related to file not found, Then why is it working on re-run from history. 🤔 Any insights or suggestions on how to troubleshoot this issue would be greatly appreciated! Note : After more analysis, It's related to keystore decryption. When we store value without encryption. Rule interval timer works fine. |
Beta Was this translation helpful? Give feedback.
-
I was able to fix this! As suspected, it was due to the container not having access to the key store volume. I've added a pull request to address this: Pull Request #264. |
Beta Was this translation helpful? Give feedback.
I was able to fix this! As suspected, it was due to the container not having access to the key store volume.
I've added a pull request to address this: Pull Request #264.