Dec 14, 2018
By Lindsay Hill
Thought you could wind down for the change freeze? Sorry, we’ve got one last thing for you to do: Upgrade StackStorm to 2.10! Orquesta is now ready for almost all workflow use-cases. We’ve also done a big update to our ChatOps internals, and we have early-access Ubuntu 18 + Python 3 packages (for test only!). Read on for full details:
We wanted to ship 3.0 this year. We really did. But we have got some big things planned, worthy of a 3.0 release, and they weren’t quite ready. But we had lots of good stuff already merged into master, like Orquesta updates. So we decided to ship 2.10 now, to get that code into people’s hands now. It gives us time to make the next release worthy of a major version change.
Orquesta is now ready for all users. This release added those missing features that you’ve been waiting for. Key enhancements include:
with-items– this was the big one holding back many migrations.
delay– add a delay before running a task.
notify– this works the opposite way to
skip_notify. You list the tasks you *want* notification for, not the ones you don’t. Much simpler.
We recommend starting your Mistral -> Orquesta migration now. In the second half of 2019 we will remove Mistral from StackStorm. Don’t worry! You still have lots of time, but you should start planning now.
Check out our staging-unstable repo – we are now building Ubuntu 18.04 aka Bionic packages.
A few things to know:
--staging --unstableflags to the installer script. For example:
wget https://stackstorm.com/packages/install.sh; bash install.sh --user=st2admin [email protected] --staging --unstable
We’ll do more testing over the next few months before calling this release GA. When RHEL 8.0 comes out, we will create Python 3-only packages for that too.
delay functionality for Orquesta workflows we needed to re-design our scheduling service. This service schedules action executions.
In the past, scheduling related code was in the
st2notifier service. It has moved to a new purpose-built
This gives us better decoupling, and future flexibility with regards to scheduling algorithms. Today, executions are scheduled using FIFO approach (first in first out). We have plans to add priority scheduling and more efficient workflow execution scheduling. For example, executions belonging to a particular workflow should have priority over other workflow executions. This provides better perceived performance when running many concurrent workflows.
We have updated all the components used by ChatOps. We updated all our hubot adapters, and we now support Node.js v8 and v10 (preferred). We no longer support Node.js v6. You will need to update your Node.js versions when you upgrade.
While we’ve been updating components, we’ve also had a cleanout. We no longer ship a Yammer adapter by default. (Be honest: you won’t miss it). You can still add your own adapter.
These upgrades are laying the groundwork for future ChatOps improvements we have planned.
Of course, there’s the usual assortment of small fixes and enhancements. A selection of interesting items:
core.httpsupports more HTTP methods such as OPTION, TRACE, PATCH, PURGE.
The rest of the details are in the Change log.
As always, make sure you have backups first. Then follow the Upgrade Instructions. There’s a couple of key points to call out:
Both of those changes are straightforward. If you use Ansible, our playbooks will manage this for you.