StackStorm v2.10.0 Release Notes

Release Date: 2018-12-13 // over 5 years ago
  • ➕ Added

    
    * ➕ Added ``notify`` runner parameter to Orquesta that allows user to specify which task(s) to get
      notified on completion.
    * ➕ Add support for task delay in Orquesta workflows. #4459 (new feature)
    * ➕ Add support for task with items in Orquesta workflows. #4400 (new feature)
    * ➕ Add support for workflow output on error in Orquesta workflows. #4436 (new feature)
    * ➕ Added ``-o`` and ``-m`` CLI options to ``st2-self-check`` script, to skip Orquesta and/or Mistral
      tests. #4347
    * 👍 Allow user to specify new ``database.authentication_mechanism`` config option in
      ``/etc/st2/st2.conf``.
    
      By default, SCRAM-SHA-1 is used with MongoDB 3.0 and later and MONGODB-CR (MongoDB Challenge
      Response protocol) for older servers.
    
      Contributed by @aduca85 #4373
    * ➕ Add new ``metadata_file`` attribute to the following models: Action, Action Alias, Rule, Sensor,
      TriggerType. Value of this attribute points to a metadata file for a specific resource (YAML file
      which contains actual resource definition). Path is relative to the pack directory (e.g.
      ``actions/my_action1.meta.yaml``, ``aliases/my_alias.yaml``, ``sensors/my_sensor.yaml``,
      ``rules/my_rule.yaml``, ``triggers/my_trigger.yaml`` etc.).
    
      Keep in mind that triggers can be registered in two ways - either via sensor definition file in
      ``sensors/`` directory or via trigger definition file in ``triggers/`` directory. If
      ``metadata_file`` attribute on TriggerTypeDB model points to ``sensors/`` directory it means that
      trigger is registered via sensor definition. (new feature) #4445
    * ➕ Add new ``st2client.executions.get_children`` method for returning children execution objects for
      a specific (parent) execution. (new feature) #4444
    
      Contributed by Tristan Struthers (@trstruth).
    * 👍 Allow user to run a subset of pack tests by utilizing the new ``-f`` command line option in the
      ``st2-run-pack-tests`` script.
    
      For example:
    
      1. Run all tests in a test file (module):
    
         st2-run-pack-tests -j -x -p contrib/packs/ -f test_action_download
    
      2. Run a single test class
    
         st2-run-pack-tests -j -x -p contrib/packs/ -f test_action_download:DownloadGitRepoActionTestCase
    
      3. Run a single test class method
    
         st2-run-pack-tests -j -x -p contrib/packs/ -f test_action_download:DownloadGitRepoActionTestCase.test_run_pack_download
    
      (new feature) #4464
    
    🔄 Changed
    
    • ⏱ Redesigned and rewritten the action execution scheduler. Requested executions are put in a persistent queue for scheduler to process. Architecture is put into place for more complex execution scheduling. Action execution can be delayed on request. (improvement)
    • 👍 core.http action now supports additional HTTP methods: OPTIONS, TRACE, PATCH, PURGE.

    Contributed by @emptywee (improvement) #4379

    • ⚡️ Runner loading code has been updated so it utilizes new "runner as Python package" functionality which has been introduced in a previous release. This means that the runner loading is now fully automatic and dynamic.

    All the available / installed runners are automatically loaded and registering on each StackStorm service startup.

    This means that st2ctl reload --register-runners flag is now obsolete because runners are automatically registered on service start up. In addition to that, content.system_runners_base_path and content.runners_base_paths config options are now also deprecated and unused.

    For users who wish to develop and user custom action runners, they simply need to ensure they are packaged as Python packages and available / installed in StackStorm virtual environment (/opt/stackstorm/st2). (improvement) #4217

    • 🚚 Old runner names which have been deprecated in StackStorm v0.9.0 have been removed (run-local, run-local-script, run-remote, run-remote-script, run-python, http-runner). If you are still using actions which reference runners using old names, you need to update them to keep it working. #4217
    • ⚡️ Update various CLI commands to only retrieve attributes which are displayed in the CLI from the API (st2 execution list, st2 execution get, st2 action list, st2 rule list, st2 sensor list). This speeds up run-time and means now those commands now finish faster.

    If user wants to retrieve and view all the attributes, they can use --attr all CLI command argument (same as before). (improvement) #4396

    • ⚡️ Update various internal dependencies to latest stable versions (greenlet, pymongo, pytz, stevedore, tooz). #4410

    • 👌 Improve st2.conf migration for the new services by using prod-friendly logging settings by default #4415

    • 🔨 Refactor Orquesta workflow to output on error. Depends on PR https://github.com/StackStorm/orquesta/pull/101 and https://github.com/StackStorm/orquesta/pull/102 (improvement)

    • 📇 Rename st2client.liveactions to st2client.executions. st2client.liveactions already represented operations on execution objects, but it was incorrectly named.

    For backward compatibility reasons, st2client.liveactions will stay as an alias for st2client.executions and continue to work until it's fully removed in a future release.

    🛠 Fixed

    
    * ``st2 login`` CLI commands now exits with non zero exit code when login fails due to invalid
      credentials. (improvement) #4338
    * 🛠 Fix ``st2 key load`` that errors when importing an empty file #43
    * 🛠 Fixed warning in ``st2-run-pack-tests`` about invalid format for ``pip list``. (bug fix)
    
      Contributed by Nick Maludy (Encore Technologies). #4380
    * 🛠 Fix a bug with ``st2 execution get`` / ``st2 run`` CLI command throwing an exception if the
      result field contained a double backslash string which looked like an unicode escape sequence.
      CLI incorrectly tried to parse that string as unicode escape sequence.
    
      Reported by James E. King III @jeking3 (bug fix) #4407
    * 🛠 Fix a bug so ``timersengine`` config section in ``st2.conf`` has precedence over ``timer``
      section if explicitly specified in the config file.
    
      Also fix a bug with default config values for ``timer`` section being used if user only
      specified ``timersengine`` section in the config. Previously user options were incorrectly
      ignored in favor of the default values. (bug fix) #4424
    * ``st2 pack install -j`` now only spits JSON output. Similarly, ``st2 pack install -y`` only spits
      YAML output. This change would enable the output to be parsed by tools.
      The behavior of ``st2 pack install`` hasn't changed and is human friendly. If you want to get meta
      information about the pack as JSON (count of actions, sensors etc), you should rely on already
      existing ``st2 pack show -j``.
    
      Reported by Nick Maludy (improvement) #4260
    * 🛠 Fix string operations on unicode data in Orquesta workflows, associated with PR
      https://github.com/StackStorm/orquesta/pull/98. (bug fix)
    * 🛠 Fix access to st2 and action context in Orquesta workflows, associated with PR
      https://github.com/StackStorm/orquesta/pull/104. (bug fix)
    * ⚠  ``st2ctl reload --register-aliases`` and ``st2ctl reload --register-all`` now spits a warning when
      trying to register aliases with no corresponding action registered in the db.
    
      Reported by nzlosh (improvement) #4372.