Summary
On St2 test and corp, the custom workflow fails because of the error: “error”: “Non-hexadecimal digit found” on “task_id”: “get_z_hostid”
Steps to Reproduce the error.
-
Login to St2 and run automation.zabbix.host.global_update action.
-
Input a device’s FQDN and run the action.
What Is the Current Unexpected Behavior?
The automation.zabbix.host.global_update fails to complete due to an error with either Python, St2, or Zabbix.
What is the Correct Behavior?
The custom workflow in St2 completes, devices are updated, and correct in Netbox.
Relevant logs and/or Screenshots
{
"output": null,
"errors": [
{
"message": "Execution failed. See result for details.",
"type": "error",
"result": {
"traceback": " File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2actions/worker.py\", line 158, in _run_action
result = self.container.dispatch(liveaction_db)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2actions/container/base.py\", line 65, in dispatch
runner = self._get_runner(runner_type_db, action_db, liveaction_db)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2actions/container/base.py\", line 342, in _get_runner
config = config_loader.get_config()
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/util/config_loader.py\", line 82, in get_config
config_db=config_db)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/util/config_loader.py\", line 94, in _get_values_for_config
config = self._assign_dynamic_config_values(schema=schema_values, config=config)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/util/config_loader.py\", line 135, in _assign_dynamic_config_values
parent_keys=parent_keys)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/util/config_loader.py\", line 150, in _assign_dynamic_config_values
config_schema_item=schema_item)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/util/config_loader.py\", line 216, in _get_datastore_value_for_expression
value = deserialize_key_value(value=value, secret=secret)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/services/config.py\", line 96, in deserialize_key_value
value = symmetric_decrypt(KeyValuePairAPI.crypto_key, value)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/util/crypto.py\", line 189, in symmetric_decrypt
return cryptography_symmetric_decrypt(decrypt_key=decrypt_key, ciphertext=ciphertext)
File \"/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/util/crypto.py\", line 276, in cryptography_symmetric_decrypt
ciphertext = binascii.unhexlify(ciphertext)
",
"error": "Non-hexadecimal digit found"
},
"task_id": "get_z_hostid
Troubleshooting that has been tried.
-
Because the error initially reported that a non-hexadecimal digit was found with a service account, A password change was completed to remove any non-hexadecimal characters. - This did not work.
-
Configured the Zabbix pack to use credentials in plaintext and that worked but an unacceptable fix as the password is in plaintext.
-
Installing pip and pycrypto, reloading St2 with the command sudo st2ctl restart - This did not work.
-
Generated a token to update the Zabbix pack to version 0.3.0 - This did not work.
-
Updating the gcc complier version to version 9 per Github issue from St2 Dev and Ubuntu commands to update gcc for Ubuntu 16.04 - This did not work.