Oct 22, 2020
by Nick Maludy (@nmaludy) and @blag
The StackStorm project is pleased to announce that the latest version of StackStorm, v3.3.0, is now publicly available! It has been approximately 5 months since our v3.2.0 release and we are releasing a new version containing important features and bug fixes that move the project forward.
With this release we’re driving toward several project goals on the StackStorm roadmap. Each of the goals in this release is focused on providing better maintainability and ease of long-term support for the project. Reducing maintenance burden on the development team allows us to put more effort into features.
So, what changed?
Red Hat Enterprise Linux/CentOS 6 is reaching the end of its maintenance lifecycle on November 20, 2020. This OS also has some oddities and legacy baggage that makes it a drag on the team with lots of weird conditionals and edge cases. Back in the StackStorm v3.2.0 release announcement we warned users of our plans to deprecate RHEL/CentOS 6 and today we’re happy to announce that we’ve dropped support for RHEL/CentOS 6! Good news is, we support both RHEL/CentOS 7 and 8.
Atlassian discontinued HipChat Cloud back in Febuary 2019, and now HipChat Server has gone end-of-life as of June 2020. It is recommended by Atlassian to migrate over to Slack as the chat platform of the future, we couldn’t agree more! Since it’s time to move on, we’ve dropped support for HipChat from st2chatops. Thanks for the good memories HipChat!
Oh Python 2, you’ve been a long standing friend but your time has also come. Python 2 was end-of-life on January 1, 2020. As of StackStorm v3.3.0 we are beginning the process of deprecating Python 2 and migrating to Python 3. StackStorm already supports Python 3 for its own code base on RHEL/CentOS 8 and Ubuntu 18.04, and it also supports executing Python actions using Python 3. We will begin the work to migrate existing platforms to using Python 3 exclusively and be dropping support for Python 2. Sorry this has taken so long, but both Operating Systems and 3rd party packages that StackStorm depends on have taken a long time to add Python 3 support, we’ve mostly been blocked by them.
Starting with StackStorm v3.3.0 users will now see warnings on the st2ctl CLI if it is being executed from a Python 2 runtime.
$ st2ctl status Deprecation warning: Support for python 2 will be removed in future StackStorm releases. Please ensure that all packs used are python 3 compatible. Your StackStorm installation may be upgraded from python 2 to python 3 in future platform releases. It is recommended to plan the manual migration to a python 3 native platform, e.g. Ubuntu 18.04 LTS or CentOS/RHEL 8.
There will also be a warning printed in the StackStorm system service logs (st2api, st2actionrunner, etc):
Sep 17 14:14:13 testsyslog st2workflowengine[14015]: 2020-09-17 14:14:13,852 WARNING [-] DEPRECATION WARNING. Support for python 2 will be removed in future StackStorm release(s). Please ensure that all packs used are python 3 compatible. Python 3 will already be used if you upgrade to a newer OS release
On the pack side of the house, a warning will be printed when installing a pack that only supports Python 2:
$ st2 pack install python2only [ succeeded ] init_task [ succeeded ] download_pack [ succeeded ] make_a_prerun [ succeeded ] get_pack_dependencies [ succeeded ] check_dependency_and_conflict_list [ succeeded ] download_pack [ succeeded ] make_a_prerun [ succeeded ] get_pack_dependencies [ succeeded ] check_dependency_and_conflict_list [ succeeded ] install_pack_requirements [ succeeded ] get_pack_warnings [ succeeded ] register_pack +-------------+-------------+------------------+---------+------------------+ | ref | name | description | version | author | +-------------+-------------+------------------+---------+------------------+ | python2only | python2only | Pack for python2 | 0.0.1 | StackStorm | +-------------+-------------+------------------+---------+------------------+ DEPRECATION WARNING: Pack Test2 only supports Python 2.x. ST2 will remove support for Python 2.x in a future release.
Stay tuned to our blog for an upcoming post detailing our plans for Python 2 deprecation and transition to Python 3!
Our Chef installation method chef-stackstorm hasn’t received an update in some time and currently has no maintainer. As of right now, this installation method is deprecated and is no longer supported. If you are a Chef developer and want to pick up support for this installation method, please get in touch by joining the #chef
channel in our Slack community .
The Docker installation method st2-docker received an update recently. Its docker-compose
file now pulls containers from the st2-dockerfiles repository. This is a positive step forward because now st2-docker now uses the same containers as our Kubernetes helm chart installation method stackstorm-ha.
MongoDB 4.0 is currently the default database on both RHEL/CentOS 8 and Ubuntu 18.04. In an effort to standardize our support matrix across the various operating systems, we’re now updating MongoDB to 4.0 on all OSes. This means that if you’re running RHEL/CentOS 7 or Ubuntu 16.04, you’ll need to upgrade from MongoDB 3.4 to MongoDB 4.0. However, there is a catch!
When upgrading your RHEL/CentOS 7 or Ubuntu 16.04 system from MongoDB 3.4 to MongoDB 4.0 it is not a direct path. In order to perform this upgrade successfully one will need to first upgrade MongoDB 3.4 to MongoDB 3.6 and then to MongoDB 4.0. These special instructions, including actual commands to run, can be found in our Version Specific Upgrade Scripts section of the StackStorm documentation. If you’re a Puppet Bolt user, we have a st2::upgrade_mongodb
Plan available to perform these steps in an automated way:
mkdir modules git clone https://github.com/StackStorm/puppet-st2 modules/st2 bolt plan run st2::upgrade_mongodb --targets stackstormhost.domain.tld
OpenStack Mistral was previously used as StackStorm’s primary workflow engine. Almost two years ago, back in StackStorm v2.10 Mistral deprecation was announced and now in v3.3.0 Mistral has been fully removed from StackStorm. Where do we go from here?
In case you haven’t heard, StackStorm has developed its own workflow engine called Orquesta. If you’re currently still using Mistral for your workflows, we’ve developed a tool to help ease the transition from Mistral to Orquesta called orquestaconvert. It is super easy to get started:
$ git clone https://github.com/StackStorm/orquestaconvert.git $ cd orquestaconvert
You can convert a single workflow:
$ ./bin/orquestaconvert.sh ../stackstorm-mypack/actions/workflows/nasa_apod_twitter_post.yaml
Or, even better, convert all of the workflows in a pack:
$ ./bin/orquestaconvert-pack.sh --action-dir ../stackstorm-mypack/actions
There are so many more bug fixes and small changes that including them in this list would make the blog post huge. If you’re interested in learning more, see a complete list of all changes across our various repositories in our discussion post for the v3.3.0 release.
With all of these house-cleaning items off our plate, the StackStorm team is excited about our future plans, below is a list of items that may be coming in a future versions:
If you’re interested in learning about the other ideas we have for the future and would like to help, please checkout our roadmap documentation.
StackStorm’s front end web UI, st2web, could really use some help and maintenance. If you are a JavaScript developer or know someone who is looking to help out on an Open Source project, we would love to have you! Please come join our Slack community and we can help you get started.
The StackStorm project is actively seeking more community contributions. There are so many ways to get started:
Thank you so much and happy automating!