You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make Service.name a SmallString, otherwise mysql fails to initialize with the following error:
"MySQLdb.OperationalError: (1170, BLOB/TEXT column 'name' used in key specification without a key length)"
Increase size of 'payload' field in Rest Call Service
Performance Optimizations
Remove lazy join for workflow edges and servers
Run Targets Devices and Pools association and Run Allowed Targets Update:
Increase maximum number of threads to 1000
Move the 'runtime' property to the first column of the Run ('Results') table so that runs are always
sorted by runtime, even when they have custom names via parameterized form.
Change memory_size from an Integer to a String in database (to avoid integer overflow issue)
Add new "scan_folder_on_startup" option to make calling "scan_folder" on first app init optional
Update bulk edit mechanism to take the bulk filtering form into account when filtering (previously,
bulk edit does not work with relationship filtering, e.g find all services that belong to a workflow
then bulk edit filtered services)
Make 'get_git_content' and 'scan_folder' optional on app startup with new optional "on_startup" key
in settings.json
Changelog Diff Improvements:
Make 'Side by Side' the default visualization mode and increase panel width
Remove the newline in the content of a changelog before 'Added' and 'Removed' so it can be searched in the changelog
table, and add the diff in Changelog.history so that updates to an object relationships can be displayed in the git
Fix edge display (workflow edge in workflow builder and link in network builder) not updated after either name or
color is modified bug
Fix bug in workflow builder: if user selects node A (single left click), then drags node B (without selecting it),
then drag node A again, node B is being dragged instead of node A. to fix it, when dragStart is emitted, we check
whether the node being dragged is selected or not; if it is not, we select it
Refactor REST Call Service to store payload as string instead of JSON
Convert payload field to StringField instead of DictField
Add a new property "Substitution Type":
String Substitution: the payload is not a valid dict in itself: it will be substituted first, then converted from a
string to an actual dictionary with ast.literal_eval before using it as "json" argument
Dict Substitution: the payload is a valid dictionary represented as a string: it is first converted to an actual
dictionary with json.loads, then it is substituted (ensures backward-compatiblity)
By default, the property is set to String Substitution, but migrated services are using the Dict Substitution option.
If the 'Subtitution Type' is set to 'Dict Substitution', validate the payload field by converting it to a JSON object
with json.loads (replaces the "json_only" option of DictField previously)
Outgoing Edge Mechanism:
Refactor the graph traversal algorithm to allow for edges other than success and failure: the user can define
an "outgoing_edge" variable in python (e.g in post-processing) to decide which edge to follow next
Update the Workflow Builder to support displaying multiple edges between two services
Add new regression workflow: "Outgoing Edge Mechanism"
Add 'Export as CSV' buttons in Runs table (Results page) and Tasks table (Scheduling page)
Fix bug where service targets are not copied when duplicating a workflow (e.g a workflow in SxS service targets mode)
When refreshing logs with a redis queue, don't always fetch all logs from redis, only fetch the logs up to start_line
as provided by the front-end
Add new "size" property to Files to see filesize on disk in form and table
Normalize strings in the front-end during form serialization to remove windows and mac line endings so that changelogs
don't get created for line ending changes
Add new Rate Limiter Feature
Improve the JS table search code to prevent sending multiple searches in parallel to the server:
Remove device connection dict from 'connection_cache' in disconnect function if there are no other connections
for that given, otherwise the connection count in 'check_connection_numbers' is wrong
Add new 'polling_interval' setting to configure the polling interval of the file monitoring mechanism with
watchdog PollingObserver
Decouple the File Monitoring process with watchdog from the main app:
The File Monitoring process must be started independently from the main app, with the FILE_WATCHER
environment variable set to 1
Remove the "monitor_filesystem" variable from settings.json
Don't trigger UI refresh if the tab does not have focus (for table refresh, network builder refresh and
workflow builder refresh)
Add new 'result_dict' variable in the results that contain the 'results' before post processing (useful to get
device output in services like netmiko commands in case post-processing is failing because the 'result' variable
then becomes the stacktrace) (reported in support slack channel)
Update 'db.fetch_all': rename the first argument from 'model' to 'instance_type' so that it can be used to fetch
all devices based on their 'model' property (no more conflict between 'model' first argument and 'model' coming
from **kwargs)
Update netmiko command service to always return the result as a list if 'Results as List' option is checked,
even if there is a single command
Make Device.ip_address an indexed column
Refactor "Stop Run" mechanism:
Require "run" RBAC access for a user to be allowed to stop a workflow
Add new "You don't have permission to stop this workflow." alert in the UI
Update the REST Call Service with new "proxies" option
Add session scope when trying to create worker to avoid race conditions when running many
concurrent calls in parallel