Skip to content

StackStorm v3.4.0 Pre-release Testing #66

Closed
@blag

Description

@blag

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.
  • 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 to packs.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) #5084

    Contributed 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).

    Contributed by @nmaludy, @winem, and @blag

  • 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 #5042

    Contributed 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) #5141

    Contributed by @Kami.

  • Fix @parameter_name=/path/to/file/foo.json notation in the st2 run command which didn't
    work correctly because it didn't convert read bytes to string / unicode type. (bug fix) #5140

    Contributed by @Kami.

  • Fix broken st2 action-alias execute command and make sure it works
    correctly. (bug fix) #5138

    Contributed 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions