StackStorm v3.2.0 released

May 1, 2020
By Eugen Cusmaunsa (@armab) and @punkrokk

It happened! 🎉 After a long wait, we’re more than excited to announce the StackStorm v3.2.0 release.

The StackStorm project has had some turbulent times since the previous release almost one year ago. The new v3.2.0 version is the first release since the project joined the Linux Foundation, formed new Governance, and gathered a new team of Maintainers. Considering the amount of changes happened, it looks like a big restart for the project.

It’s awesome for StackStorm to be under new governance. But that also means everything is on the Community’s shoulders now. And while it’s harder to rely only on the community’s efforts compared to the previously dedicated team of full-time employees, these days we’re observing increased number of contributors and interest from the larger organizations to adopt StackStorm Event Driven Automation and Automated Remediation. We hope this trend continues and we are striving for a better project future and further growth, together.

So what’s new in StackStorm 3.2.0?
This version aggregated almost one hundred changes including bugfixes, new Pack Dependencies, RHEL 8 / CentOS 8 Support, Orquesta retry and re-run features, ChatOps updates, Immutable parameters in Action Aliases, performance improvements, and more.

More Transparency

This is the first time we have invited our community to participate in the release process. They gave us a hand in the StackStorm v3.2dev pre-release testing, trying out new features and finding any regressions. Thanks to our users, lots of bugs were discovered last-minute and fixed before they landed in the production version!

We opened most of our processes, best practices, release mechanisms, and plans. See the resources below:

With that, anyone can easily create a proposal, participate in existing discussions and give feedback.

Pack Dependencies

You can now list dependencies on other packs and StackStorm will install them automatically during st2 pack install. Here is an example pack.yaml definition:

dependencies:
  - excel
  - powerpoint=0.2.2
  - https://github.com/StackStorm/stackstorm-ms.git

See https://docs.stackstorm.com/latest/packs.html#pack-dependencies for more info. We’re expecting new cool patterns and use cases here. How about meta-packages?

RHEL 8 / CentOS 8 Support

This is the second modern OS that we added after Ubuntu Bionic 18.04 LTS which comes with Python 3.6 and MongoDB 4.0. There is no Mistral for new platforms, Orquesta replaced it as a main workflow engine. It’s time to start planning to upgrade to newer OSes. Keep in mind that RHEL 8 / CentOS 8 is new – please report any bugs if you spot them.

See https://docs.stackstorm.com/install/rhel8.html for more info. Great to have this highly requested feature!

Orquesta

retry in workflow definition

Orquesta task retry in workflow definition is a new awesome addition:

  action: core.http url=https://stackstorm.com/
  retry:
    count: 3
    delay: 1

This should greatly improve operations where specific tasks can be flaky and non-idempotent by nature. So tasks related to networking, installations, and downloads (Github’s 503 unicorn is looking at you) can be placed under the retry.

https://docs.stackstorm.com/latest/orquesta/languages/orquesta.html#task-retry-model covers more examples.

re-run workflow from a specific step

Do you have a task that failed in the middle of workflow? The new Orquesta feature allows a workflow execution to be re-run from a specific task instead of starting from the beginning of the workflow:

st2 execution re-run <execution-id> --tasks <task_name>

Check out https://docs.stackstorm.com/latest/orquesta/operations.html#re-running-workflow-execution-from-task-s for more examples and explanation.

ChatOps

Refactoring

ChatOps got a good overhaul and refactoring with the fixes and updates for chat adapters like Microsoft Teams, Mattermost, Cisco Spark (Webex).

Immutable Parameters

There is also a new goodie. Immutable parameters in action aliases, – one of the most requested improvements to chatops aliases. It allows you to predefine in alias custom values to be passed to an action. Previously another middle-action was needed to achieve this. Now this shortcut could be done just by using alias definition:

---
name: pack1.restart-nginx
description: Just restart nginx on host001
action_ref: linux.service

formats:
  - "restart nginx"
immutable_parameters:
  service: nginx
  act: restart
  hosts: host001
  private_key: "{{ st2kv('system.host001_private_key', decrypt=true) }}"

Check out documentation: https://docs.stackstorm.com/chatops/aliases.html#with-immutable-parameters. Thanks @nicholasamorim for contributing this!

Platform Bugfixes

StackStorm and its components accumulated almost 100 changes including bugfixes for better stability and performance. Check out full CHANGELOG.

Deprecation Notice

This is the last release that will support Mistral. StackStorm has been headed in this direction for years and now Orquesta, StackStorm’s home-grown workflow engine matured enough to outperform Mistral in its functionality, architecture, and performance. StackStorm’s next v3.3 release will remove Mistral as a Workflow Engine completely and also allow us to get rid of infrastructure dependency like PostgreSQL. We’re super excited about this change and happy to simplify the platform architecture and deployment!

Mistral is not the only thing that will be removed. StackStorm v3.2 is the last release that will support RHEL 6 / CentOS 6, which reached its EOL. Supporting it for years was a pain and our team can’t wait to get rid of the EL6 hacks across the codebase.

Help Needed!

StackStorm includes a lot of components that makes it a great  and complete project: st2 core platform, st2 plugins and modules, documentation, StackStorm Exchange with the 150+ integration packs, Web UI, the Orquesta workflow engine, deb/rpm packages, CI/CD, ChatOps, internal infrastructure and a number of deployment methods like Puppet, Chef, Ansible, Docker, Kubernetes, Vagrant as well as our Forum and Slack Communities. This is maintained by just a few folks during their free time.

The elephant in the room is our Web UI and ChatOps which are Javascript-based. Going forward as bugs accumulate, npm dependencies come out of date, we no longer have a paid resource on maintaining those repositories and at this moment nobody from the Project Maintainers has professional experience with ReactJS (st2web) and node.js (st2chatops).

Community Call to Action!

We invite our Javascript-savvy community to step in and help us maintain patching and start working on other backlog items. st2web and st2chatops needs a maintainer:

If you’re using StackStorm in your org, – it’s the best time to get involved and help the project you trust in your production environment!


Enjoy new StackStorm v3.2.0 and don’t forget to follow the Upgrade Notes.

Soon we’ll have very exciting big news everyone would love to hear which by its magnitude may be a candidate for a major 4.0 version, so check back soon! Join our Slack Community for that announcement and follow us on Twitter @Stack_Storm.