st2

StackStorm (aka "IFTTT for Ops") is event-driven automation for auto-remediation, incident responses, troubleshooting, deployments, and more for DevOps and SREs. Includes rules engine, workflow, 160 integration packs with 6000+ actions (see https://exchange.stackstorm.org) and ChatOps. Installer at https://docs.stackstorm.com/install/index.html

APACHE-2.0 License

Downloads
2.8K
Stars
5.9K
Committers
184

Bot releases are hidden (Show)

st2 -

Published by bigmstone about 6 years ago

Added

  • Add new runners: winrm-cmd, winrm-ps-cmd and winrm-ps-script.
    The winrm-cmd runner executes Command Prompt commands remotely on Windows hosts using the
    WinRM protocol. The winrm-ps-cmd and winrm-ps-script runners execute PowerShell commands
    and scripts on remote Windows hosts using the WinRM protocol.

    To accompany these new runners, there are two new actions core.winrm_cmd that executes remote
    Command Prompt commands along with core.winrm_ps_cmd that executes remote PowerShell commands.
    (new feature) #1636

    Contributed by Nick Maludy (Encore Technologies).

  • Add new ?tags, query param filter to the /v1/actions API endpoint. This query parameter
    allows users to filter out actions based on the tag name . By default, when no filter values are
    provided, all actions are returned. (new feature) #4219

  • Add a new standalone standalone st2-pack-install CLI command. This command installs a pack
    (and sets up the pack virtual environment) on the server where it runs. It doesn't register the
    content. It only depends on the Python, git and pip binary and st2common Python package to be
    installed on the system where it runs. It doesn't depend on the database (MongoDB) and message
    bus (RabbitMQ).

    It's primary meant to be used in scenarios where the content (packs) are baked into the base
    container / VM image which is deployed to the cluster.

    Keep in mind that the content itself still needs to be registered with StackStorm at some later
    point when access to RabbitMQ and MongoDB is available by running
    st2ctl reload --register-all. (new feature) #3912 #4256

  • Add new /v1/stream/executions/<id>/output[?output_type=all|stdout|stderr] stream API
    endpoint.

    This API endpoint returns event source compatible response format.

    For running executions it returns any output produced so far and any new output as it's produced.
    Once the execution finishes, the connection is automatically closed.

    For completed executions it returns all the output produced by the execution. (new feature)

  • Add new core.inject_trigger action for injecting a trigger instance into the system.

    Keep in mind that the trigger which is to be injected must be registered and exist in the system.
    (new feature) #4231 #4259

  • Add support for ?include_attributes query param filter to all the content pack resource
    get all (list) API endpoints (actions, rules, trigger, executions, etc.). With this query
    parameter user can control which API model attributes (fields) to receive in the response. In
    situations where user is only interested in a subset of the model attributes, this allows for a
    significantly reduced response size and for a better performance. (new feature) (improvement)
    #4300

  • Add new action_sensor.emit_when config option which allows user to specify action status for
    which actiontrigger is emitted. For backward compatibility reasons it defaults to all the action
    completed states. (improvement) #4312 #4315

    Contributed by Shu Sugimoto.

  • Improve performance of schedule action execution (POST /v1/executions) API endpoint.

    Performance was improved by reducing the number of duplicated database queries, using atomic
    partial document updates instead of full document updates and by improving database document
    serialization and de-serialization performance. (improvement) #4030 #4331

  • Ported existing YAQL and Jinja functions from st2common to Orquesta. (new feature)

  • Add error entry in Orquesta workflow result on action execution failure. (improvement)

Changed

  • st2 key list command now defaults to --scope=all aka displaying all the datastore values
    (system and current user scoped) . If you only want to display system scoped values (old behavior)
    you can do that by passing --scope=system argument to the st2 key list command
    (st2 key list --scope=system). (improvement) #4221

  • The orquesta conductor implemented event based state machines to manage state transition of
    workflow execution. Interfaces to set workflow state and update task on action execution
    completion have changed and calls to those interfaces are changed accordingly. (improvement)

  • Change GET /v1/executions/<id>/output API endpoint so it never blocks and returns data
    produced so far for running executions. Behavior for completed executions is the same and didn't
    change - all data produced by the execution is returned in the raw format.

    The streaming (block until execution has finished for running executions) behavior has been moved
    to the new /stream/v1/executions/<id>/output API endpoint.

    This way we are not mixing non-streaming (short lived) and streaming (long lived) connections
    inside a single service (st2api). (improvement)

  • Upgrade mongoengine (0.15.3) and pymongo (3.7.1) to the latest stable version. Those
    changes will allow us to support MongoDB 3.6 in the near future.

    New version of mongoengine should also offer better performance when inserting and updating
    larger database objects (e.g. executions). (improvement) #4292

  • Trigger parameters and payload schema validation is now enabled by default
    (system.validate_trigger_parameters and system.validate_trigger_payload config options
    now default to True).

    This means that trigger parameters are now validated against the parameters_schema defined on
    the trigger type when creating a rule and trigger payload is validated against payload_schema
    when dispatching a trigger via the sensor or via the webhooks API endpoint.

    This provides a much safer and user-friendly default value. Previously we didn't validate trigger
    payload for custom (non-system) triggers when dispatching a trigger via webhook which meant that
    webhooks API endpoint would silently accept an invalid trigger (e.g. referenced trigger doesn't
    exist in the database or the payload doesn't validate against the payload_schema), but
    TriggerInstanceDB object would never be created because creation failed inside the
    st2rulesengine service. This would make such issues very hard to troubleshoot because only
    way to find out about this failure would be to inspect the st2rulesengine service logs.
    (improvement) #4231

  • Improve code metric instrumentation and instrument code and various services with more metrics.
    Also document various exposed metrics. Documentation can be found at
    https://docs.stackstorm.com/latest/reference/metrics.html (improvement) #4310

  • Add new metrics.prefix config option. With this option user can specify an optional prefix
    which is prepended to each metric key (name). This comes handy in scenarios where user wants to
    submit metrics from multiple environments / deployments (e.g. testing, staging, dev) to the same
    backend instance. (improvement) #4310

  • Improve st2 execution tail CLI command so it also supports Orquesta workflows and arbitrarily
    nested workflows. Also fix the command so it doesn't include data from other unrelated running
    executions. (improvement) #4328

  • Change default NGINX configuration to use HTTP 308 redirect, rather than 301, for plaintext requests.
    #4335

  • Improve performance of the GET /v1/actions/views/overview API endpoint. (improvement) #4337

Fixed

  • Fix an issue with AttributeError: module 'enum' has no attribute 'IntFlag' error which would
    appear when using Python 3 for a particular pack virtual environment and running on RHEL /
    CentOS. (bug fix) #4297

  • Fix a bug with action runner throwing an exception and failing to run an action if there was an
    empty pack config inside /opt/stackstorm/configs/. (bug fix) #4325

  • Fix action_sensor.enable config option so it works correctly if user sets this option to a
    non-default value of True. (bug fix) #4312 #4315

    Contributed by Shu Sugimoto.

  • Update GET /v1/actions/views/entry_point/<action ref> to return correct Content-Type
    response header based on the entry point type / file extension. Previously it would always
    incorrectly return application/json. (improvement) #4327

Deprecated

  • The CloudSlang runner is now deprecated. In StackStorm 3.1 it will be removed from the core
    StackStorm codebase. The runner code will be moved to a separate repository, and no longer
    maintained by the core StackStorm team. Users will still be able to install and use this runner,
    but it will require additional steps to install.
  • The winexe-based Windows runners are now deprecated. They will be removed in StackStorm 3.1.
    They have been replaced by pywinrm-based Windows runners. See
    https://docs.stackstorm.com/latest/reference/runners.html#winrm-command-runner-winrm-cmd
    for more on using these new runners.
st2 - v2.8.1

Published by Kami over 6 years ago

Added

  • Update st2 CLI to inspect COLUMNS environment variable first when determining the
    terminal size. Previously this environment variable was checked second last (after trying to
    retrieve terminal size using various OS specific methods and before falling back to the default
    value).

    This approach is more performant and allows user to easily overwrite the default value or value
    returned by the operating system checks - e.g. by running COLUMNS=200 st2 action list.
    (improvement) #4242

Changed

  • Update st2client/setup.py file to dynamically load requirements from
    st2client/requirements.txt file. The code works with pip >= 6.0.0, although using pip 9.0.0
    or higher is strongly recommended. (improvement) #4209

  • Update st2 CLI to use a more sensible default terminal size for table formatting purposes if
    we are unable to retrieve terminal size using various system-specific approaches.

    Previously we would fall back to a very unfriendly default of 20 columns for a total terminal
    width. This would cause every table column to wrap and make output impossible / hard to read.
    (improvement) #4242

Fixed

  • Fixed a bug where secret: true was not applying to full object and array trees. (bugfix) #4234
    Reported by @jjm

    Contributed by Nick Maludy (Encore Technologies).

  • Mark password http-runner parameter as a secret. (bug fix) #4245

    Reported by @daniel-mckenna

st2 - v2.8.0

Published by enykeev over 6 years ago

Added

  • Orchestra - new StackStorm-native workflow engine. This is currently in beta. (new feature)

  • Added metrics for collecting performance and health information about the various ST2 services and functions. (new feature) #4004 #2974

  • When running a dev (unstable) release include git revision hash in the output when using st2 --version CLI command. (new feature) #4117

  • Update rules engine to also create rule enforcement object when trigger instances fails to match a rule during the rule matching / filtering phase due to an exception in the rule criteria (e.g. invalid Jinja expression, etc.).

  • This change increases visibility into rules which didn't match due to an exception. Previously this was only visible / reflected in the rules engine log file. (improvement) #4134

  • Add new GET /v1/ruleenforcements/views[/] API endpoints which allow user to retrieve RuleEnforcement objects with the corresponding TriggerInstance and Execution objects. (new feature) #4134

  • Add new status field to the RuleEnforcement model. This field can contain the following values - succeeded (trigger instance matched a rule and action execution was triggered successfully), failed (trigger instance matched a rule, but it didn't result in an action execution due to Jinja rendering failure or other exception). (improvement) #4134 #4152

  • Add trigger type reference based filtering to the /v1/triggerinstances API endpoint - e.g. /v1/triggerinstances?trigger_type=core.st2.webhook. (new feature) #4151

  • Add new --python3 flag to st2 pack install CLI command and python3 parameter to packs.{install,setup_virtualenv} actions. When the value of this parameter is True, it uses python3 binary when creating virtual environment for that pack (based on the value of actionrunner.python3_binary config option).

    Note 1: For this feature to work, Python 3 needs to be installed on the system, virtualenv package installed on the system needs to support Python 3 (it needs to be a recent version) and pack in question needs to support Python 3.

    Note 2: This feature is experimental and opt-in. (new feature) #4016 #3922 #4149

  • Add two new Jinja filters - basename (os.path.basename) and dirname (os.path.dirname). #4184

    Contributed by Florian Reisinger (@reisingerf).

Changed

  • Update st2 CLI to create the configuration directory and file, and authentication tokens with secure permissions (eg: readable only to owner) #4173

  • Refactor the callback module for the post run in runner to be more generic. (improvement)

  • Update various Python dependencies to the latest stable versions (gunicorn, gitpython, python-gnupg, tooz, flex). #4110

  • Update all the service and script entry points to use /etc/st2/st2.conf as a default value for the config file location.

  • This way users don't need to explicitly provide --config-file CLI argument when running various scripts (e.g. st2-track-result, st2-apply-rbac-definitions, etc.) and when they just want to use a default config file. (improvement) #4111

  • Update st2 CLI to print a warning if a non-unicode system locale which would prevent StackStorm to function correctly in some scenarios is used. (improvement) #4127 #4120

  • Upgrade various internal Python library dependencies to the latest stable versions (kombu, amqp, gitpython, pytz, semver, oslo.utils). (improvement) #4162

  • Move from keyczar library to cryptography library for handling symmetric encryption and decryption (secret datastore values).

    Note: This change is fully backward compatible since it just changes the underlying backend and implementation details. The same underlying encryption algorithm is used (AES256 in CBC mode with HMAC signature). (improvement) #4165

Fixed

  • Fixed a bug where secrets in pack configs weren't being masked.

    Recently we introduced support for nested objects and arrays. Secret parameters within these nested objects and arrays were not being masked. The fix involves us fully traversing deeply nested objects and arrays and masking out any variables marked as secret. This means we now support pack config JSON schemas with type: object and its corresponding parameters: {} stanza, along with type: array and its corresponding items: {} stanza. We still do NOT support JSON schema combinations that includes the anyOf, allOf, oneOf, and not keywords. (bug fix) #4139

    Contributed by Nick Maludy (Encore Technologies).

  • Style clean up to transport queues module and various config modules. (improvement)

  • Fixed CLI help for st2 action-alias match and execute. (#4174).

  • Fix regression in ?include_attributes query param filter in the /v1/executions API endpoint. (bug fix) #4226

st2 - v2.7.2

Published by Kami over 6 years ago

Changed

  • Reduce load on LDAP server and cache user groups response in an in-memory cache when RBAC
    remote LDAP group to local RBAC role synchronization feature is enabled.

    Previously on authentication the code would hit LDAP server multiple times to retrieve user
    groups. With this change, user LDAP groups are only retrieved once upon authentication and
    cached and re-used in-memory by default for 120 seconds.

    This reduces load on LDAP server and improves performance upon regular and concurrent user
    authentication.

    This functionality can be disabled by setting cache_user_groups_response LDAP
    authentication backend kwarg to false.

    Note: This change only affects users which utilize RBAC with remote LDAP groups to local RBAC
    roles synchronization feature enabled. (enterprise) (bug fix) #4103 #4105

Fixed

  • Fix an issue (race condition) which would result in not all the remote LDAP groups being
    synchronized with local RBAC roles if a user tried to authenticate with the same auth token
    concurrently in a short time frame.

    Note: This issue only affects users which utilize RBAC with remote LDAP groups to local RBAC
    roles synchronization feature enabled. (enterprise) (bug fix) #4103 #4105

  • Fix an issue with some sensors which rely on select.poll() (FileWatch, GithubSensor, etc.)
    stopped working with StackStorm >= 2.7.0.

    StackStorm v2.7.0 inadvertently introduced a change which broke a small set of sensors which
    rely on select.poll() functionality. (bug fix) #4118

  • Throw if id CLI argument is not passed to the st2-track-result script. (bug fix) #4115

  • Fixed pack config's not properly rendering Jinja expressions within lists. (bugfix) #4121

    Contributed by Nick Maludy (Encore Technologies).

  • Fixed pack config rendering error throw meaningful message when a Jinja syntax error is
    encountered. (bugfix) #4123

    Contributed by Nick Maludy (Encore Technologies).

st2 - v2.7.1

Published by Kami over 6 years ago

Changed

  • When creating a pack environment during the pack installation, we now pass --no-download flag
    to the virtualenv binary. This way version of pip, wheel and distutils which is enforced by
    virtualenv is used instead of downloading the latest stable versions from PyPi.

    This results in more reproducible pack virtual environments and we also ensure pip 9.0 is used (
    there are some known issues with pip 10.0).

    If for some reason you want to revert to the old behavior, you can do that by passing
    no_download=False parameter to the packs.setup_virtualenv action. #4085

Fixed

  • Fix st2 pack search and POST /api/v1/packs/index/search API endpoint so it doesn't
    return internal server error when a single pack search term is provided. (bug fix) #4083
st2 - v2.7.0

Published by Kami over 6 years ago

Added

  • Update st2 execution tail command so it supports double nested workflows (workflow ->
    workflow -> execution). Previously, only top-level executions and single nested workflows
    (workflow -> execution) were supported. (improvement) #3962 #3960

  • Add support for utf-8 / unicode characters in the pack config files. (improvement) #3980 #3989

    Contributed by @sumkire.

  • Added the ability of st2ctl to utilize environment variables from /etc/default/st2ctl
    (for Ubuntu/Debian) and /etc/sysconfig/st2ctl (RHEL/CentOS). This allows
    deployments to override COMPONENTS and ST2_CONF in a global location
    so st2ctl can start/stop/restart selected components and utilize a non-default
    location for st2.conf.
    (new feature) #4027

    Contributed by Nick Maludy (Encore Technologies).

  • Add support for new optional content_version runner parameter to the Python and Local Shell
    Script runner. This parameter can contain a git commit hash / tag / branch from a pack git
    repository and runner will ensure this revision of the pack content (Python action / local shell
    script action) is used for a particular action execution.

    Keep in mind that providing this parameter only ensures a particular revision of the pack content
    is used. Python runner virtual environment and dependencies are outside of this scope.

    Note: To be able to utilize this functionality, git version >= 2.5.0 must be installed on the
    system.
    (new feature) #3997

  • Update windows runner to correctly handle and use timeout action execution status.
    (improvement) #4047

  • Add missing scope, decrypt and encrypt arguments to the datastore management
    related methods on the SensorService class. (improvement) #3895 #4057 #4058

    Reported by @djh2020, @mxmader.

Changed

  • Modified RabbitMQ connection error message to make clear that it is an MQ connection issue. #3992

  • Additional refactor which makes action runners fully standalone and re-distributable Python
    packages. Also add support for multiple runners (runner modules) inside a single Python package
    and consolidate Python packages from two to one for the following runners: local runners, remote
    runners, windows runners. (improvement) #3999

  • Upgrade eventlet library to the latest stable version (0.22.1) (improvement) #4007 #3968

  • Increase maximum retry delay for action.retry policy from 5 seconds to 120 seconds. Because
    of the way retries are currently implemented (they are not st2notifier service restart safe),
    long retry delays are not recommended. For more information on this limitation please refer to
    the documentation - https://docs.stackstorm.com/reference/policies.html#retry. #3630 #3637

  • Update Python runner so it throws a more user-friendly exception in case Python script tries to
    access a key in self.config dictionary which doesn't exist. (improvement) #4014

  • Update various Python dependencies to the latest stable versions (apscheduler, gitpython,
    pymongo, stevedore, paramiko, tooz, flex, webob, prance).

  • Refactored mistral runner to support callback from mistral instead of relying on st2resultstracker.
    This reduces the unnecessary traffic and CPU time by querying the mistral API. Included a command to
    manually add a state entry for Mistral workflow execution to recover from any callback failures.
    (improvement)

  • Throw a more user-friendly error when writing pack data files to disk and when an invalid file
    path is provided (e.g. path is outside the pack directory, etc.). (improvement) #4039 #4046

  • Change the output object returned by Windows runners so it matches the format from the local and
    remote runner.

    Note: This change is backward incompatible - result attribute has been removed (same
    information is available in stdout attribute), exit_code renamed to return_code and
    two new attributes added - succeeded and failed.

    For more information, please refer to the upgrade notes. #4044 #4047

Fixed

  • Fix Python runner actions and Argument list too long error when very large parameters are
    passed into the action. The fix utilizes stdin to pass parameters to the Python action wrapper
    process instead of CLI argument list. (bug fix) #1598 #3976

  • Fix a regression in POST /v1/webhooks/<webhook name> API endpoint introduced in v2.4.0
    and add back support for arrays. In 2.4.0 support for arrays was inadvertently removed and
    only objects were supported. Keep in mind that this only applies to custom user-defined
    webhooks and system st2 webhook still requires input to be an object (dictionary).
    (bug fix) #3956 #3955

  • Fix a bug in the CLI causing st2 execution pause and st2 execution resume
    to not work. (bugfix) #4001

    Contributed by Nick Maludy (Encore Technologies).

  • Fixed missing "paused" status option from "st2 execution list" help output. (bugfix) #4037

    Contributed by Ben Hohnke (NTT Communications ICT Solutions)

  • Fix "st2 pack install" command so it doesn't require access to pack index (index.stackstorm.org)
    when installing a local pack (pack name starting with "file://"). (bug fix) #3771 #3772

  • Fix rules engine so it correctly handles and renders action parameters which contain Jinja
    expressions and default values. (bug fix) #4050 #4050

    Reported by @rakeshrm.

  • Make sure observer system role also grants pack_search permission. (bug fix) #4063 #4064

    Reported by @SURAJTHEGREAT.

  • Fix st2 webhook get -h which was asking for a name or id as opposed to the URL of the webhook.
    Also, fix st2 webhook list to explicitly add a webhook column. (bugfix) #4048

st2 - v2.6.0

Published by Kami over 6 years ago

https://stackstorm.com/2018/01/25/new-year-new-stackstorm-v2-6-released/

Added

  • Add new get_user_info method to action and sensor service. With this method, user can
    retrieve information about the user account which is used to perform datastore operations inside
    the action and sensor service. (new feature) #3831

  • Add new /api/v1/user API endpoint. This API endpoint is only available to the authenticated
    users and returns various metadata on the authenticated user (which method did the user use to
    authenticate, under which username the user is authenticated, which RBAC roles are assignment to
    this user in case RBAC is enabled, etc.) (new feature) #3831

  • The /api/v1/match_and_execute API endpoint matches a single alias and executes multiple times
    if the alias format has a match_multiple key set to true. Please refer to the
    documentation for usage. #3884

    Contributed by @ahubl-mz.

  • Add ability to share common code between python sensors and python actions. You can now place
    common code inside a lib directory inside a pack (with an __init__.py inside lib
    directory to declare it a python package). You can then import the common code in sensors and
    actions. Please refer to documentation for samples and guidelines. #3490

  • Add support for password protected sudo to the local and remote runner. Password can be provided
    via the new sudo_password runner parameter. (new feature) #3867

  • Add new --tail flag to the st2 run / st2 action execute and st2 execution re-run
    CLI command. When this flag is provided, new execution will automatically be followed and tailed
    after it has been scheduled. (new feature) #3867

  • Added flag --auto-dict to st2 run and st2 execution re-run commands. This flag must now
    be specified in order to automatically convert list items to dicts based on presence of colon
    (:) in all of the list items (new feature) #3909

  • Allow user to set default log level used by all the Python runner actions by setting
    actionrunner.pythonrunner```` option in st2.conf`` (new feature) #3929

  • Update st2client package which is also utilized by the CLI so it also works under Python 3.

    Note: Python 2.7 is only officially supported and tested Python version. Using Python 3 is at
    your own risk - they are likely still many bugs related to Python 3 compatibility. You have been warned.
    (new feature) #3929 #3932

    Contributed by Anthony Shaw.

  • Add ?limit=-1 support for the API to fetch full result set (CLI equivalent flag
    --last/-n). Post error message for limit=0 and fix corner case where negative values for
    limit query param were not handled correctly. #3761 #3708 #3735

  • Only allow RBAC admins to retrieve all the results at once using ?limit=-1 query param, upate
    the code so api.max_page_size config option only applies to non-admin users, meaning users
    with admin permission can specify arbitrary value for ?limit query param which can also be
    larger than api.max_page_size. (improvement) #3939

  • Add new ?include_attributes query param filter to /v1/executions/ API endpoint
    With this filter user can select which fields to include in the response (whitelist approach,
    opposite of the existing ?exclude_attributes filter).

    For example, if you only want to retrieve id and status field, the URL would look like
    this - /v1/executions?include_attributes=id,status. (new feature) #3953 #3858 #3856

Changed

  • st2actions.runners.pythonrunner.Action class path for base Python runner actions has been
    deprecated since StackStorm v1.6.0 and will be fully removed in StackStorm v2.7.0. If you have
    any actions still using this path you are encouraged to update them to use
    st2common.runners.base_action.Action path. #3803
  • Refactor st2common Python package so it's fully self sustaining and can be used in a
    standalone manner. (improvement) #3803
  • Refactor Python action runner so it only depends on st2common Python package (previously it
    also depended on st2actions) and can be used in a standalone mode. Previously pack config and
    and some other parameters were retrieved inside the Python process wrapper, but now they are
    retrieved inside the runner container and passed to the runner. This also makes it easier to add
    support for pack configs to other runners in the future. (improvement) #3803
  • Update various Python dependencies to the latest stable versions (kombu, amqp, apscheduler,
    gitpython, pymongo, stevedore, paramiko, prompt-toolkit, flex). #3830
  • Mask values in an Inquiry response displayed to the user that were marked as "secret" in the
    inquiry's response schema. #3825
  • Real-time action output streaming is now enabled by default. For more information on this
    feature, please refer to the documentation - https://docs.stackstorm.com/latest/reference/action_output_streaming.html.
    You can disable this functionality by setting actionrunner.stream_output config option in
    st2.conf to False and restart the services (sudo st2ctl restart).

Fixed

  • Fully fix performance regressions for short Python runner actions introduced in the past and
    partially fixed in #3809. (bug fix) #3803

  • Fix 'NameError: name 'cmd' is not defined' error when using linux.service with CentOS systems.
    #3843. Contributed by @shkadov

  • Fix bugs with newlines in execution formatter (client) (bug fix) #3872

  • Fixed st2ctl status to use better match when checking running process status. #3920

  • Removed invalid st2ctl option to re-open Mistral log files. #3920

  • Update garbage collection service and st2-purge-executions CLI tool and make deletion more
    efficient. Previously we incorrectly loaded all the execution fields in memory, but there was no
    need for that and now we only retrieve and load id which is the only field we need. #3936

    Reported by @kevin-vh.

st2 - v2.5.1

Published by humblearner almost 7 years ago

https://stackstorm.com/2017/12/19/early-christmas-stackstorm-patch-release-2-5-1/

Added

  • Add new log_level runner parameter to Python runner. With this parameter, user can control which log messages generated by Python runner actions are output to action stderr. For backward compatibility reasons it defaults to debug.
    This functionality comes handy in situations when an action depends on an external library which logs a lot of information under debug, but you only want to see messages with log level error or higher (or similar). (new feature) #3824

  • Add stevedore related metadata to Python package setup.py files for runner packages. This way runners can be installed using pip and dynamically enumerated and loaded using stevedore and corresponding helper functions.

    All runners are now also fully fledged Python packages (previously they were single module
    Python packages which caused various install and distribution related issues when installing
    them via pip) (new feature)

  • Add new search rule criteria comparison operator. Please refer to the documentation for
    usage. (new feature) #3833

    Contributed by @ahubl-mz.

  • Added flag --auto-dict to st2 run and st2 execution re-run commands. This flag must now
    be specified in order to automatically convert list items to dicts based on presence of colon
    (:) in all of the list items (new feature) #3909

Changed

  • Update the output of st2 execution {run,get} CLI command to colorize the value of the
    status attribute (green for succeeded, red for failed, etc. aka the same as for the
    output of st2 execution list command). (improvement) #3810

    Contributed by Nick Maludy (Encore Technologies).

  • Update log messages in the datastore service to correctly use DEBUG log level instead of
    AUDIT. #3845

Fixed

  • Fix log messages generated by Python runner actions to include the correct action class name.
    Previously they always incorrectly used "ABCMeta" instead of the actual action class name. (bug fix) #3824
  • Fix st2 execution tail [last] CLI command so it doesn't throw an exception if there are no executions in the database. (bug fix) #3760 #3802
  • Fix a bug with datastore service used inside the Python runner actions not correctly scoping the auth token to the user who triggered the action. Token was incorrectly scoped to api_service user without any permissions. (bug fix) #3823 #3535
  • Fix edge case for workflows stuck in running state. When Mistral receives a connection error from the st2 API on requesting action execution, there's a duplicate action execution stuck in requested state. This leads to the st2resultstracker assuming the workflow is still running.
  • Fix a regression and a bug with no API validation being performed and API returning 500 instead of 400 status code if user didn't include any request payload (body) when hitting POST and PUT API endpoints where body is mandatory. (bug fix) #3864
  • Fix a bug in Python runner which would cause action log messages to be duplicated in action stderr output when utilizing action service / datastore service inside actions. (bug fix) #3893
st2 - v2.5.0

Published by LindsayHill almost 7 years ago

https://stackstorm.com/2017/10/26/stackstorm-2-5-hit-streets/

Added

  • Add new feature which allows runner action output (stdout and stderr) to be streamed
    and consumed in real-time by using one of the following approaches:

    • /v1/executions/<execution id>/output[?type=stdout/stderr] API endpoint.
    • /v1/stream/ stream endpoint and listening for st2.execution.stdout__create and
      st2.execution.output__create /v1/stream stream API endpoint events.
    • st2 execution tail <execution id> [--type=stdout/stderr] CLI command (underneath it uses
      stream API endpoint).

    Right now this functionality is available for the following runners:

    • local command runner
    • local script runner
    • remote command runner
    • remote script runner
    • python runner

    Note: This feature is still experimental and it's disabled by default (opt-in). To enable it,
    set actionrunner.stream_output config option to True.

    (new feature) #2175 #3657 #3729

  • Update st2 role-assignment list RBAC CLI command to include information about where a
    particular assignment comes from (from which local assignment or mapping file). (improvement)
    #3763

  • Add support for overlapping RBAC role assignments for assignments via remote LDAP group to
    StackStorm role mappings. This means that the same role can now be granted via multiple RBAC
    mapping files.
    #3763

  • Add new Jinja filters from_json_string, from_yaml_string, and jsonpath_query.
    #3763

  • Add new "Inquiry" capability, which adds ability to "ask a question", usually in a workflow.
    Create a new runner type: "inquirer" to support this, as well as new API endpoints and
    client commands for interacting with Inquiries

    Contributed by mierdin. #3653

  • Added two new rule operators, inside and ninside which allow for the reverse intent of
    the contains and ncontains operators. #3781

    Contributed by @lampwins.

  • Allow user to use more expressive regular expressions inside action alias format string by
    allowing them to specify start (^) and end ($) anchors. Previously, those anchors were
    automatically added at the beginning and end of the alias format string. Now they are only added
    if a format string doesn't already contain them. #3789

    Contributed by @ahubl-mz.

  • Add new POST /v1/aliasexecution/match_and_execute API endpoint which allows user to
    schedule an execution based on a command string if a matching alias is found in the database.

    This API endpoint is meant to be used with chat bot plugins. It allows them to be simple thin
    wrappers around this API endpoint which send each chat line to this API endpoint and handle the
    response. #3773

  • Add several improvements to the installation scripts: They support using proxy servers.
    ~stanley no longer has to be /home/stanley. In addition to the on-screen display, the
    output from the installation script is now logged to a file beginning with st2-install under
    /var/log/st2/. Furthermore, the script handles re-runs better, although it's
    not fully idempotent yet. More improvements are expected in the near future.
    st2-packages: #505, #506, #507, #508, #509, #510, #512, #517.

Fixed

  • Fix a bug where sensor watch queues were not deleted after sensor container process was shut
    down. This resulted in spurious queues left behind. This should not have caused performance
    impact but just messes with rabbitmqadmin output and maybe tedious for operators. (bug fix) #3628

    Reported by Igor.

  • Make sure all the temporary RabbitMQ queues used by the stream service are deleted once the
    connection to RabbitMQ is closed. Those queues are temporary and unique in nature and new ones
    are created on each service start-up so we need to make sure to correctly clean up old queues. #3746

  • Fix cancellation of subworkflow and subchain. Cancel of Mistral workflow or Action Chain is
    cascaded down to subworkflows appropriately. Cancel from tasks in the workflow or chain is
    cascaded up to the parent. (bug fix)

  • Fix delays in st2resultstracker on querying workflow status from Mistral. Make sleep time for
    empty queue and no workers configurable. Reduce the default sleep times to 5 seconds. StackStorm
    instances that handle more workflows should consider increasing the query interval for better
    CPU utilization.

  • Fix missing type for the parameters with enum in the core st2 packs.(bug fix) #3737

    Reported by Nick Maludy.

  • Add missing -h / --help CLI flag to the following execution CLI commands: cancel, pause,
    resume. (bug fix) #3750

  • Fix execution cancel and pause CLI commands and make id a required argument. (bug fix) #3750

  • Fix st2 role-assignment list CLI command and allow --user, --remote and --role
    arguments to be used together. Previously they were mutually exclusive so it wasn't possible to
    use them together. (bug fix) #3763

  • Update default event name whitelist for /v1/stream API endpoint and make sure
    st2.announcement__errbot and other event names starting with st2.announcement__* prefix
    are not filtered out. #3769 (bug fix)

    Reported by Carlos.

  • Fix action-alias execute response to show execution id and matching action-alias #3231 (bug fix)
    Reported by Carlos.

  • Fix st2 apikey load command to update an existing entry if items in input file contain id
    attribute and item already exists on the server. This way the behavior is consistent with
    st2 key load command and the command is idempotent if each item contains id attribute.
    #3748 #3786

    Reported by Christopher Baklid.

  • Don't log MongoDB database password if user specifies URI for database.db_host config
    parameter and that URI also includes a password. Default and a common scenario is specifying
    password as a separate database.password config parameter. #3797

    Reported by Igor Cherkaev.

  • Fix POST /v1/actionalias/match API endpoint to correctly return a dictionary instead of an
    array. We had a correct OpenAPI definition for the response, but the code incorrectly returned
    an array instead of a dictionary.

    Note: This is a breaking change so if your code utilizes this API endpoint you need to update
    to treat response as a dictionary and not as an array with a single item. #377

  • Partially fix performance overhead and regression for short and simple Python runner actions.
    Full / complete fix will be included in v2.6.0. #3809

Changed

  • Minor language and style tidy up of help strings and error messages #3782
st2 - v2.4.1

Published by m4dcoder about 7 years ago

https://stackstorm.com/2017/09/18/quick-one-st2-2-4-1-released/

Fixed

  • Fix a bug with /v1/packs/install and /v1/packs/uninstall API endpoints incorrectly using
    system user for scheduled pack install and pack uninstall executions instead of the user which
    performed the API operation.(bug fix) #3693 #3696

    Reported by theuiz.

  • Fix mistral callback failure when result contains unicode. (bug fix)

  • Fix cancellation of delayed action execution for tasks in workflow. (bug fix)

  • Fix timeout of mistral shutdown in systemd service. The fix is done upstream.
    https://review.openstack.org/#/c/499853/ (bug fix)

st2 - v2.4.0

Published by m4dcoder about 7 years ago

https://stackstorm.com/2017/08/24/whats-stackstorm-2-4-already/

Added

  • Add sample passive sensor at contrib/examples/sensors/echo_flask_app. (improvement) #3667

  • Add pack config into action context. This is made available under the config_context key.
    #3183

  • Add limit/"-n" flag and pagination note(stderr) in the CLI for st2 key list.
    Default limit is 50. #3641

  • Implement pause and resume for Mistral workflow and Action Chain. Pause and resume will
    cascade down to subworkflows and/or subchains. Pause from a subworkflow or subchain
    will cascade up to the parent workflow. (new feature)

  • Add pack index endpoint. It will made a request for every index defined in st2.conf and return
    the combined list of available packs.

  • Added a new field timestamp_f to the GELF logging formatter that represents
    the time of the logging even in fractional time (resolution is dependent on your
    system). This allows adjacent logging events to be distinguished more accurately
    by the time they occurred.
    Contributed by Nick Maludy (Encore Technologies) #3362

  • Require new STREAM_VIEW RBAC permission type to be able to view /v1/stream stream API
    endpoint. (improvement) #3676

  • Add new ?events, ?action_refs and ?execution_ids query params to /v1/stream/
    API endpoint. Those query parameters allow user to filter out which events to receive based
    on the event type, action ref and execution id. By default, when no filters are provided, all
    events are returned. (new feature) #3677

  • Show count of pack content (actions, sensors, triggers, rules and aliases) to be registered
    before the st2 pack install so that the delay in install is not mistaken as no response
    or hanging command. (improvement) #3586 #3675

  • Allow user to specify value for "array of objects" parameter type using a simple notation
    when using st2 run CLI command. (improvement) #3646 #3670

    Contributed by Hiroyasu OHYAMA.

Changed

  • Rename ST2 action runner cancel queue from st2.actionrunner.canel
    to st2.actionrunner.cancel. (improvement) #3247
  • Install scripts and documentation has been updated to install MongoDB 3.4 by default (previously
    3.2 was installed by default). If you want to upgrade an existing installation, please follow
    official instructions at https://docs.mongodb.com/v3.4/release-notes/3.4-upgrade-standalone/.
    (improvement)

Removed

  • The feature to use local config.yaml in packs is removed.

Fixed

  • Fix retrying in message bus exchange registration. (bug fix) #3635 #3638

    Reported by John Arnold.

  • Fix message bus related race condition which could, under some rare scenarios, cause first
    published message to be ignored because there were no consumers for that particular queue yet.
    This could happen in a scenario when API service came online and served a request before action
    runner service came online.

    This also fixes an issue with Redis kombu backend not working. (bug fix) #3635 #3639 #3648

  • Fix logrotate configuration to delete stale compressed st2actionrunner logs #3647

  • Fix trace list API endpoint sorting by start_timestamp, using ?sort_desc=True|False query
    parameters and by passing --sort=asc|desc parameter to the st2 trace list CLI command.
    Descending order by default.(bug fix) #3237 #3665

  • Fix pack index health endpoint. It now points to the right controller. #3672

  • Fix 'pack register content' failures appearing on some slower systems by lifting action timeout #3685

st2 - v2.3.2

Published by Kami about 7 years ago

https://stackstorm.com/2017/07/28/stackstorm-2-3-2-summer-bugfixes-continues/

Added

  • Add regex_substring Jinja filter for searching for a pattern in a provided string and
    returning the result. (improvement)

    Contributed by mierdin. #3482

  • Add test coverage and test timing capabilities to st2-run-pack-tests.
    The -c option enables test coverage and the -t option enables test timings.
    These capabilities have also been enabled in the ci pipeline for packs in the exchange.

    Contributed by Nick Maludy. #3508

  • Update st2 CLI so it also displays "there are more results" note when -n flag is
    used and there are more items available. (improvement) #3552

  • Add ability to explicitly set stream_url in st2client. (improvement) #3432

  • Add support for handling arrays of dictionaries to st2 config CLI command. (improvement)
    #3594

    Contributed by Hiroyasu OHYAMA.

Fixed

  • Fix st2client to display unicode characters in pack content description. (bug-fix)

  • Don't automatically append .git suffix to repo URIs passed to packs.download action.
    This fixes a bug and now action also works with repo urls which don't contain .git suffix.
    (bug fix)

    Contributed by carbineneutral. #3534 #3544

  • st2 pack commands now work when StackStorm servers are behind a HTTP/HTTPS proxy. You can set
    http_proxy or https_proxy environment variables for st2api and st2actionrunner
    processes and pack commands will work with proxy. Refer to documentation for details on
    proxy configuration. (bug-fix) #3137

  • Fix API validation regression so all input data sent to some POST and PUT API endpoints is
    correctly validated. (bug fix) #3580

  • Fix an API bug and allow users to create rules which reference actions which don't yet exist in
    the system when RBAC is enabled and user doesn't have system admin permission. (bug fix)
    #3572 #3573

    Reported by sibirajal.

  • Add a check to make sure action exists in the POST of the action execution API. (bug fix)

  • Fix api key generation, to use system user, when auth is disabled. (bug fix) #3578 #3593

  • Fix invocation of Mistral workflow from Action Chain with jinja in params. (bug fix) #3440

  • Fix st2client API bug, a backward incompatible change in query() method, introduced in note
    implementation (#3514) in 2.3.1. The query() method is now backward compatible (pre 2.3) and
    query_with_count() method is used for results pagination and note. #3616

st2 - v2.3.1

Published by Kami over 7 years ago

https://stackstorm.com/2017/07/06/stackstorm-2-3-1-bug-smashing/

Added

  • Add support for passphrase parameter to remote-shell-script runner and as such, support
    for password protected SSH key files. (improvement)

    Reported by Sibiraja L, Nick Maludy.

  • Add json_escape Jinja filter for escaping JSON strings. (improvement)

    Contributed by mierdin. #3480

  • Print a note to stderr if there are more entries / results on the server side which are displayed
    to the user for the following list CLI commands: rule, execution,
    rule-enforcment, trace and trigger-instance.
    Default limit is 50. (improvement)

    Reported by Eugen C. #3488

Changed

  • Update st2 run / st2 execution run command to display result of workflow actions when
    they finish. In the workflow case, result of the last task (action) of the workflow is used.
    (improvement) #3481

  • Update Python runner so it mimics behavior from StackStorm pre 1.6 and returns action result as
    is (serialized as string) in case we are unable to serialize action result because it contains
    non-simple types (e.g. class instances) which can't be serialized.

    In v1.6 we introduced a change when in such instances, we simply returned None as result
    and didn't log anything which was confusing. (improvement) #3489

    Reported by Anthony Shaw.

  • Add missing pagination support to /v1/apikeys API endpoint. (improvement) #3486

  • Update action-chain runner so a default value for display_published runner parameter is
    True. This way it's consistent with Mistral runner behavior and intermediate variables
    published inside action-chain workflow are stored and displayed by default. #3518 #3519

    Reported by Jacob Floyd.

  • Reduce API service (st2api) log clutter and log whole API response (API controller method
    return value / response body) under DEBUG log level instead of INFO. (improvement) #3539

    Reported by Sibiraja L.

  • Enforce validation on position parameter for action parameters. If position values are not
    sequential or not unique, action registration will now fail. (bug-fix)
    (improvement) #3317 #3474

Fixed

  • Fix ?name query param filter in /v1/actionalias API endpoint. (bug fix) #3503

  • Notifier now consumes ActionExecution queue as opposed to LiveAction queue. With this
    change, the Jinja templates used in notify messages that refer to keys in ActionExecution
    resolve reliably. Previously, there was a race condition in which a LiveAction would have
    been updated but ActionExecution was not and therefore, the jinja templates weren't reliably
    resolved. (bug-fix) #3487 #3496

    Reported by Chris Katzmann, Nick Maludy.

  • Deprecate results_tracker config group and move configuration variables to resultstracker
    group instead. If you have results_tracker config group in the config, it is recommended
    to switch to resultstracker instead. (bug-fix) #3500

  • Update config loader so it correctly handles config schema default values which are falsey
    (False, None, 0, etc.) (bug-fix) #3504 #3531

    Reported by Simas Čepaitis.

  • Fix st2ctl register failure to register rules in some race conditions.
    st2-register-content will now register internal trigger types by default. (bug-fix) #3542

  • Correctly use service token TTL when generating temporary token for datastore service. This
    fixes a bug and allows user to set TTL value for non service tokens to less than 24 hours.
    (bug fix) #3523 #3524

    Reported by theuiz.

st2 - v2.3.0

Published by armab over 7 years ago

https://stackstorm.com/2017/06/19/stackstorm-2-3-something-everyone/

  • Refactor the action execution asynchronous callback functionality into the runner plugin architecture. (improvement)
  • Introduce new CAPABILITIES constant on auth backend classes. With this constant, auth backends can advertise functionality they support (e.g. authenticate a user, retrieve information about a particular user, retrieve a list of groups a particular user is a member of). (new feature)
  • Linux file watch sensor is now disabled by default. To enable it, set enabled: true in /opt/stackstorm/packs/linux/sensors/file_watch_sensor.yaml
  • Add support for automatic RBAC role assignment based on the remote auth backend groups user is a member of (e.g. LDAP groups) and mappings defined in /opt/stackstorm/rbac/mappings directory. Note: This functionality is currently implemented for enterprise LDAP auth backend and only available in enterprise edition. (new feature)
  • Update the code so user can specify arbitrary default TTL for access tokens in st2.conf and all the StackStorm services which rely on access tokens still work. Previously, the lowest TTL user could specify for all the services to still work was 24 hours. This has been fixed and the default TTL specified in the config now only affects user access tokens and services use special service access tokens with no max TTL limit. (bug fix) Reported by Jiang Wei. #3314 #3315
  • Allow user to specify a custom list of attribute names which are masked in the log messages by setting log.mask_secrets_blacklist config option. (improvement)
  • Update /executions/views/filters API endpoint so it excludes null / None from filter values for fields where null is not a valid field value. (improvement) Contributed by Cody A. Ray. #3193
  • Make sure all the role assignments for a particular user are correctly deleted from the database after deleting an assignment file from /opt/stackstorm/rbac/assignments directory and running st2-apply-rbac-definitions tool. (bug fix)
  • Add webhook payload to the Jinja render context when rendering Jinja variable inside rule criteria section.
  • Implement RBAC for traces API endpoints. (improvement)
  • Implement RBAC for API_KEY_CREATE permission type. (improvement)
  • Implement RBAC for timers API endpoints. (improvement)
  • Implement RBAC for webhooks get all and get one API endpoint. (improvement)
  • Implement RBAC for policy types and policies get all and get one API endpoint. (improvement)
  • Require ACTION_VIEW permission type to be able to access entry_point and parameters actions view controller. (improvement)
  • Update /v1/rbac/permission_types and /v1/rbac/permission_types/<resource type> API endpoint to return a dictionary which also includes a description for each available permission type. (improvement)
  • Require EXECUTION_VIEWS_FILTERS_LIST RBAC permission type to be able to access /executions/views/filters API endpoint. (improvement)
  • Add webhook payload to the Jinja render context when rendering Jinja variable inside rule criteria section
  • Switch file_watch_sensor in Linux pack to use trigger type with parameters. Now you can add a rule with file_path and sensor will pick up the file_path from the rule. A sample rule is provided in contrib/examples/rules/sample_rule_file_watch.yaml. (improvement)
  • Cancel actions that are Mistral workflow when the parent workflow is cancelled. (improvement)
  • Update st2rulesengine to exit non-0 on failure (bug fix) #3394 [Andrew Regan]
  • Upgrade various internal Python library dependencies to the latest stable versions (pyyaml, requests, appscheduler, gitpython, paramiko, mongoengine, tooz).
  • Fix a bug where trigger parameters and payloads were being validated regardless of the relevant settings in the configuration (system.validate_trigger_payload, system.validate_trigger_parameters). (bug fix)
  • Fix system=True filter in the /v1/rbac/roles API endpoint so it works correctly. (bug fix)
  • Add new /v1/rbac/role_assignments API endpoint for retrieving user role assignment information. (new feature)
  • Add CLI commands for listing RBAC roles:
    • st2 role list [--system]
    • st2 role get <role id or name>
  • Add CLI commands for listing RBAC user role assignments:
    • st2 role-assignment list [--role=<role name>] [--user=<username>]
    • st2 role-assignment get <role assignment id>
  • Update /v1/rbac/roles API endpoint so it includes corresponding permission grant objects. Previously it only included permission grant ids. (improvement)
  • Fix a bug where keyvalue objects weren't properly cast to numeric types. (bug fix)
  • When action worker is being shutdown and action executions are being abandoned, invoke post run on the action executions to ensure operations such as callback is performed. (bug fix)
  • Fix action chain runner workflows so variables (vars) and parameter values support non-ascii (unicode) characters. (bug fix)
  • When RBAC is enabled and action is scheduled (ran) through the API, include rbac dictionary with user and roles action_context attribute. (improvement)
  • Fix a bug in query base module when outstanding queries to mistral or other workflow engines could cause a tight loop without cooperative yield leading to 100% CPU usage by st2resultstracker process. (bug-fix)
  • Make the query interval to third party workflow systems (including mistral) a configurable value. You can now set query_interval in [results_tracker] section in /etc/st2/st2.conf. With this, the default query interval is set to 20s as opposed to 0.1s which was rather aggressive and could cause CPU churn when there is a large number of outstanding workflows. (improvement)
  • Ignore unicode related encoding errors which could occur in some circumstances when packs.setup_virtualenv fails due to a missing dependency or similar. (improvement, bug fix) #3337 [Sean Reifschneider]
  • Update st2-apply-rbac-definitions so it also removes assignments for users which don't exist in the database. (improvement, bug fix)
  • Add the following new actions to chatops pack:
    • chatops.match
    • chatops.match_and_execute
    • chatops.run
      #3425 [Anthony Shaw]
  • Add new examples.forloop_chain action-chain workflow to the examples pack which demonstrates how to iterate over multiple pages inside a workflow. #3328 [Carles Figuerola]
  • Fix a bug where action runner throws KeyError on abandoning action executions during process shutdown. (bug fix)
  • Fix URL parsing bug where percent encoded URLs aren't decoded properly (bug fix)
  • Add new core.uuid action for generating type 1 and type 4 UUIDs. [John Anderson] #3414
  • Drop support for invalid semver versions strings (e.g. 2.0) in pack.yaml pack metadata. Only full semver version strings are supported, e.g. 2.1.1. This was originally deprecated in v2.1.0.
  • Let st2 pack install register all available content in pack by default to be consistent with st2 pack register. (improvement) #3452
  • The API endpoint for searching or showing packs has been updated to return an empty list instead of None when the pack was not found in the index. (bug fix)
  • The dest_server parameter has been removed from the linux.scp action. Going forward simply specify the server as part of the source and / or destination arguments. (improvement) #3335 #3463 [Nick Maludy]
  • Add missing database indexes which should speed up various queries on production deployments with large datasets. (improvement)
  • Use a default value for a config item from config schema even if that config item is not required (required: false). (improvement) Reported by Nick Maludy #3468 #3469
  • Removing empty config.yaml for packs pack so warning isn't thrown by default now that deprecation warning is in place. (improvement)
st2 - v2.2.1

Published by Mierdin over 7 years ago

https://stackstorm.com/2017/04/05/bugs-fixes-security-updates-st2-2-2-1/

  • Fix st2ctl reload command so it preserves exit code from st2-register-content script and
    correctly fails on failure by default.

  • Removed support for medium-strength ciphers from default nginx configuration (#3244)

  • Fix base action alias test class (BaseActionAliasTestCase) so it also works if the local pack
    directory name doesn't match the pack name (this might be the case with new pack management
    during development where local git repository directory name doesn't match pack name) (bug fix)

  • Fix a bug with default values from pack config schema not being passed via config to Python
    runner actions and sensors if pack didn't contain a config file in /opt/stackstorm/configs
    directory. (bug fix)

    Reported by Jon Middleton.

  • Make various improvements and changes to st2-run-pack-tests script so it works out of the box
    on servers where StackStorm has been installed using packages. (improvement)

  • Removed support for medium-strength ciphers from default nginx configuration (#3244)

  • Allow user to specify which branch of st2tests repository to use by passing -b option to
    st2-self-check script. (improvement)

  • Fix a bug with authentication middleware not working correctly when supplying credentials in an
    Authorization header using basic auth format when password contained a colon (:).

    Note: Usernames with colon are still not supported. (bug fix)

    Contributed by Carlos.

  • Update st2-run-pack-tests script so it doesn't try to install global pack test dependencies
    (mock, unittest2, nose) when running in an environment where those dependencies are already
    available.

  • Make sure remote command and script runner correctly close SSH connections after the action
    execution has completed. (bug fix)

    Reported by Nagy Krisztián.

  • Fix a bug with pack configs API endpoint (PUT /v1/configs/) not working when RBAC was
    enabled. (bug fix)

    Reported by efenian.

  • Fix concurrency related unit tests to support upgrade of the tooz library. (bug fix)

  • Update tooz library to the latest version (v1.15.0). Using the latest version means
    StackStorm now also supports using consul, etcd and other new backends supported by
    tooz for coordination. (improvement)

  • Various security related improvements in the enterprise LDAP auth backend. (improvement,
    bug fix)

  • Fix a bug with config schema validation not being performed upon registration which could cause
    bad or empty config schema to end up in the system. (bug fix)

st2 - v2.2.0

Published by Mierdin over 7 years ago

https://stackstorm.com/2017/02/27/stackstorm-2-2/

  • Fix /v1/packs/views/files/<pack ref or id> and
    /v1/packs/views/file/<pack ref or id>/<file path> API endpoint so it
    works correctly for packs where pack name is not equal to the pack ref. (bug fix)

    Reported by skjbulcher #3128

  • Improve binary file detection and fix "pack files" API controller so it works correctly for
    new-style packs which are also git repositories. (bug fix)

  • Fix returning a tuple from the Python runner so it also works correctly, even if action returns
    a complex type (e.g. Python class instance) as a result. (bug fix)

    Reported by skjbulcher #3133

  • Introduce validation of trigger parameters when creating a rule for non-system (user-defined)
    trigger types.

    Validation is only performed if system.validate_trigger_parameters config option is enabled
    (it's disabled by default) and if trigger object defines parameters_schema attribute.

    Contribution by Hiroyasu OHYAMA. #3094

  • Introduce validation of trigger payload for non-system and user-defined triggers which is
    performed when dispatching a trigger inside a sensor and when sending a trigger via custom
    webhook.

    Validation is only performed if system.validate_trigger_payload config option is enabled
    (it's disabled by default) and if trigger object defines payload_schema attribute.

    Contribution by Hiroyasu OHYAMA. #3094

  • Add support for complex rendering inside of array and object types. This allows the user to
    nest Jinja variables in array and object types.

  • Fix cancellation specified in concurrency policies to cancel actions appropriately. Previously,
    mistral workflow is orphaned and left in a running state. (bug fix)

  • If a retry policy is defined, action executions under the context of a workflow will not be
    retried on timeout or failure. Previously, action execution will be retried but workflow is
    terminated. (bug fix)

  • Update Python runner to throw a more user-friendly exception in case action metadata file
    references a script file which doesn't exist or which contains invalid syntax. (improvement)

  • Update st2auth service so it includes more context and throws a more user-friendly exception
    when retrieving an auth backend instance fails. This makes it easier to debug and spot various
    auth backend issues related to typos, misconfiguration and similar. (improvement)

  • Mistral fork is updated to match the master branch at OpenStack Mistral. (improvement)

  • Fix how mistral client and resource managers are being used in the mistral runner. Authentication
    has changed in the mistral client. Fix unit test accordingly. (bug fix)

  • Fix issue where passing a single integer member for an array parameter for an action would
    cause a type mismatch in the API (bug fix)

  • Use the newly introduced CANCELLED state in mistral for workflow cancellation. Currently, st2
    put the workflow in a PAUSED state in mistral. (improvement)

  • Add support for evaluating jinja expressions in mistral workflow definition where yaql
    expressions are typically accepted. (improvement)

  • Let querier plugin decide whether to delete state object on error. Mistral querier will
    delete state object on workflow completion or when the workflow or task references no
    longer exists. (improvement)

  • Add support for st2 login and st2 whoami commands. These add some additional functionality
    beyond the existing st2 auth command and actually works with the local configuration so that
    users do not have to.

  • Fix action alias update API endpoint. (bug fix)

  • Fix --config-file st2 CLI argument not correctly expanding the provided path if the path
    contained a reference to the user home directory (~, e.g. ~/.st2/config.ini) (bug fix)

  • Fix action alias update API endpoint. (bug fix)

  • {{user.}} and {{system.}} notations to access user and system
    scoped items from datastore are now unsupported. Use {{st2kv.user.}}
    and {{st2kv.system.}} instead. Please update all your content (actions, rules and
    workflows) to use the new notation. (improvement)

  • Update the dependencies and the code base so we now also support MongoDB 3.4. Officially
    supported MongoDB versions are now MongoDB 3.2 and 3.4. Currently default version installed by
    the installer script still is 3.2. (improvement)

  • Fix a bug with packs.download action and as such as pack install command not working with
    git repositories which used a default branch which was not master. (bug fix)

  • Add new -j flag to the st2-run-pack-tests script. When this flag is specified script will
    just try to run the tests and it won't set up the virtual environment and install the
    dependencies. This flag can be used when virtual environment for pack tests already exists and
    when you know dependencies are already installed and up to date. (new feature)

  • Fix a bug with --api-token / -t and other CLI option values not getting correctly
    propagated to all the API calls issued in the st2 pack install, st2 pack remove and
    st2 pack config commands. (bug fix)

  • Fix a bug with not being able to apply some global permission types (permissions which are global
    and not specific to a resource) such as pack install, pack remove, pack search, etc. to a role
    using st2-apply-rbac-definitions. (bug fix)

st2 - v2.1.1

Published by bigmstone almost 8 years ago

https://stackstorm.com/2016/12/20/quick-update-v2-1-1-published/

  • After running st2 pack install CLI command display which packs have been installed.
    (improvement)

  • Update /v1/packs/register API endpoint so it throws on failure (e.g. invalid pack or resource
    metadata). This way the default behavior is consistent with default
    st2ctl reload --register-all behavior.

    If user doesn't want the API endpoint to fail on failure, they can pass
    "fail_on_failure": false attribute in the request payload. (improvement)

  • Throw a more user-friendly exception when registering packs (st2ctl reload) if pack ref /
    name is invalid. (improvement)

  • core.http action now also supports HTTP basic auth and digest authentication by passing
    username and password parameter to the action. (new feature)

  • Fix GET /v1/packs/<pack ref or id> API endpoint - make sure pack object is correctly returned
    when pack ref doesn't match pack name. Previously, 404 not found was thrown. (bug fix)

  • Update local action runner so it supports and works with non-ascii (unicode) parameter keys and
    values. (bug fix)

    Contribution by Hiroyasu OHYAMA. #3116

  • Update packs.load action to also register triggers by default. (improvement)

  • Update /v1/packs/register API endpoint so it registers resources in the correct order which
    is the same as order used in st2-register-content script. (bug fix)

st2 - v2.1.0 - December 05, 2016

Published by Kami almost 8 years ago

  • Add new POST /v1/actionalias/match API endpoint which allows users to perform ChatOps action
    alias matching server-side. This makes it easier to build and maintain StackStorm ChatOps
    clients / adapters for various protocols and mediums. Clients can now be very thin wrappers
    around this new API endpoint.

    Also add two new corresponding CLI commands - st2 alias-execution match and
    st2 alias-execution execute. (new feature) #2895

    Contributed by Anthony Shaw

  • Only allow valid word characters (a-z, 0-9 and _) to be used for action parameter
    names. Previously, due to bug in the code, any character was allowed.

    If you have an existing action definition which uses parameter with an invalid character, the
    parameter name needs to be adjusted otherwise action registration will fail. (bug fix,
    improvement)

  • Adding ability to pass complex array types via CLI by first trying to
    seralize the array as JSON and then falling back to comma separated array.

  • Add new core.pause action. This action behaves like sleep and can be used inside the action
    chain or Mistral workflows where waiting / sleeping is desired before proceeding with a next
    task. (new feature) #2933

    Contribution by Paul Mulvihill.

  • Improve API exception handling and make sure 400 status code is returned instead of 500 on
    mongoengine field validation error. (improvement)

  • Allow user to supply multiple resource ids using ?id query parameter when filtering
    "get all" API endpoint result set (e.g. ?id=1,2,3,4). This allows for a better client and
    servers performance when user is polling and interested in multiple resources such as polling on
    multiple action executions. (improvement)

  • Actually validate pack metadata file when registering packs. (bug fix, improvement)

  • Improve pack validation - now when the packs are registered we require that
    "version" attribute in the pack metadata file matches valid semver format and we also require
    that "email" attribute (if specified) contains a valid email address. (improvement)

  • For consistency with new pack name validation changes, sample hello-st2 pack has been renamed
    to hello_st2.

  • Add new stackstorm_version and system fields to the pack.yaml metadata file. Value of the
    first field can contain a specific for StackStorm version with which the pack is designed to work
    with (e.g. >=1.6.0,<2.2.0 or >2.0.0). This field is checked when installing / registering
    a pack and installation is aborted if pack doesn't support StackStorm version which is currently
    running. Second field can contain an object with optional system / OS level dependencies.
    (new feature)

  • Require pack metadata version attribute to contain a valid semver version identifier (e.g
    0.1.0, 2.0.0, etc.). If version identifier is invalid, pack registration will fail.
    (improvement)

  • When a policy cancels a request due to concurrency, it leaves end_timestamp set to None which
    the notifier expects to be a date. This causes an exception in "isotime.format()". A patch was
    released that catches this exception, and populates payload['end_timestamp'] with the equivalent
    of "datetime.now()" when the exception occurs.

  • Adding check for datastore Client expired tokens used in sensor container

  • Add new contributors field to the pack metadata file. This field can contain a list of
    people who have contributed to the pack. The format is Name <email>, e.g.
    Tomaz Muraus <[email protected]> (new feature)

  • Update packs.install action (pack install command) to only load resources from the packs
    which are being installed. Also update it and remove "restart sensor container" step from the
    install workflow. This step hasn't been needed for a while now because sensor container
    dynamically reads a list of available sensors from the database and starts the sub processes.
    (improvement)

  • Change st2api so that a full execution object is returned instead of an error message, when an
    API client requests cancellation of an execution that is already canceled

  • Remove packs.info action because .gitinfo file has been deprecated with the new pack
    management approach. Now pack directories are actual checkouts of the corresponding pack git
    repositories so this file is not needed anymore.

  • Speed up short-lived Python runner actions by up to 70%. This way done by re-organizing and
    re-factoring code to avoid expensive imports such as jsonschema, jinja2, kombu and mongoengine
    in the places where those imports are not actually needed and by various other optimizations.
    (improvement)

  • Add new st2-validate-pack-config tool for validating config file against a particular config
    schema file. (new-feature)

  • Upgrade various internal Python library dependencies to the latest stable versions (gunicorn,
    kombu, six, appscheduler, passlib, python-gnupg, semver, paramiko, python-keyczar, virtualenv).

  • Improve performance of GET /executions/views/filters by creating additional indexes on
    executions collection

  • Add support for default values and dynamic config values for nested config objects. (new feature,
    improvement)

  • Throw a more user-friendly exception if rendering a dynamic configuration value inside the config
    fails. (improvement)

  • Add support for ssh config file for ParamikoSSHrunner. Now ssh_config_file_path can be set
    in st2 config and can be used to access remote hosts when use_ssh_config is set to
    True. However, to access remote hosts, action paramters like username and
    password/private_key, if provided with action, will have precedence over the config file
    entry for the host. #2941 #3032 #3058 Eric Edgar

  • Fix packs.uninstall action so it also deletes configs and policies which belong to
    the pack which is being uninstalled. (bug fix)

  • Fix python action runner actions and make sure that modules from st2common/st2common/runners
    directory don't pollute PYTHONPATH for python runner actions. (bug fix)

st2 - v2.0.1 - September 30, 2016

Published by m4dcoder about 8 years ago

  • Fix st2 execution get command so now --attr argument correctly works with child
    properties of the result and trigger_instance dictionary (e.g. --attr result.stdout result.stderr). (bug fix)
  • Update traces list API endpoint and st2 trace list so the traces are sorted by
    start_timestamp in descending order by default. This way it's consistent with executions
    list and -n CLI parameter works as expected. (improvement)
  • Allow users to specify sort order when listing traces using the API endpoint by specifying
    ?sort_desc=True|False query parameters and by passing --sort=asc|desc parameter to
    the st2 trace list CLI command. (improvement)
  • Fix a bug with action default parameter values not supporting Jinja template
    notation for parameters of type object. (bug fix, improvement)
  • Fix --user / -u argument in the st2 key delete CLI command.
  • Retry connecting to RabbitMQ on services start-up if connecting fails because
    of an intermediate network error or similar. (improvements)
st2 - v2.0.0 - August 31, 2016

Published by m4dcoder about 8 years ago

  • Implement custom jina filter functions to_json_string, to_yaml_string,
    to_human_time_from_seconds that can be used in actions and workflows. (improvement)

  • Refactor jinja filter functions into appropriate modules. (improvement)

  • Default chatops message to include time taken to complete an execution. This uses
    to_human_time_from_seconds function. (improvement)

  • Fix a bug when jinja templates with filters (for example,
    st2 run core.local cmd='echo {{"1.6.0" | version_bump_minor}}') in parameters wasn't rendered
    correctly when executing actions. (bug-fix)

  • Allow user to cancel multiple executions using a single invocation of st2 execution cancel
    command by passing multiple ids to the command -
    st2 execution cancel <id 1> <id 2> <id n> (improvement)

  • We now execute --register-rules as part of st2ctl reload. PR raised by Vaishali:
    https://github.com/StackStorm/st2/issues/2861#issuecomment-239275641

  • Bump default timeout for packs.load command from 60 to 100 seconds. (improvement)

  • Change Python runner action and sensor Python module loading so the module is still loaded even if
    the module name clashes with another module which is already in PYTHONPATH
    (improvement)

  • Fix validation of the action parameter type attribute provided in the YAML metadata.
    Previously we allowed any string value, now only valid types (object, string, number,
    integer, array, null) are allowed. (bug fix)

  • Upgrade pip and virtualenv libraries used by StackStorm pack virtual environments to the latest
    versions (8.1.2 and 15.0.3).

  • Allow user to list and view rules using the API even if a rule in the database references a
    non-existent trigger. This shouldn't happen during normal usage of StackStorm, but it makes it
    easier for the user to clean up in case database ends up in a inconsistent state. (improvement)

  • Update packs.uninstall command to print a warning message if any rules in the system
    reference a trigger from a pack which is being uninstalled. (improvement)

  • Fix disabling and enabling of a sensor through an API and CLI. (bug-fix)

  • Fix HTTP runner so it works correctly when body is provided with newer versions of requests
    library (>= 2.11.0). (bug-fix) #2880

    Contribution by Shu Sugimoto.