Description
We're ready to prepare the StackStorm v3.4
release and start pre-release testing..
Release Process Preparation
Per Release Management Schedule @blag is the Release Manager and @amanda11 assisting for v3.4. They will freeze the master
for the major repositories in StackStorm org, follow the StackStorm Release Process which is now available to public, accompanied by the Useful Info for Release managers. Communication is happening in #releasemgmt
and #development
Slack channels.
The first step is pre-release manual user-acceptance testing for v3.4dev
.
Why Manual testing?
StackStorm is very serious about testing and has a lot of it: Unit tests, Integration, Deployment/Integrity checks, Smoke tests and eventually end-2-end tests when automation spins up new AWS instance for each OS/flavor we support, installs real st2 like user would and runs set of st2tests (for each st2 PR, nightly, periodically, during release).
See st2ci and st2cd for more examples and workflows about how StackStorm automation is used to test StackStorm (dogfooding).
That's a perfect way to verify what we already know and codify expectations about how StackStorm should function.
However it's not enough.
There are always new unknowns to discover, edge cases to experience and tests to add. Hence, manual Exploratory Testing is an exercise where entire team gathers together and starts trying (or breaking) new features before the new release. Because we're all different, perceive software differently and try different things we might find new bugs, improper design, oversights, edge cases and more.
This is how StackStorm previously managed to land less major/critical bugs into production.
TL;DR
Install StackStorm v3.4dev
unstable packages, try random things in random environments (different OS) and report any regressions found comparing to v3.3
(and/or v3.2
if you are still running ST2 Enterprise):
curl -sSL https://stackstorm.com/packages/install.sh | bash -s -- --user=st2admin --password=Ch@ngeMe --unstable
You can also run StackStorm on a specific OS with st2vagrant:
git clone https://github.com/StackStorm/st2vagrant.git
cd st2vagrant
VERSION=3.4dev vagrant up # Default OS is Ubuntu Xenial (16.04)
BOX=ubuntu/bionic64 VERSION=3.4dev vagrant up # Ubuntu Bionic 18.04
BOX=centos/7 VERSION=3.4dev vagrant up # CentOS 7
BOX=centos/8 VERSION=3.4dev vagrant up # CentOS 8
Extra points for PR hotfixes and adding new or missing test cases.
Specific things to check
- Run the self-verification script - see instructions here
- Ensure that the st2resultstracker service doesn't exist and NOT running
- Ensure that StackStorm is running on Python 3 -
st2 --version
- Test the web UI and the integrated flow UI - see instructions here
- Test Ubuntu16.04 or CentOS7/RHEL7 installation and upgrade as they've moved from py2 to py3
- If you have a pack that utilizes Python modules from
actions/lib
, please ensure that those actions still work. In the Python 2.7 removal, we adjusted how we handle this code, so we want to ensure that we do not have any regressions. - If you have access to a Windows server, please test out a few actions from the Windows pack. We have not been testing this in our end-to-end tests because the Windows instances were not responding to WinRM queries, so we want to ensure no regressions (this might be related to the
actions/lib
issue, we haven't troubleshooted this enough to be sure). - If you are using either the LDAP authentication or the RBAC authorization backends, please enable those backends and ensure that the integration continues to work.
- LDAP backend (https://docs.stackstorm.com/latest/authentication.html#ldap)
- - users can login with their LDAP credentials
- RBAC backend (https://docs.stackstorm.com/latest/rbac.html#enabling-rbac)
- users without permission grants are not allowed to access resources
- users with permission grants are allowed to access protected resources
- if you are also running ChatOps, ensure that the
!help
(with st2chatops/hubot-stackstorm) or!st2help
(with err-stackstorm) commands work. See 500 on actionalias help endpoint with action_alias_help permission grant st2-rbac-backend#47 for more information.
- LDAP backend (https://docs.stackstorm.com/latest/authentication.html#ldap)
- StackStorm upgrade from 3.3 to 3.4, following the Upgrade Instructions: https://docs.stackstorm.com/latest/install/upgrades.html#v3-4
If you have successful test results, please post a summary of what all you tested (OSes, what features you tested).
If you run into any bugs, please open them in the respective repositories and link to this issue from there. I will add them to the list at the bottom of this description.
If you have any issues running StackStorm or running the tests, please post down below.
Major changes
- Removed Python 2.7 support for all OSes
- CentOS7/RHEL7 migrated from py2 to py3
- Ubuntu 16.04 LTS migrated from py2 to py3
- Integrated ST2 RBAC backend
- Integrated LDAP authentication backend
- Integrated Workflow Designer (st2flow) into Workflow Composer (st2web)
- Added notification support for err-stackstorm
- Updated deprecation warning for Python 2 packs
- Added a
timeout
parameter topacks.install
- Updated dependencies
- Pack files are now interpreted as UTF-8 instead of ASCII
- Fixed broken
st2 action-alias execute
command - Removed st2resultstracker
Full Changelog
Changes which are recommended to ack, explore, check and try in a random way.
st2
Added
-
Added support for GitLab SSH URLs on pack install and download actions. (improvement) #5050
Contributed by @asthLucas -
Added st2-rbac-backend pip requirements for RBAC integration. (new feature) #5086
Contributed by @hnanchahal -
Added notification support for err-stackstorm. (new feature) #5051
-
Added st2-auth-ldap pip requirements for LDAP auth integartion. (new feature) #5082
Contributed by @hnanchahal
Changed
-
Updated deprecation warning for python 2 pack installs, following python 2 support removal. #5099
Contributed by @amanda11 -
Improve the st2-self-check script to echo to stderr and exit if it isn't run with a
ST2_AUTH_TOKEN or ST2_API_KEY environment variable. (improvement) #5068 -
Added timeout parameter for packs.install action to help with long running installs that exceed the
default timeout of 600 sec which is defined by the python_script action runner (improvement) #5084Contributed by @hnanchahal
-
Upgraded cryptography version to 3.2 to avoid CVE-2020-25659 (security) #5095
-
Converted most CI jobs from Travis to GitHub Actions (all except Integration tests).
-
Updated cryptography dependency to version 3.3.2 to avoid CVE-2020-36242 (security) #5151
Fixed
-
Pin chardet version as newest version was incompatible with pinned requests version #5101
Contributed by @amanda11 -
Fixed issue were st2tests was not getting installed using pip because no version was specified.
Contributed by @anirudhbagri -
Added monkey patch fix to st2stream to enable it to work with mongodb via SSL. (bug fix) #5078 #5091
-
Fix nginx buffering long polling stream to client. Instead of waiting for closed connection
wait for final event to be sent to client. (bug fix) #4842 #5042Contributed by @guzzijones
-
StackStorm now explicitly decodes pack files as utf-8 instead of implicitly as ascii (bug fix)
#5106, #5107 -
Fix incorrect array parameter value casting when executing action via chatops or using
POST /aliasexecution/match_and_execute
API endpoint. The code would incorrectly assume the
value is always a string, but that may not be the cast - they value could already be a list and
in this case we don't want any casting to be performed. (bug fix) #5141Contributed by @Kami.
-
Fix
@parameter_name=/path/to/file/foo.json
notation in thest2 run
command which didn't
work correctly because it didn't convert read bytes to string / unicode type. (bug fix) #5140Contributed by @Kami.
-
Fix broken
st2 action-alias execute
command and make sure it works
correctly. (bug fix) #5138Contributed by @Kami.
Removed
-
Removed --python3 pack install option #5100
Contributed by @amanda11 -
Removed submit-debug-info tool and the st2debug component #5103
-
Removed check-licence script (cleanup) #5092
Contributed by @kroustou
-
Updated Makefile and CI to use Python 3 only, removing Python 2 (cleanup) #5090
Contributed by @blag
-
Remove st2resultstracker from st2ctl, the development environment and the st2actions setup.py (cleanup) #5108
Contributed by @winem
orquesta 1.3.0
Added
- Implement the orquesta-rehearse command to run unit tests for workflow. (new feature, beta)
Contributed by AJ (guzzijones)
Changed
- Remove mistral fixtures because they were used as ref to support multiple specs. Mistral is
deprecated in StackStorm and there's no intention to support it here. A mistral to orquesta
workflow conversion tool is available at https://github.com/StackStorm/orquestaconvert.
Fixed
- Fix the custom flake8 extensions to check import statements. (bug fix)
- Fix the deprecation warning that flags are not at the start of the expression. (bug fix)
st2chatops
No changes
StackStorm Exchange
- Removed Python 2.7 support and testing from almost all packs
- Added environment variable flag to avoid publishing test packs to exchange.stackstorm.com
Conclusion
Please report findings here and bugs/regressions in respective repositories.
Depending on severity and importance bugs might be fixed before the release or postponed to the next release if they're very minor and not a release blocker.
Issues Found During Release
PRs Merged for Release
TODOs
- Blog post for release
- Blog post for exchange/community update