v3.2.0
https://stackstorm.com/2020/04/30/stackstorm-v3-2-0-released/
Added
- Add support for blacklisting / whitelisting hosts to the HTTP runner by adding new
url_hosts_blacklist
andurl_hosts_whitelist
runner attribute. (new feature)
#4757 - Add
user
parameter tore_run
method of st2client. #4785 - Install pack dependencies automatically. #4769
- Add support for
immutable_parameters
on Action Aliases. This feature allows default
parameters to be supplied to the action on every execution of the alias. #4786 - Add
get_entrypoint()
method toActionResourceManager
attribute of st2client.
#4791 - Add support for orquesta task retry. (new feature)
- Add config option
scheduler.execution_scheduling_timeout_threshold_min
to better control the cleanup of scheduled actions that were orphaned. #4886
Changed
-
Install pack with the latest tag version if it exists when branch is not specialized.
(improvement) #4743 -
Implement "continue" engine command to orquesta workflow. (improvement) #4740
-
Update various internal dependencies to latest stable versions (apscheduler, eventlet,
kombu, amqp, pyyaml, mongoengine, python-gnupg, paramiko, tooz, webob, bcrypt).Latest version of mongoengine should show some performance improvements (5-20%) when
writing very large executions (executions with large results) to the database. #4767 -
Improved development instructions in requirements.txt and dist_utils.py comment headers
(improvement) #4774 -
Add new
actionrunner.stream_output_buffer_size
config option and default it to-1
(previously default value was0
). This should result in a better performance and smaller
CPU utilization for Python runner actions which produce a lot of output.
(improvement) -
Add new
action_runner.pip_opts
st2.conf config option which allows user to specify a list
of command line option which are passed topip install
command when installing pack
dependencies into a pack specific virtual environment. #4792 -
Refactor how orquesta handles individual item result for with items task. Before the fix,
when there are a lot of items and/or result size for each item is huge, there is a negative
performance impact on write to the database when recording the conductor state. (improvement) -
Remove automatic rendering of workflow output when updating task state for orquesta workflows.
This caused workflow output to render incorrectly in certain use case. The render_workflow_output
function must be called separately. (improvement) -
Update various internal dependencies to latest stable versions (cryptography, jinja2, requests,
apscheduler, eventlet, amqp, kombu, semver, six) #4819 (improvement) -
Improve MongoDB connection timeout related code. Connection and server selection timeout is now
set to 3 seconds. Previously a default value of 30 seconds was used which means that for many
connection related errors, our code would first wait for this timeout to be reached (30 seconds)
before returning error to the end user. #4834 -
Upgrade
pymongo
to the latest stable version (3.10.0.
). #4835 (improvement) -
Updated Paramiko to v2.7.1 to support new PEM ECDSA key formats #4901 (improvement)
-
Remove
.scrutinizer.yml
config file. No longer used. -
Convert escaped dict and dynamic fields in workflow db models to normal dict and dynamic fields.
(performnce improvement) -
Add support for
PEP 508 <https://www.python.org/dev/peps/pep-0508/stackstorm/st2#environment-markers>
_
environment markers in generatedrequirements.txt
files. (improvement) #4895 -
Use
pip-compile
frompip-tools
instead ofpip-conflict-checker
(improvement) #4896 -
Refactor how inbound criteria for join task in orquesta workflow is evaluated to count by
task completion instead of task transition. (improvement) -
The workflow engine orquesta is updated to v1.1.0 for the st2 v3.2 release. The version upgrade
contains various new features and bug fixes. Please review the release notes for the full list of
changes at https://github.com/StackStorm/orquesta/releases/tag/v1.1.0 and the st2 upgrade notes
for potential impact. (improvement)
Fixed
-
Fix the action query when filtering tags. The old implementation returned actions which have the
provided name as action name and not as tag name. (bug fix) #4828Reported by @angrydeveloper and contributed by Marcel Weinberg (@winem)
-
Fix the passing of arrays to shell scripts where the arrays where not detected as such by the
st2 action_db utility. This caused arrays to be passed as Python lists serialized into a string.Reported by @kingsleyadam #4804 and contributed by Marcel Weinberg (@winem) #4861
-
Fix ssh zombies when using ProxyCommand from ssh config #4881 [Eric Edgar]
-
Fix rbac with execution view where the rbac is unable to verify the pack or uid of the execution
because it was not returned from the action execution db. This would result in an internal server
error when trying to view the results of a single execution.
Contributed by Joshua Meyer (@jdmeyer3) #4758 -
Fixed logging middleware to output a
content_length
of0
instead ofInfinity
when the type of data being returned is not supported. Previously, when the value was
set toInfinity
this would result in invalid JSON being output into structured
logs. (bug fix) #4722Contributed by Nick Maludy (@nmaludy Encore Technologies)
-
Fix the workflow execution cancelation to proceed even if the workflow execution is not found or
completed. (bug fix) #4735 -
Added better error handling to
contrib/linux/actions/dig.py
to inform if dig is not installed.
Contributed by JP Bourget (@punkrokk Syncurity) #4732 -
Update
dist_utils
module which is bundled withst2client
and other Python packages so it
doesn't depend on internal pip API and so it works with latest pip version. (bug fix) #4750 -
Fix dependency conflicts in pack CI runs: downgrade requests dependency back to 0.21.0, update
internal dependencies and test expectations (amqp, pyyaml, prance, six) (bugfix) #4774 -
Fix secrets masking in action parameters section defined inside the rule when using
GET /v1/rules
andGET /v1/rules/<ref>
API endpoint. (bug fix) #4788 #4807Contributed by @Nicodemos305 and @jeansfelix
-
Fix a bug with authentication API endpoint (
POST /auth/v1/tokens
) returning internal
server error when running under gunicorn and whenauth.api_url
config option was not set.
(bug fix) #4809Reported by @guzzijones
-
Fixed
st2 execution get
andst2 run
not printing theaction.ref
for non-workflow
actions. (bug fix) #4739Contributed by Nick Maludy (@nmaludy Encore Technologies)
-
Update
st2 execution get
command to always includecontext.user
,start_timestamp
and
end_timestamp
attributes. (improvement) #4739 -
Fixed
core.sendmail
base64 encoding of longer subject lines (bug fix) #4795Contributed by @stevemuskiewicz and @guzzijones
-
Update all the various rule criteria comparison operators which also work with strings (equals,
icontains, nequals, etc.) to work correctly on Python 3 deployments if one of the operators is
of a type bytes and the other is of a type unicode / string. (bug fix) #4831 -
Fix SSL connection support for MongoDB and RabbitMQ which wouldn't work under Python 3 and would
result in cryptic "maximum recursion depth exceeded while calling a Python object" error on
connection failure.NOTE: This issue only affected installations using Python 3. (bug fix) #4832 #4834
Reported by @alexku7.
-
Fix the amqp connection setup for WorkflowExecutionHandler to pass SSL params. (bug fix) #4845
Contributed by Tatsuma Matsuki (@mtatsuma)
-
Fix dependency conflicts by updating
requests
(2.23.0) andgitpython
(2.1.15). #4869 -
Fix orquesta syntax error for with items task where action is misindented or missing. (bug fix)
PR StackStorm/orquesta#195. -
Fix orquesta yaql/jinja vars extraction to ignore methods of base ctx() dict. (bug fix)
PR StackStorm/orquesta#196. Fixes #4866. -
Fix parsing of array of dicts in YAQL functions. Fix regression in YAQL/Jinja conversion
functions as a result of the change. (bug fix) PR StackStorm/orquesta#191.Contributed by Hiroyasu Ohyama (@userlocalhost)
Removed
- Removed Ubuntu 14.04 from test matrix #4897