-
-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
StackStorm v3.2dev pre-release Testing #6
Comments
@StackStorm/maintainers Even if you didn't find any bugs, please report back in this discussion which OS/environment you've used and which features/items you've tried or verified. This will help to get an overall idea about OS/distro testing distribution. |
Very brief test done on centos8. Installed using single line install which went fine. Simple chatops configured with slack for the aws ec2 get alias (note: stackstorm_aws 1.2.3 pack used, as 1.3.1 had issues - which I'll report separately - but not to do with stackstorm version). I did fall foul to the change where it installs the latest tagged pack rather than latest version of the code, on page: https://docs.stackstorm.com/latest/packs.html it states that it installs the latest commit of a pack rather than the tagged, but looking at the change log then that seems to be a known change. |
@amanda11 Awesome, thank you very much for testing and feedback! Yes indeed, in @amanda11 Documentation indeed needs updating. How about submitting a small PR to fix that? |
@armab I'll submit a PR for the doc change. thanks. |
StackStorm/st2docs#973 raised. I also verified the behaviour when you had a local repo that it was working, and what it picked up if you used file:/// towards a local git repo. That seems to still use the latest commit when using a file:/// to a local repo - so I left that section stating latest commit. So I literally just changed one word in the docs in the end. |
FYI for someone testing curl -sSL https://stackstorm.com/packages/install.sh | bash -s -- \
--unstable --version=3.1dev \
--user=st2admin --password=Ch@ngeMe Then follow the packages upgrade procedure https://docs.stackstorm.com/latest/install/upgrades.html#general-upgrade-procedure to get |
Installation with the following instructions fails on
|
Further positive feedback on testing. Loving the immutable parameters on the aliases. Needed them for some aliases I needed for AWS reporting using the aws_boto3 pack. Integrated those successfully with st2chatops using 3.2dev on Centos8. |
Another 2 minor issues/enhancements were spot:
Both are not release blockers and will be planned for the next st2 |
Probably not an issue - but a problem I encountered. If I already have a config for a pack under /opt/stackstorm/configs, and then try and use st2 pack config then I get an error due to failing to have write permission to that file. It works if I delete the old config file, as it then creates a new file with the owner of st2. But I am guessing that if people have manually configured files they may not have created them with the owner as st2. |
I had a play with the retry feature in the Orquesta workflow and I was surprised that I didn't have to up the version in the workflow yaml to state it was using version 1.1.0. I have the version as 1.0 and it works fine (documentation example uses version 1.0). |
I have a Orquesta workflow with: So when the first attempt at action A fails, it does two things:
Thus resulting in the failure message being output 3 times rather than as I would have expected it to just get the failure after all attempts had failed. |
@amanda11 For the orquesta with retry, that sounds unexpected to me too. Can you please create a new issue in https://github.com/StackStorm/orquesta/ with example workflow for @m4dcoder to reproduce easily, describing what's expected and what went wrong? |
The version in WF DSL is a placeholder currently and the engine don't support multiple DSL versions. The new features are additive. In the future as we make major changes such as schema change or deprecation, we will definitely need to figure out how to separate support of different DSL versions. |
Here's the fix for the task retry reported above. PR @ StackStorm/orquesta#200. Good catch @amanda11, keep them coming. @armab Once PR is merged, I'm thinking of republishing the v1.1.0 release for orquesta. What do you think? |
Hi, here is the summary of my tests from tonight:
I hope this helps. Will continue testing in the next days. Let me know if you want anything special tested. Otherwise I will just keep going through the release notes and test the mentioned changes. |
Whilst testing re-run from task functionality I raised: StackStorm/st2docs#975 on the documentation. Have submitted PR to just remove those that are included, but may want to add new features to the list if any are known. |
@m4dcoder For the Orquesta hotfix I think it's best to publish new |
Current
|
Documentation issue raised on upgrade docs when running on centos 8 StackStorm/st2docs#977. |
Next stage of release automation process & testing, following the https://github.com/StackStorm/discussions/wiki/Release-Process#process-for-major-release (now open) is that we got At this stage we can just quickly check the packages like integrity/smoke tests to make sure this version is not different to what we tested last week and has no surprises:
These packages are now candidate for the final
|
Probably a bit late to the party but I just ran all the tests from my previous comment on the staging packages again - successfully. |
Thanks everyone! We now have StackStorm |
We're ready to prepare the StackStorm
v3.2
release and starting pre-release testing.This will be the first StackStorm release under the Linux Foundation with new Open Source Governance and Maintainers team. We now rely on our Community more than ever and invite everyone to help with the pre-release testing and development/contribution.
Release Process Preparation
Per Release Management Schedule @armab is the Release Manager and @punkrokk Assisting for v3.2. 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.2dev
.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).
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.2dev
staging packages, try random things in random environments (different OS) and report any regressions found comparing tov3.1
:Extra points for PR hotfixes and adding new or missing test cases.
Major changes
Important changes which are highly encouraged to try and test.
CentOS8
/RHEL8
support withPython 3.6
andMongoDB 4.0
:https://docs.stackstorm.com/latest/install/rhel8.html
st2 pack install
with dependencies:https://docs.stackstorm.com/latest/packs.html#pack-dependencies
re-run
:https://docs.stackstorm.com/latest/orquesta/operations.html#re-running-workflow-execution
https://docs.stackstorm.com/latest/orquesta/operations.html#re-running-workflow-execution-from-task-s
retry
in workflow definition:https://docs.stackstorm.com/latest/orquesta/languages/orquesta.html#task-retry-model
continue
,noop
,fail
keywords in workflow definition:https://docs.stackstorm.com/latest/orquesta/languages/orquesta.html#engine-commands
Slack
,Microsoft Teams
,Cisco Spark (Webex)
andMattermost
might be affected due to refactoring, fixes and major updates.v3.1
->v3.2
upgrade. Upgrade Notes:https://docs.stackstorm.com/latest/upgrade_notes.html#st2-v3-2
st2-self-check
https://docs.stackstorm.com/latest/troubleshooting/self_verification.html
Full Changelog
Changes which are recommended to ack, explore, check and try in a random way.
st2
Added
url_hosts_blacklist
andurl_hosts_whitelist
runner attribute. (new feature)Add support for blacklisting hosts to the HTTP runner st2#4757
user
parameter tore_run
method of st2client. Add user field to re_run method st2#4785immutable_parameters
on Action Aliases. This feature allows defaultparameters to be supplied to the action on every execution of the alias. Add support for immutable_parameters in ChatOps action aliases st2#4786
get_entrypoint()
method toActionResourceManager
attribute of st2client.GET entrypoint of a workflow from st2client st2#4791
scheduler.execution_scheduling_timeout_threshold_min
to better control the cleanup of scheduled actions that were orphaned. Make scheduling timeout constant to be a configurable option st2#4886Changed
Install pack with the latest tag version if it exists when branch is not specialized.
(improvement) Install pack with the latest tag st2#4743
Implement "continue" engine command to orquesta workflow. (improvement) Orquesta workflows have incorrect status st2#4740
Update various internal dependencies to latest stable versions (apscheduler, eventlet,
kombu, amqp, pyyaml, mongoengine, python-gnupg, paramiko, tooz, webob, bcrypt).
Latest version of mongoengine should show some performance improvements (5-20%) when
writing very large executions (executions with large results) to the database. Update various Python dependencies to latest stable versions st2#4767
Improved development instructions in requirements.txt and dist_utils.py comment headers
(improvement) Fix dependency conflicts st2#4774
Add new
actionrunner.stream_output_buffer_size
config option and default it to-1
(previously default value was
0
). This should result in a better performance and smallerCPU utilization for Python runner actions which produce a lot of output.
(improvement)
Reported and contributed by Joshua Meyer (@jdmeyer3) fixing subprocess to use system buffer instead of being unbuffered st2#4803
Add new
action_runner.pip_opts
st2.conf config option which allows user to specify a listof command line option which are passed to
pip install
command when installing packdependencies into a pack specific virtual environment. Don't call eventlet directly inside the st2reactor code st2#4792
Refactor how orquesta handles individual item result for with items task. Before the fix,
when there are a lot of items and/or result size for each item is huge, there is a negative
performance impact on write to the database when recording the conductor state. (improvement)
Remove automatic rendering of workflow output when updating task state for orquesta workflows.
This caused workflow output to render incorrectly in certain use case. The render_workflow_output
function must be called separately. (improvement)
Update various internal dependencies to latest stable versions (cryptography, jinja2, requests,
apscheduler, eventlet, amqp, kombu, semver, six) Update pip dependencies, fix conflicting dependency version, ensure there are no conflicting dependencies st2#4819 (improvement)
Improve MongoDB connection timeout related code. Connection and server selection timeout is now
set to 3 seconds. Previously a default value of 30 seconds was used which means that for many
connection related errors, our code would first wait for this timeout to be reached (30 seconds)
before returning error to the end user. Fix SSL support for MongoDB and RabbitMQ under Python 3.x st2#4834
Upgrade
pymongo
to the latest stable version (3.10.0.
). Update pymongo to the latest version st2#4835 (improvement)Updated Paramiko to v2.7.1 to support new PEM ECDSA key formats Fixes: #4890 to support new ssh key types st2#4901 (improvement)
Remove
.scrutinizer.yml
config file. No longer used.Convert escaped dict and dynamic fields in workflow db models to normal dict and dynamic fields.
(performnce improvement)
Add support for
PEP 508 <https://www.python.org/dev/peps/pep-0508/stackstorm/st2#environment-markers>
_environment markers in generated
requirements.txt
files. (improvement) Various requirements fixups st2#4895Use
pip-compile
frompip-tools
instead ofpip-conflict-checker
(improvement) Fix futurist version conflict st2#4896Refactor how inbound criteria for join task in orquesta workflow is evaluated to count by
task completion instead of task transition. (improvement)
The workflow engine orquesta is updated to v1.1.0 for the st2 v3.2 release. The version upgrade
contains various new features and bug fixes. Please review the release notes for the full list of
changes at https://github.com/StackStorm/orquesta/releases/tag/v1.1.0 and the st2 upgrade notes
for potential impact. (improvement)
Fixed
Fix the action query when filtering tags. The old implementation returned actions which have the
provided name as action name and not as tag name. (bug fix) Tags filtering is not returning the expected result through the API st2#4828
Reported by @angrydeveloper and contributed by Marcel Weinberg (@winem)
Fix the passing of arrays to shell scripts where the arrays where not detected as such by the
st2 action_db utility. This caused arrays to be passed as Python lists serialized into a string.
Reported by @kingsleyadam Shell script action not serializing array properly. st2#4804 and contributed by Marcel Weinberg (@winem) #4804 Handle action parameters of type array correctly st2#4861
Fix ssh zombies when using ProxyCommand from ssh config Close proxycommand socket when its not needed anymore and resolve ssh zombies st2#4881 [Eric Edgar]
Fix rbac with execution view where the rbac is unable to verify the pack or uid of the execution
because it was not returned from the action execution db. This would result in an internal server
error when trying to view the results of a single execution.
Contributed by Joshua Meyer (@jdmeyer3) With enterprise LDAP, retrieve single execution returns 500 st2#4758
Fixed logging middleware to output a
content_length
of0
instead ofInfinity
when the type of data being returned is not supported. Previously, when the value was
set to
Infinity
this would result in invalid JSON being output into structuredlogs. (bug fix) Infinity values in log messages cause issues when parsing JSON st2#4722
Contributed by Nick Maludy (@nmaludy Encore Technologies)
Fix the workflow execution cancelation to proceed even if the workflow execution is not found or
completed. (bug fix) Orquesta workflow execution is stuck with canceling status st2#4735
Added better error handling to
contrib/linux/actions/dig.py
to inform if dig is not installed.Contributed by JP Bourget (@punkrokk Syncurity) Update dig.py error handling st2#4732
Update
dist_utils
module which is bundled withst2client
and other Python packages so itdoesn't depend on internal pip API and so it works with latest pip version. (bug fix) Fix dist_utils.py so it doesn't rely on internal pip API st2#4750
Fix dependency conflicts in pack CI runs: downgrade requests dependency back to 0.21.0, update
internal dependencies and test expectations (amqp, pyyaml, prance, six) (bugfix) Fix dependency conflicts st2#4774
Fix secrets masking in action parameters section defined inside the rule when using
GET /v1/rules
andGET /v1/rules/<ref>
API endpoint. (bug fix) Added mask of rule action secret parameters st2#4788 /v1/rules API endpoint action parameters secrets masking (additional changes on top of #4788) st2#4807Contributed by @Nicodemos305 and @jeansfelix
Fix a bug with authentication API endpoint (
POST /auth/v1/tokens
) returning internalserver error when running under gunicorn and when
auth.api_url
config option was not set.(bug fix) Fix a bug with authentication API endpoint returning internal server error under gunicorn if auth.api_url config option was not set st2#4809
Reported by @guzzijones
Fixed
st2 execution get
andst2 run
not printing theaction.ref
for non-workflowactions. (bug fix) st2 execution get doesn't print action.ref for non-workflow actions st2#4739
Contributed by Nick Maludy (@nmaludy Encore Technologies)
Update
st2 execution get
command to always includecontext.user
,start_timestamp
andend_timestamp
attributes. (improvement) st2 execution get doesn't print action.ref for non-workflow actions st2#4739Fixed
core.sendmail
base64 encoding of longer subject lines (bug fix) core.sendmail action UTF-8/base64 encoding doesn't handle longer subject lines properly st2#4795Contributed by @stevemuskiewicz and @guzzijones
Update all the various rule criteria comparison operators which also work with strings (equals,
icontains, nequals, etc.) to work correctly on Python 3 deployments if one of the operators is
of a type bytes and the other is of a type unicode / string. (bug fix) Update rule comparison operators to work with mixed operator types (bytes and strings) st2#4831
Fix SSL connection support for MongoDB and RabbitMQ which wouldn't work under Python 3 and would
result in cryptic "maximum recursion depth exceeded while calling a Python object" error on
connection failure.
NOTE: This issue only affected installations using Python 3. (bug fix) Connection to mongo db over SSL doesn't work st2#4832 Fix SSL support for MongoDB and RabbitMQ under Python 3.x st2#4834
Reported by @alexku7.
Fix the amqp connection setup for WorkflowExecutionHandler to pass SSL params. (bug fix) Fix the amqp connection for WorkflowExecutionHandler to pass the SSL params st2#4845
Contributed by Tatsuma Matsuki (@mtatsuma)
Fix dependency conflicts by updating
requests
(2.23.0) andgitpython
(2.1.15). Fix master builds st2#4869Fix orquesta syntax error for with items task where action is misindented or missing. (bug fix)
PR Fix schema of with items task to not allow additional properties orquesta#195.
Fix orquesta yaql/jinja vars extraction to ignore methods of base ctx() dict. (bug fix)
PR Fix the yaql/jinja vars extraction to ignore methods of base ctx() dict orquesta#196. Fixes Orquesta workflow ctx().get() throws a YAQL error st2#4866.
Fix parsing of array of dicts in YAQL functions. Fix regression in YAQL/Jinja conversion
functions as a result of the change. (bug fix) PR Fixed a problem not to be able to parse input value which is type of dict in array in some YAQL operators. orquesta#191.
Contributed by Hiroyasu Ohyama (@userlocalhost)
Removed
Full list of changes: https://github.com/StackStorm/st2/blob/master/CHANGELOG.rst
orquesta
Added
max number of retries. (new feature)
Contributed by Hiroyasu Ohyama (@userlocalhost) and Nick Maludy (@nmaludy)
Changed
will not alter the previous task state and will continue to conduct the workflow
execution. Orquesta workflows have incorrect status st2#4740 (improvement)
and/or result size is huge per item, then there will be a performance impact on database
write operations when recording the conductor state. (improvement)
instead of task transition. (improvement)
Fixed
that is already pausing and canceling a workflow that is already canceling. (bug fix)
workflow output to render incorrectly in certain use case. The render_workflow_output function
must be called separately. (bug fix)
for py2 and getfullargspec for py3. (bug fix)
Fixes Orquesta workflow ctx().get() throws a YAQL error st2#4866 (bug fix)
value (list or dict) is passed in some YAQL operators (e.g. distinct()). Fixes YAQL methods can't handle an array of dict value at 'items' of 'with' parameter orquesta#176 (bug fix)
Contributed by Hiroyasu Ohyama (@userlocalhost)
Fore more info see https://github.com/StackStorm/orquesta/blob/master/CHANGELOG.rst
st2chatops
st2web
This could be huge. With almost 1 year since
v3.1
st2 release codebase accumulated so many new features, changes and fixes.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.
The text was updated successfully, but these errors were encountered: