Changelog¶
v2024.10¶
Updates¶
-
2231 pSeven Enterprise updates offer greater flexibility to better support your existing workflows. You now have direct control over the updates of the block runtime environment (runenv).
- Updates now maintain both the block versions and their corresponding runenv versions. This prevents updates, which modify the runenv, from interfering with existing workflows. By default, your workflows will continue to run blocks in the same runenv version as before.
- When a new runenv for a block is available, you will receive a notification. You can then choose to switch that block to the new runenv or remain with the current one.
The runenv update notification for a block
- v2024.10 is the first release to support this feature. The update keeps your current runenv version intact, so existing workflows and blocks will continue using that runenv. Additionally, the update introduces a new runenv version, which lets you switch blocks to the new runenv when you choose. Workflows and blocks created in v2024.10 will use the new runenv right away. Future updates will follow this same approach.
Details
Every block runs in a certain program environment - the runenv - which in particular provides specific versions of Python and its modules. Previously, all blocks shared the same runenv, which could change with any update to pSeven Enterprise. This could lead to compatibility issues with older blocks and result in unexpected behavior or workflow errors. For example, an update of a third-party module in the embedded Python could introduce incompatible changes done by the module authors, which then caused errors in all blocks using that module.
Now, blocks declare the runenv version they need, and pSeven Enterprise launches each block in the runenv it requires. Blocks in existing workflows require the legacy
@PYTHON3
runenv. (1) pSeven Enterprise v2024.10 preserves it and adds the new one,@python3_10:2024.10.27
. (2)- As shown above, the legacy runenv name also contains the version
number:
@PYTHON3:31
. This sequential numbering scheme is only used for the legacy runenv@PYTHON3
. - This is the current runenv version numbering scheme. Their version number is exactly the same as the version number of the pSeven Enterprise release introducing that runenv version.
Future updates will add new runenv versions without affecting the existing ones. pSeven Enterprise continues supporting the legacy
@PYTHON3
runenv, although it is not going to get any feature updates, such as new Python versions, new modules, or pSeven Core updates. Its support is limited to essential updates for critical issues or vulnerabilities. -
766 The navigation bar in AppsHub offers improved usability, and its design now aligns well with the Studio navigation bar.
Open the user menu and Help from AppsHub, no need to switch to Studio
The bar now displays your available storage space
The app navigation bar
Only apps with the updated UI v10 support this new navigation bar.
-
Design space exploration block (beta):
- 2282 To avoid rearranging links in your workflow when
using the block with different techniques, you can get results from
the new
Result designs
port. It is the default port for the block's solution: in optimization, it outputs the optimal designs, in DoE it outputs all generated points. It is particularly useful in Adaptive design with deferred response evaluations (the "No blackbox" response hint), which previously required using theAll designs
port.
- 2282 To avoid rearranging links in your workflow when
using the block with different techniques, you can get results from
the new
-
2003 If you often need a custom module in Python script, you can add it to the block's assets - this will make the module available in any Python script block. Note that the same limitations apply as with other methods of adding modules to the built-in Python: your module must be a pure Python distribution, containing only Python code.
Example
Suppose you need a
custom_module
in your scripts. Ask your admin to place a copy of your module to the NFS shared data storage under this path:{shared data}/assets/pythonscript/custom_module
. Then, import your module in any Python script block:import api sys.path.append(api.assets()) import custom_module
-
3391 Upgraded the embedded pSeven Core package to v2024.09. For details on recent improvements and changes, see the pSeven Core changelog.
v2024.10 updates pSeven Core both in the legacy runenv
@PYTHON3
and in the latest runenv. Further, updates to pSeven Core will only occur in the latest runenv, while the@PYTHON3
runenv will stay at pSeven Core v2024.09 for stability.
Deployment and administration¶
-
3186 Increased the efficiency of the "on-demand" block execution strategy. If you enable
sizing.enableBlockPreinitialization
invalues.yaml
then, when running a workflow, pSeven Enterprise will preload the blocks that are about to receive input data. This improves the workflow run performance by reducing the total waiting time for block initialization at the cost of certain additional resource consumption.sizing.enableBlockPreinitialization
is still an experimental feature, not recommended in production deployments. -
3392 Fixed an issue with downloading the extension node setup package where this required the Studio and AppsHub access permissions, which are irrelevant.
- Also you no longer need to copy the download URL from Help - the link is now available in the admin interface under "Windows setup" in the top bar.
-
3413 Fixed an issue where malfunctions of the caching service (
memcached
) severely affected usability in general. - 3279 v2024.10 includes further adjustments to the liveness probe settings on the pSeven Enterprise containers, aimed at enhancing its stability.
- Updates in Help:
- Fixed the outdated notes about the Kubernetes and Helm version requirements in the pSeven Enterprise deployment guide (the main description of requirements had them right anyway).
- Updated the Distribution Registry version requirement to 2.8.3. Its preceding versions are long outdated and will no longer be tested, although might still be compatible with pSeven Enterprise.
Starting with the next pSeven Enterprise version, the default deployment options will be:
- Run blocks natively on Kubernetes as Pods (
sizing.runOnKubernetes
enabled). - Use block run-time resource management (
sizing.enableResourceManagement
enabled).
Alternate settings (the current defaults) will be deprecated by the next update.
The End of Life for Kubernetes 1.28 is October 28, 2024. If you currently deploy pSeven Enterprise on Kubernetes 1.28.x, be advised to plan an upgrade: future pSeven Enterprise versions will drop the support for Kubernetes 1.28.
User block development¶
-
2231 On Windows extension nodes, you no longer need to duplicate important environment variables in
block_environment.ini
. Previously, this was often necessary for blocks that launch CAD/CAE packages, as blocks on the node ran in a modified environment with specific variable settings. Now the blocks run in the same environment as the system one. You can still useblock_environment.ini
to modify the block's environment - change or add variables.If you had previously edited
block_environment.ini
, review your settings there, as some may no longer be necessary after upgrading to v2024.10. If you need assistance, reach out to your administrator. -
2231 Block implementation is no longer limited to Python; you can use any development environment - Node.js, for example. You'll need to prepare a custom runtime environment (runenv) image and upload it to your image registry, then specify that runenv in your block manifest. Your runenv can also be a custom Python environment, such as a Python distribution with extra packages that aren't included in the standard Python runenv.
Bugfixes¶
- 3333 Fixed a regression issue from v2021.09 that caused an error when trying to group blocks in the body of a workflow loop, such as the blackbox blocks linked to a Design space exploration block.
- 3389 Fixed a regression issue from v2023.11 where you could not save large scripts in Python script.
- 3283 Fixed an issue where workflow runs could not start after a temporary connection loss between the Kubernetes cluster and the NFS server.
- 3383 Fixed an issue with chained workflow references, which caused Studio to become unresponsive if you edit a workflow referenced by another workflow, which is also referenced by another and so on.
- 3418 Fixed an issue with apps published to the Personal workspace where an error occurred while trying to delete one of the app's versions.
- 3326 Fixed an issue in app UI v10 that sometimes blocked downloading run log files until you refresh the browser page.
- 2747 Fixed a UI issue with the Runs pane in AppsHub, which displayed some random "finished time" for runs that are still in progress.
- 2356 Fixed a UI issue in the New workflow and New report dialogs where you could click OK too early and get a UI error.
- 2356 Fixed inconsistencies in report name validation in the New report dialog.
- 2282 In the Design space exploration block, fixed the outdated tooltips for the result ports.
pSeven Enterprise upgrade notice¶
Starting with v2024.10, your image registry should store all block runtime environment (runenv) image versions that your users might need. This is necessary because blocks in user workflows now rely on specific runenv versions rather than always using the latest one.
- Each time pSeven Enterprise updates, the current
@python3_10
runenv will receive a new version. You should add that new version to your registry and also keep the previously used versions of this runenv. Its images are namedpseven-runenv-python3_10:{version}
, where{version}
matches the pSeven Enterprise version number exactly (seeimage.runenvpython3_10
invalues.yaml
). -
The required
@python3_10
runenv versions for your deployment will depend on the versions used by blocks across different workflows. For instance, a future update from v2024.10 to v2025.05 would require you to add at least the runenv image from v2025.05 and possibly other versions in between. (1)- After you upgrade, users can upload workflows created in earlier versions - like v2025.02 - which will require the runenv from that version.
-
The legacy
@PYTHON3
environment image is re-released with each version of pSeven Enterprise. Its image name ispseven-runenv-legacy:{version}
(seeimage.runenvlegacy
invalues.yaml
). You only need to keep the latest version of this image, as it suffices for all blocks that require the@PYTHON3
environment.
v2024.09¶
- Patch release v2024.09.40 contains additional fixes.
- Patch release v2024.09.54 is a recommended update, fixing several vulnerabilities.
Updates¶
-
1670 To get a quick preview of the block configuration, select the block and press Space or click on the toolbar.
Quick view of the Design space exploration block
-
1670 You can view block configuration and link details in read-only shared workflows and in run tabs.
- In read-only workflows, blocks open in preview mode by default, though you can also open the full configuration window using the Configure block command from the toolbar menu.
- In run tabs, only the block preview is available.
- Links, just as blocks, can be viewed but not edited.
Update the blocks so they support new modes
In workflows created in previous versions, existing blocks need an update to support preview mode and read-only view. Blocks packaged with pSeven Enterprise (standard library) can be updated at once. User blocks (custom) will support new modes only after their developers release corresponding updates.
-
3225 Restore accidentally deleted files - they are now placed to the Trash Bin first, where they are stored for a month more until pSeven Enterprise finally deletes them.
To restore files, open Trash Bin from the Explorer pane menu
Admins can disable the automatic cleanup - then files will remain in the Trash Bin forever until you delete them. You can cleanup quickly using the Empty Trash Bin... command from the Explorer pane menu.
-
3271 To test your app before releasing it, publish it to your Personal workspace. This is your private area in AppsHub that other users cannot access - only you will see the apps there.
Publishing an app to the Personal workspace
-
3119 To add some convenience when updating an app, the publish dialog now highlights the app that you have created based on the currently selected workflow (published earlier).
The app related to the current workflow is on top of the list
-
3229 To avoid storing unwanted files in workflows, pSeven Enterprise now adds the stock app UI files when you first publish the workflow, rather than creating them with the workflow at once. Also you can now publish an app without UI - it will be usable via the REST API, and users in AppsHub will see that app but will not be able to run it.
To modify the stock app UI before publishing, add it to your workflow using a UI reset command in the > Workflow app submenu in Explorer.
-
Updated the technology preview of the app UI v10:
-
3271 The app UI v10 enables users to select whether they wish to run the app using workspace resources or their personal resources. For example, if the workspace is currently busy running other members' tasks, your app user can choose to run it personally instead of waiting for a free workspace run slot.
Update your app with the UI v10 so users can choose how to run it
-
3197 The app UI preview in Studio now supports the run results UI too (
@run.html
): create a new workflow run and on its tab click on the toolbar. - 3274 App UI v10 can display real-time data while a run is
in progress - for example, intermediate results - thanks to the block
messaging support:
xSeven.pop()
andxSeven.push()
functions, which are the UI-side counterparts of theapi.message_pop()
andapi.message_push()
methods in Python script blocks. - 3327 Fixed a UI issue where sometimes a run in progress (or even a completed one) was displayed as a run in the "Submitting" state as if it got stuck before launch.
Attention app UI developers
If you develop a custom app UI, be advised to use the stock app UI v10 as an example, and implement your UI following the UI v10 design principles. The v10 design is the one that will be supported in future.
To get the UI v10, use the Workflow app > Reset to stock app UI v10 (techpreview) command from the Explorer pane menu.
-
-
3271 In REST API, to run an app using personal resources you can use the new
personal
parameter of the run deployment request (see AppsHub API). The API enables this for any app, regardless of the app's UI version. -
Design space exploration block (beta):
- 3233 Removed the deprecated Contour response type, it is no longer possible to add such responses. Updating the block will convert Contour responses to equality constraints (equal lower and upper bounds), which is equivalent.
-
3345 Upgraded the embedded pSeven Core package to v2024.08. For details on recent improvements and changes, see the pSeven Core changelog.
- Updates in Help:
- 3310 The user block guide now explains how to add the pSeven Enterprise file dialog to your block UI.
- 2782 Added the Deleting runs section that was missing from the REST API guide.
- 3271 Keep-up notes about publishing to the Personal workspace in Publishing the workflow as an app and the AppsHub API section of the REST API guide.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: add an input variable and pass it the value of the workflow's@Working directory path
information port (see Workflow as a composite block). That kind of setup is advised if the workflow is a child one, referenced by another (main) workflow. In other cases you can also useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
New requirements
Note the updated requirements for v2024.09:
- Kubernetes 1.28.0 is now the minimum supported version.
- Helm 3.13.0 is now required.
- 120 GB disk space recommended on the Kubernetes nodes (was 80 GB). This is not required by the update, but future versions are going to have higher storage consumption.
-
3271 v2024.09 enables reproducing the behavior of AppsHub from v2024.06 and earlier where all users can publish apps but can only run them consuming personal resources, so their personal resource quotas always apply. This is achieved by creating a public workspace with the "View apps" and "Publish apps" default permissions - see Public workspace for details.
The "Publish apps" permission does not depend on the "Run apps" permission anymore, thus enabling this configuration.
-
3225 As v2024.09 adds the Trash Bin for users (in Studio), it also adds the "Auto cleanup user Trash Bins" setting on the Settings page of the admin interface. It is enabled by default, meaning that any file moved by a user to the Trash Bin is automatically deleted after a 30-day timeout. If you disable it, your users will have to cleanup the Trash Bin manually from time to time.
- 2884 Added license status notifications on the Licenses page of the admin interface - see the Status column in the table there.
- 2884 Fixed an issue where you could assign both the
Can access AppsHub
andCan access Studio and AppsHub
permissions to the same user, after which pSeven Enterprise displayed incorrect user counts and unexpectedly restricted user sign-in. - 3295 Fixed an AppsHub vulnerability issue where an app user could gain access to the source code of blocks in the app's workflow.
- 3372 Fixed an issue with Help where everyone could open it without signing in to pSeven Enterprise, as well as view the custom pages added for branding.
- Updates in Help:
- 3271 Refreshed the Workspaces section in the admin guide to keep it up with the v2024.09 updates.
User block development¶
- 1018 3310 Your block can now use the pSeven Enterprise file dialog to request a file from the user - see File dialog in the development guide.
- 1670 v2024.09 adds new convenience features for users who
edit workflows - quick block preview, ability to view block configuration
in read-only workflows and runs. To support those features in your blocks,
update them as explained in
Example user block:
get its new version from the block library, open
manifest.yaml
and begin with the comments to the new parameters in the manifest:preview
andedit.allowed_in_readonly
.
Bugfixes¶
-
3274 Fixed an issue with block messaging API where all its methods (Python and REST) incorrectly interpreted the
channel
parameter, if you explicitly pass its default value (None
,null
) in a method call. This unexpectedly created a named channel, while the intended behavior is to use the default unnamed channel - that is, the same as omitting thechannel
parameter.This fix may affect compatibility in some cases
Due to this fix you might need to re-test and update your workflows or REST clients, if they call
api.message_pop()
,api.message_push()
(Python, workflow blocks) ormessage_pop/
,message_push/
(REST) withNone
ornull
as thechannel
parameter. In previous versions this could lead to using two channels: the default unnamed one (channel
omitted) and the buggy "named" one (channel
isNone
ornull
). After the update those two channels are going to "merge" - that is, all messages from the "named" channel will now appear in the default channel. -
3294 Fixed an issue with run files rules where, if you select a folder to be copied to runs, and then upload a file into it, the file was not copied to the run directory as expected.
- 3331 Fixed an issue with publishing workflows where it was possible to retry publishing the same workflow for a second time before the first try even finished, which further caused various errors when working with apps.
- Design space exploration block (beta):
- 2820 Fixed an issue which created inconvenience with certain block settings - for example, Exploration budget, where in order to change the budget value from numeric to "Auto" you had to open the editor and explicitly change the value type from numeric to string.
- 2838 Fixed an issue with stopping the block manually where it did not output the intermediate result as expected.
Patch v2024.09.40¶
Patch release
v2024.09.40 replaces the initially released version v2024.09.16, adds the fix below.
-
2845 Updated Explorer to reduce delays when navigating folders with many files or subfolders.
Details
This update addresses certain issues, which could make Explorer unresponsive when opening folders with around 100 or more files and subfolders. Previously, it could appear slow or freeze when listing directory contents, creating new folders, or executing other commands. You'll notice performance improvements after the update, though common operations in large folders still cause brief delays.
Patch v2024.09.54¶
Patch release
Patch release v2024.09.54 contains important vulnerability fixes and includes all fixes from the previously released patch v2024.09.40 (replacing the latter). The vulnerabilities noted here also exist in previous versions (v2024.07 and earlier), although they were discovered only after the v2024.09 release.
-
3422 Fixed a vulnerability issue with the GraphQL API, where any registered user could forge an API request to read internal variables, download system files, or files of other users, as long as the request specifies the correct path to the file or filesystem object.
The GraphQL API is used internally by pSeven Enterprise; it is not a user interface.
-
3429 Fixed a similar vulnerability issue with the function that creates ZIP archives. Users could also exploit this issue to copy files and read system variables.
v2024.07¶
- Patch release v2024.07.44 contains additional fixes.
Updates¶
-
2067 3143 Introducing workspaces - a private room for your team and the place to host your apps.
Apps in workspaces - public Examples and private Team projects
- A workspace represents a dedicated working area, available to your team only and shared by the entire team. For example, when you publish an app in your workspace, only your team members will see it in AppsHub.
- Workspaces are created and configured by admins, who also set up user access rights. Contents of a workspace are managed by its team members.
- All apps now live in workspaces, publishing requires you to select a workspace. However your admin can choose to use a public workspace, which works the same as AppsHub in previous versions: everyone can publish and run apps.
- Workspaces have an additional feature: you can host app runs in a workspace. Results of such runs are saved to the workspace storage and do not occupy place in your personal storage. You can launch as many workspace-hosted runs as allowed by its settings (your personal run quotas do not apply). However keep in mind that the workspace storage and app run slots are shared by your team.
- If you publish workflow using REST API, note that the publish request must now specify a workspace where to publish.
-
Design space exploration block (beta):
-
3103 In optimization results, it is now easier to find the iteration that produced the optimal design point: implement your blackbox as a Composite block with indexed working directory, and link its
@Working directory path
output to a payload response.Payload is a new special type of response, which accepts strings or text - paths, solver logs, design point metadata and other. Those strings are saved to the evaluation history and results, just like other response values. For details, see Response types in block help.
Feasible design iterations with paths to their indexed working directories
Contour responses are deprecated
Since this version, the Contour response type is deprecated. It will be removed in future updates of the Design space exploration block. For a contour restoration study, you can set up the function as an equality constraint (equal lower and upper bounds), which is also more convenient in many cases.
-
-
Uncertainty quantification block (beta):
- 3245 Reliability analysis result is now available from ports:
Reliability estimate
andReliability RSD
(estimate accuracy metric, see Result ports in block help). - 3154 HTML report updates: added the Sample statistics section, collapsible sections, more compact tables, and other small improvements.
- 3245 Reliability analysis result is now available from ports:
-
3231 The filename pattern syntax in Run files rules > Edit manually... settings is updated to resemble glob patterns common in desktop OS shells.
-
2234 Updated the technology preview of the app UI v10: it now supports the Files pane, where app users can view, navigate, and download the run results. As an app developer, you no longer need to implement a file browser in your app UI, if you base it on UI v10 - the Files pane is provided to all such apps by AppsHub. Note that UI v10 cannot yet replace the current stock app UI v8.
Attention app UI developers
If you develop a custom app UI, be advised to use the stock app UI v10 as an example, and implement your UI following the UI v10 design principles. The v10 design is the one that will be supported in future.
To get the UI v10, use the Workflow app > Reset to stock app UI v10 (techpreview) command from the Explorer pane menu.
-
3257 Upgraded the embedded pSeven Core package to v2024.06. For details on recent improvements and changes, see the pSeven Core changelog.
-
Updates in Help:
-
2711 While viewing Help at the pSeven SAS website, you can select the version you need there, instead of searching for it in the archive.
Help version selector
-
2067 3143 Added section Workspaces in Getting started.
- 2067 3143 Updated Publishing the workflow as an app.
- 2067 3143 Updated section Workflow publishing in the REST API guide.
- Added the missing note about the
api.wfdir
regression issue in the Python script block from v2024.02, fixed in v2024.03 - see v2024.03 bugfixes.
-
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: add an input variable and pass it the value of the workflow's@Working directory path
information port (see Workflow as a composite block). That kind of setup is advised if the workflow is a child one, referenced by another (main) workflow. In other cases you can also useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
- 2067 3143 Since v2024.07, publishing a workflow as an app requires a workspace - users must select one while publishing. Upgrading to v2024.07 will create two public workspaces and move all apps there: Public - will contain all apps published by users and allow publishing new apps, and Examples - read-only for users, will contain the example apps. After installing the upgrade, you can reconfigure workspaces or create another.
-
3262 To work around the issue where user workflows stop with an "OOMKilled" error, you can increase memory available to the runner service - see "Memory limit for workflow runner (MB)" on the Settings page in the admin UI.
This is an error, which occurs when running complex workflows with many blocks, links, or large data arrays passed between blocks. It is identified by the message: "'🏠' failed: The Kubernetes pod is in the phase Running! Details: 'OOMKilled'!" - meaning that Kubernetes had stopped the workflow runner service because its memory consumption is exceeding the default limit of 512 MB, which might be insufficient to handle a complex workflow.
-
3258 Fixed an issue where blocks in user workflow runs were slow to start or even failed to start, because the cluster node they are scheduled to run on does not have the block runtime environment ready. Now pSeven Enterprise will keep the nodes ready by activating the runtime environment containers there via a specific DaemonSet. You can opt out of the new behavior by setting the
imagekeeper.enable
parameter invalues.yaml
tofalse
before version upgrade. - 3300 Fixed an issue with version upgrade where the installation
halted when trying to attach the storage volumes, if you have changed your
NFS servers configuration or related parameters in
values.yaml
during the upgrade. - 3296 Fixed an issue where the list of images in
values.yaml
included an image, which is not available from the pSeven SAS Registry and is not required for the deployment. - 3120 3161 3224 3161 2920 3320 Various improvements in logging - clarifications, added lacking debug info, removed redundant messages.
- Updates in Help:
- Updated the deployment guide, added notes about workspace setup.
- Note the recommended disk space on the Kubernetes nodes is now 120 GB (was 80 GB). v2024.07 does not require increased storage space, but future versions are going to have higher storage consumption.
- Added section Workspaces to the administration guide.
Bugfixes¶
- 3303 Fixed a regression issue from v2024.06 where it was impossible to run a workflow with references that overwrite files of the main workflow in the run directory when the run starts. Due to this issue, running such a workflow immediately caused the "Workflow run deleted" error.
- 3231 Fixed an issue where pSeven Enterprise sometimes did not display a proper warning about a workflow edit action that resets the undo history.
- 3231 Fixed an issue where ungrouping a Composite block or changing its working directory type caused an incomprehensible error message due to file name conflicts. Now such conflicts are resolved automatically - all files are kept, conflicting ones are renamed.
- Design space exploration block (beta):
- 3235 Fixed an issue with stepped variables where the "Could not validate block configuration" error appeared, if you switched a stepped variable to constant.
- 3237 Fixed an issue where the Initial sample evaluation technique did not support stepped variables.
- Uncertainty quantification block (beta):
- 3011 Fixed a UI issue where the block window and the
Block properties pane displayed special values (such as empty bounds)
in different ways - for example, the block displayed
N/A
asnull
.
- 3011 Fixed a UI issue where the block window and the
Block properties pane displayed special values (such as empty bounds)
in different ways - for example, the block displayed
- 3231 Fixed an issue with the Run files rules submenu in Explorer, which was incorrectly disabled in some workflows.
- 3231 Fixed an issue with Back in Explorer skipping some steps in the navigation history.
- 3231 Fixed a confusing UI issue with run files rules where Explorer could gray out a folder that is actually copied to run directory - for example, when you exclude the folder but include a single file it contains.
- 3231 Fixed a confusing UI issue with the working directory setting for Composite blocks, where if you have changed its type but clicked Cancel in the warning dialog, the Composite properties pane displayed the changed value of this setting, while actually the change was correctly canceled.
- 2434 Fixed an issue with port naming where some blocks allowed
using names that start with
@
, despite such names are reserved by pSeven Enterprise.
pSeven Enterprise upgrade notice¶
Changes in v2024.07 related to workspaces require additional attention.
When preparing values.yaml
for the upgrade:
-
storage.workspacedata.*
parameters must specify the app data storage that is used by your current pSeven Enterprise version; otherwise the upgrade will not finish correctly. You can simply renamestorage.appdata
tostorage.workspacedata
in the file.storage: appdata: nfs: server: 10.0.1.42 path: /var/pSeven/AppsHubData version: 3
storage: workspacedata: nfs: server: 10.0.1.42 path: /var/pSeven/AppsHubData version: 3
There is no need to rename the existing app data directory on the NFS server.
-
Note the new
maxWorkspaces
parameter - the maximum supported number of workspaces. You might want to increase or decrease its value, depending on the scenarios of workspace usage in your deployment.
After the upgrade to pSeven Enterprise v2024.07:
- Set the resource quotas for the Public workspace. Otherwise it will allow unlimited app runs for everyone, as it permits users to host app runs in the workspace, and has no quotas set by default.
- The Examples workspace does not require quotas, because it is read-only for users - so they can only host app runs personally, and user quotas do apply.
Patch v2024.07.44¶
Patch release
v2024.07.44 replaces the initially released version v2024.07.39. It contains the additional fixes listed here.
-
3323 Fixed an issue with large clusters (tens of nodes, hundreds of Pods) where there was a long, up to a few minutes delay while starting any workflow, accompanied with numerous "Failed to acquire lock" errors in the
appserver
log.Details
The delay was caused by the pre-launch check, which verifies that the total amount of resources in the cluster is enough to run the workflow. When starting any workflow, that check polled all cluster nodes, which takes up too much time in a large cluster. Now the polling results are cached, as the cluster resource pool does not change often and there is actually no need to recalculate it for every workflow run.
-
3323 On large clusters, if you use Kubernetes-native run mode (
sizing.runOnKubernetes: true
) and designate specific nodes to run blocks (seeblocks.nodeSelector
), there will be significantly less delay while starting a block (in an already running workflow).Details
This issue is similar to the previous one - there is a block startup delay caused by polling the cluster nodes for their currently free resources, to select the node where to load a block. This fix is two-sided: a) re-use the cached information about node resources, when possible, and b) poll only the nodes dedicated to running blocks, if the deployment uses this kind of configuration - see the comment to
blocks.nodeSelector
parameter invalues.yaml
for details.
v2024.06¶
- Patch release v2024.06.34 addresses the few issues discovered in the initial v2024.06.28 release.
- Patch release v2024.06.40 addresses a few more issues discovered in the v2024.06.34 release.
Updates¶
-
3135 Reworked the workflow file structure and run files handling to better support advanced workflow setup scenarios, which require selective copying of files from the workflow folder to run directories, or uploading input files during run configuration.
- The workflow folder with all its subfolders and files now works as a template of the run directory (its prototype). There is no special Files folder anymore.
-
When you open a workflow folder, the Files and Runs tabs appear in Explorer so you can quickly switch between the workflow files view and the run files view.
Workflow folder tabs in Explorer
-
Explorer displays the workflow folder (the Files tab) in the file tree view, so you can get an overview of the entire file and folder structure there.
-
In the workflow, you can set up which folders and files it copies to its run directory when creating a new run, and which files exist in the workflow folder only. This works the same as placing files inside or outside the Files folder, but allows finer tuning. You can use the (add) and (exclude) buttons in the file tree, or use the Run files rules > Edit manually... command from the Explorer pane menu to set up advanced rules - for example, exclude files by a name pattern.
Example setup
Suppose you are preparing a workflow, which uses a large model file (read-only, does not change), and data files (model input samples), which are per-run and should be uploaded by a user who runs your workflow.
You can create the
model/
subfolder in your workflow, containing the model file, and exclude that file (do not copy; grayed out in Explorer). Then create themodel/inputs/
subfolder where users will upload their samples - so you choose to copy this folder to the run directory.Your workflow users can then create new runs in configuration mode, and upload their sample files to the
model/inputs/
subfolder in their run directory - so they do not need write access to your workflow, you can share the workflow in read-only mode. -
This update also fixes a number of issues with file management when creating runs in configuration mode: the files uploaded by users are no longer replaced by the files from the workflow folder upon launch, the working directories of Composite blocks are properly created in the run directory to allow uploading files into them, and so on.
- Various Help sections were updated to reflect the changes.
-
2955 The Python script block now displays the Python version it uses.
Python version in the Python script block window
-
3135 In rare cases when you make a change in workflow, which cannot be properly saved in the undo history, pSeven Enterprise now displays a warning dialog, where you can cancel or commit the change. Committing such a change resets the workflow editing history, so it cannot be undone. There are very few such cases, and the warning dialog message provides workarounds to avoid the history reset.
- 3135 Removed the settings that enabled workflows with batch inputs, where multiple instances of the workflow are launched in parallel as a single run. That kind of setup was found to be confusing, and examples of its real use are lacking. This change does not affect batch mode and parallelization support in Composite blocks.
-
2246 2232 Updated the technology preview of the app UI v10: run log support, fixes in parameter validation, code cleanup. Note that UI v10 cannot yet replace the current stock app UI v8 - for now it is only intended for developers of custom app UI.
Attention app UI developers
If you develop a custom app UI, be advised to use the stock app UI v10 as an example, and implement your UI following the UI v10 design principles. The v10 design is the one that will be supported in future.
To get the UI v10, use the Workflow app > Reset to stock app UI v10 (techpreview) command from the Explorer pane menu.
-
3199 Upgraded the embedded pSeven Core package to v2024.05. For details on recent improvements and changes, see the pSeven Core changelog.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: add an input variable and pass it the value of the workflow's@Working directory path
information port (see Workflow as a composite block). That kind of setup is advised if the workflow is a child one, referenced by another (main) workflow. In other cases you can also useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
- 3202 Fixed a regression issue from v2024.04 where users were signed out unexpectedly a short time after they had signed in.
- 3208 Fixed a regression issue from v2024.04 where the user storage quotas in pSeven Enterprise failed to function, so it never applied quotas to users.
- 3217 Fixed a regression issue from v2024.03, where blocks in
the experimental Kubernetes-native run mode (
sizing.runOnKubernetes
invalues.yaml
) could not start, if your cluster uses Cilium CNI - a networking solution, enabled by many Kubernetes providers and distributions. - 3141 Increased the start-up performance of blocks in the
run-on-demand mode (
sizing.blockRunStrategy: on-demand
, default since v2023.08), so it now takes noticeably less time to launch a block in a workflow running in that mode. - 2083 Fixed an issue with file download where the pSeven Enterprise UI was becoming unresponsive for all users, if any one of them was downloading a large file from Explorer in Studio.
- 3218 Fixed an issue where pSeven Enterprise could not be
deployed on a shared Kubernetes cluster, if you enable the
sizing.runOnKubernetes
block run mode - the installation stopped with an error when trying to create cluster-wide objects (a required ClusterRole and its corresponding ClusterRoleBinding). - 3218 Added settings to
values.yaml
that enable administrators to specify the ServiceAccount, ClusterRole, PersistentVolume objects to be used by pSeven Enterprise. In particular, those settings enable installation on a shared Kubernetes cluster as a user with no cluster-wide permissions - see Installing with limited cluster permissions for details. -
3218 Fixed an issue where the NFS setup required you to disable NFSv4 on the file storage servers in order to use NFSv3. It is now enough to set the NFS version to use in
values.yaml
, and the NFS server can have both NFSv3 and NFSv4 enabled (common default) - the connection from pSeven Enterprise will always use the protocol version set invalues.yaml
. The instructions to disable NFSv4 were removed from the deployment guide.NFSv4 support is still considered experimental, and using NFSv3 (default) is recommended as this usually shows better performance.
-
3216 Fixed an issue with the experimental block run mode (
sizing.runOnKubernetes
) where blocks sometimes failed to start because pSeven Enterprise incorrectly estimated the amounts of free resources on Kubernetes nodes. - 3247 Fixed an issue where, if a user deleted a block while editing it (having the block window open), the Kubernetes logs were littered with useless error messages like "ERROR: Block edit session canceled!" and their stack traces.
- 3210 Updated the authentication service (Keycloak) to resolve several related CVE issues.
- Updates in Help:
- 3210 3191 Updated the administration guide sections related to the authentication service (Keycloak) due to changes in its interface: several subsections in User management, instructions in Users from Active Directory or LDAP server, Setting up single sign-on (SSO), User session expiration settings, Auditing user and admin activity.
Bugfixes¶
-
3178 Fixed an AppsHub vulnerability issue with apps that contain workflow references - that is, the apps created by publishing a main workflow that references others.
Due to this fix, previously published apps with workflow references now have to be re-published, otherwise they cannot run. If you have such apps, you can get the workflow from an app (for each of its versions) and publish it as a new revision of the same app version. There is no need to update the workflow itself in any way. Also there is no need to update apps that do not contain workflow references.
-
3198 Fixed an AppsHub regression issue from v2024.04 where you could not delete any app runs from the Runs pane on the app run page.
- 3222 Fixed an AppsHub regression issue from v2024.02 where
you could not group app runs in the Runs pane of the AppsHub sidebar,
because it was not possible to save a run name containing a dot
(
.
, used as the group name separator). - 3168 Fixed a vulnerability issue in AppsHub where users of an app could bypass the workflow download restriction placed by the publisher of that app.
- 3178 Fixed a vulnerability issue where a user could exploit workflow references to gain unauthorized access to other users' workflows.
- Design space exploration block (beta):
- 3201 3226 Fixed a regression issue from v2024.04, which caused unexpected delays in the block UI - for example, when you add variables or responses, open the Ports and parameters dialog and so on.
- 3169 Fixed an issue where you could not add the
Noisy responses
orCheap responses
hint in Firefox. - Fixed an issue with the Adaptive design for GP technique where non-adaptive responses (for example, Evaluation) affected the DoE point generation, while they should not.
- 856 Fixed an AppsHub issue where you could not open an app,
if its name contains a
#
character, or the workflow that was published as that app contains#
in its name. - 3246 Fixed an issue where, if an error occurred while saving a block in some workflow, pSeven Enterprise could not open that workflow afterwards.
- 2760 Fixed the UI layout of the string editor in the Edit value dialog to properly display multi-line strings and long text.
- 2922 Fixed an issue with the matrix editor in the Edit value dialog where you could not edit a matrix nested into a table cell, because any edit resulted in a validation error.
- 3246 Fixed an issue with values assigned to ports where, if the value is a large data array (for example, a table), it used up some of your storage space even after you reset the port value - pSeven Enterprise did not delete the temporary files created to store such values.
pSeven Enterprise upgrade notice¶
When preparing values.yaml
for the upgrade,
note the new launcher.*
, storage.*.persistentVolume.create
,
storage.*.persistentVolumeClaim.create
parameters, which appear in v2024.06:
- If you run
helm install
as a cluster admin who has full permissions (can create cluster-wide objects), you can leave those parameters default. - Otherwise if you install as a user with limited cluster permissions, additional configuration is required before installation - see Installing with limited cluster permissions.
After the upgrade to pSeven Enterprise v2024.06:
- Notify the app developers that, if any of their apps contain workflow references - that is, the app workflow references another one, - then they have to re-publish such apps, otherwise they will not run. Point the developers to the bugfixes section above for details.
Patch v2024.06.34¶
Patch release
v2024.06.34 replaces the initially released version v2024.06.28. It contains the additional fixes listed here.
- 3279 Fixed a regression issue from v2024.06, which caused
frequent restarts of the user interface service (
appserver
), interrupting user work in pSeven Enterprise UIs. - 3275 Fixed a regression issue from v2024.06 where it incorrectly updated workflows created in previous versions, so those workflows could not run.
Patch v2024.06.40¶
Patch release
v2024.06.40 replaces the previously released patch v2024.06.34. It contains all fixes from v2024.06.34 and a few more.
- 3290 Fixed a regression issue from v2024.06, where block
working directories were improperly handled - for example, files were not
copied to indexed working directories, and the run directory contained
persistent copies of such directories named
Block name [####]
, which should actually appear only while the run is in configuration mode. - 3287 Fixed a regression issue from v2024.06 where you could not download the run log file - clicking the download button in the Run log produced the error message "The requested file could not be downloaded!".
v2024.04¶
Updates¶
-
Design space exploration block (beta):
-
3130 You can track the progress of the study while it runs, using the new
Designs.html
report with interactive plots of the evaluation history. See Result files for details.Example report for an optimization problem
-
core-462 Enabled the internal modeling of linear responses in DoE techniques and in Adaptive design for GP (except the Adaptive responses).
- 2422 Enabled the "Auto" budget estimate for the Gradient-free optimization technique, in addition to the other techniques already supporting this feature.
-
3017 Better visible saving notification: the save button is being disabled and changes its label.
Saving the Design space exploration block
-
-
Uncertainty quantification block (beta):
- 3010 If you define a task with no responses, the block no longer adds the request ports (for variables), since they are unusable with such tasks.
- 3010 Minor updates in the block UI and in formatting of the block's reports.
-
Python script block:
-
3190 Updated a number of modules provided by the block. Certain updates might require you to review your scripts so as to keep compatibility with the updated modules - see the list below.
Important Python package updates
h5py
3.3.0 to 3.11.0keras
2.10.0 to 2.15.0numba
0.56.3 to 0.59.1onnxruntime
1.12.1 to 1.14.1openturns
1.17 to 1.22plotly
5.10.0 to 5.21.0pyarrow
4.0.0 to 14.0.2pytorch
2.1.0 to 2.1.2scipy
1.5.3 to 1.13.0tensorflow
2.10.0 to 2.15.0yarl
1.8.1 to 1.9.4
-
-
3129 Added the technology preview of the stock app UI v10. It cannot yet replace the current stock UI v8, as v10 is an early preview version with many missing features, only intended to provide an updated UI code template to developers of custom app UI.
Attention app UI developers
If you develop a custom app UI, be advised to use the stock app UI v10 as an example, and implement your UI following the UI v10 design principles. The v10 design is the one that will be supported in future.
To get the UI v10, use the Workflow app > Reset to stock app UI v10 (techpreview) command from the Explorer pane menu.
-
3145 Upgraded the embedded pSeven Core package to v2024.04. For details on recent improvements and changes, see the pSeven Core changelog.
- Updates in Help:
- 3130 Updated the Design space exploration block guide due to changes in this version: Result files section, details related to the linear response modeling.
- 2137 The Python script block guide now explains using
the
api.write_report_table()
function to save tables (.p7table
) for reports.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
Warning
pSeven Enterprise v2024.04 updates a number of modules in the embedded Python. These updates might require the user block developers and Python script block users to review their code and should be announced early - see the pSeven Enterprise upgrade notice below for details.
- 3190 Updated the pSeven Enterprise authentication service (Keycloak) to resolve several related CVE issues.
- 3190 Resolved several CVE issues in the embedded Python.
- 3163 Fixed an installation issue where, if you configure your
deployment to run blocks natively on Kubernetes (
sizing.runOnKubernetes
enabled, experimental mode), installation stopped with an error due to invalid defaultblocks.networkPolicySpecIngress
configuration invalues.yaml
. - 3152 Fixed a deployment issue with certain managed Kubernetes
providers where the deployment stopped with an error because
the
blockfilesgate
services could not start. - Updates in Help:
- 3163 Fixed the incorrect
blocks.networkPolicySpecIngress
configuration example in the v2024.03 changelog.
- 3163 Fixed the incorrect
User block development¶
-
3190 Updated a number of Python modules in the block runtime environment. Certain updates might require you to review your block code so as to keep compatibility with the updated modules - see the list below.
Important Python package updates
h5py
3.3.0 to 3.11.0keras
2.10.0 to 2.15.0numba
0.56.3 to 0.59.1onnxruntime
1.12.1 to 1.14.1openturns
1.17 to 1.22plotly
5.10.0 to 5.21.0pyarrow
4.0.0 to 14.0.2pytorch
2.1.0 to 2.1.2scipy
1.5.3 to 1.13.0tensorflow
2.10.0 to 2.15.0yarl
1.8.1 to 1.9.4
-
3176 Fixed a regression issue from v2023.03 where adding the DEV tag to your block did not disable the block code caching on Windows nodes.
- 3177 Fixed an issue with block resource management (optional deployment feature), where a block with no CPU limit (default) was actually limited to using a single CPU core, if it runs on a Windows node - which caused errors, for example, if the block launched third-party engineering software (CAD/CAE packages) on that node.
Bugfixes¶
-
Design space exploration block (beta):
- 2422 Fixed an issue with batch mode in Gradient-free optimization where, if you do not set the batch size limit, the block always output batches of size 1 (containing a single point only).
- 3159 Fixed an issue with incorrect point classification
in
Designs.csv
where the "feasible" and "optimal" columns could contain1
for infeasible points (both should be0
in this case). - 3116 Fixed an issue with results where, if no feasible
designs were found, the block added all points to the
Feasible designs
sample. - core-456 Fixed an issue with results in tasks with
minimization or maximization type responses, where the optimal points
with missing values of Evaluation responses were not included into the
Optimal designs
sample. - 2670 2800 Fixed several issues with problem validation where the block could start with invalid settings, which caused a workflow run error.
- 2774 Fixed an issue where a block with
Variables.Feasible designs
orResponses.Feasible designs
ports stopped with an error, if no feasible designs were found. - core-462 Fixed an issue with linear response modeling in Adaptive design, where it unexpectedly skipped modeling some of the linear responses - for example, did not model linear minimization or maximization objectives.
- core-450 Fixed an issue in tasks with categorical variables where some data could be missing from results, if an error occurred while processing one of the combinations of categorical variables' levels.
- 2774 Fixed incorrect "Auto" budget estimates in Adaptive design when all constraints are linear.
- 2800 Fixed various issues with using special values (NaN, ±Inf, N/A) in problem formulation - for example, the block could not be saved, if the initial sample contains ±Inf values, or if you set a constraint bound to N/A (denotes the absence of bound); using the Block properties pane, it was possible to set NaN or ±Inf as a level of a discrete variable, which caused further errors, and so on.
-
Uncertainty quantification block (beta):
- 3010 Fixed an issue where it was possible to save the block with an invalid value of the Random seed option, which caused an error when running the workflow.
-
Python script block:
- 3146 Fixed a regression issue from v2024.01 with using
Numba where the block raised
ImportError
due to the outdatedllvmlite
dependency. - 3086 Fixed an issue where manually stopping the block
caused a workflow error, so the run status was set to
FAILED
(should beINTERRUPTED
), andapi.interrupted()
in the block's script did not catch the stop request as intended.
- 3146 Fixed a regression issue from v2024.01 with using
Numba where the block raised
-
3167 Fixed an issue with workflow references where pSeven Enterprise failed to open a main workflow containing references, if that main workflow was copied from another deployment.
-
3095 Fixed AppsHub regression issues with the stock app UI v7 from v2024.02 (update your apps to the stock UI v8 to resolve):
- The UI required you to open the Edit value dialog to change scalar parameters (for example, integers or strings).
- If you open the app by its URL and pass values of the app parameters in the query string, the UI did not recognize those values.
-
2818 Fixed an issue where workflows created in older pSeven Enterprise versions were always taking a long time to load, unless you make edits in them so they are saved in the format. Now such workflows are cached when you open them for the first time, and will load noticeably faster afterwards.
- 2577 Fixed an issue with renaming app runs in AppsHub where it was possible to add certain special characters or invalid patterns to the run name.
- 3174 Fixed a regression issue from v2024.03 where you could not manage files in your pSeven Enterprise home folder mounted as a WebDAV share (beta feature).
pSeven Enterprise upgrade notice¶
pSeven Enterprise v2024.04 updates a number of modules in the embedded Python. Some of these updates might have compatibility issues with the code written for previous versions, requiring the user block developers and Python script block users to review and update their Python code.
The important updates are:
h5py
3.3.0 to 3.11.0keras
2.10.0 to 2.15.0numba
0.56.3 to 0.59.1onnxruntime
1.12.1 to 1.14.1openturns
1.17 to 1.22plotly
5.10.0 to 5.21.0pyarrow
4.0.0 to 14.0.2pytorch
2.1.0 to 2.1.2scipy
1.5.3 to 1.13.0tensorflow
2.10.0 to 2.15.0yarl
1.8.1 to 1.9.4
Before the upgrade to pSeven Enterprise v2024.04:
- Notify the user block developers about the incoming Python module updates noted above. If the developers use any of those modules, they have to check the module changelogs or release notes in order to maintain their code compatible with the updates.
- Notify the users about that update too. The users as well have to check their scripts in Python script blocks for potential compatibility issues.
When preparing values.yaml
for the upgrade:
- Make sure that you use the new pSeven SAS Registry address,
registry.pseven.io
. The former address is deprecated and will be disabled shortly and without further notice.
v2024.03¶
Updates¶
-
Design space exploration block (beta):
- 3088 The block now supports the evaluation history and
intermediate results files (
History.csv
andDesigns.csv
) for the space-filling DoE techniques (LHS, for example) and Gradient-free optimization. -
3088 Enabled the batch size setting for the space-filling DoE techniques. If you run DoE in batch mode and set the Maximum batch size option, the block splits the generated DoE in a number of batches and outputs them one by one. If you enable batch mode but leave Maximum batch size default, the full DoE is output in a single batch.
LHS and other DoE techniques recognize the Maximum batch size setting
- 3088 The block now supports the evaluation history and
intermediate results files (
-
3084 Slightly improved the responsiveness of the Studio UI.
- 3094 Upgraded the embedded pSeven Core package to v2024.02. For details on recent improvements and changes, see the pSeven Core changelog.
- Updates in Help:
- 3088 Updated the Design space exploration block guide due to changes in this version: Result files section, Maximum batch size option description.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
-
722 In the deployments that run blocks natively on Kubernetes (
sizing.runOnKubernetes
enabled, experimental mode), you can set up network policies for blocks, using the new parameters invalues.yaml
:blocks.networkPolicySpecIngress
for the incoming, andblocks.networkPolicySpecEgress
for the outgoing connections.You can set restrictive network policies for blocks without worrying about their basic communication with pSeven Enterprise. Internally, your policies are always combined with the built-in system policies, which secure the normal block functions.
Examples
Default rules allow all connections to and from a running block:
blocks: networkPolicySpecEgress: # Allow all outgoing connections. - to: - ipBlock: cidr: 0.0.0.0/0 networkPolicySpecIngress: # Allow all incoming connections. - from: - ipBlock: cidr: 0.0.0.0/0
Restrict the block's access to internal Kubernetes networks with a rule like the following (the actual network addresses may be different in your cluster):
blocks: networkPolicySpecEgress: # Allow all outgoing traffic but block connections to the # Kubernetes internal networks. - to: - ipBlock: cidr: 0.0.0.0/0 except: # Pod network - 10.42.0.0/16 # Service network - 10.43.0.0/16
Allow blocks to connect to a specific service in the cluster:
blocks: networkPolicySpecEgress: # Allow all outgoing traffic but block connections to the # Kubernetes internal networks. - to: - ipBlock: cidr: 0.0.0.0/0 except: # Pod network - 10.42.0.0/16 # Service network - 10.43.0.0/16 # Unblock outgoing connections to Pods labeled "app=redis" in # the namespace "common". - to: - podSelector: matchLabels: app: redis namespaceSelector: matchLabels: kubernetes.io/metadata.name: common
-
3114 Fixed a vulnerability issue in the REST API where it was possible to list contents of directories located outside the (workflow, app) run directory, and to download files from those directories using the REST API.
- 2952 Fixed a vulnerability issue where certain system-level environment variables were available in the block runtime environment, so user blocks could exploit them to gain unauthorized access to user or system data.
- Updates in Help:
- 2723 Updated the Windows extension node deployment and upgrade guides, removed the requirement to reboot the node after installation.
Warning
The pSeven SAS Registry address is registry.pseven.io
.
The former address is deprecated and will be disabled shortly
and without further notice.
User block development¶
- 3105 Your block can identify the user who edits or runs it:
added the
DA__P7__BLOCK__USERNAME
andDA__P7__BLOCK__USERID
runtime environment variables. TheDA__P7__BLOCK__USERNAME
contains the current name of the user; note that deployment admins can rename users, as well as allow users to rename themselves. TheDA__P7__BLOCK__USERID
variable contains a persistent string identifier of the user, which cannot change in an existing deployment. -
2952 Fixed an issue with the
DA__P7__*
environment variables where the block runtime environment provided access to a number of system-level variables, which must not be available to the block - for example,DA__P7__APP__*
variables orDA__P7__CLUSTER__*
variables.This fix might break compatibility with existing user blocks
It is recommended to review existing user block implementations, as they might currently use some of the system-level variables that are removed by this fix.
DA__P7__APP__APPDATA_DIR
,DA__P7__APP__USER_HOME_DIR
, andDA__P7__CLUSTER__TASK_USERNAME
are still available to user blocks, despite they are system-level variables. This is a temporary compatibility measure only - these variables will be removed in future versions. Existing blocks should be updated as soon as possible to stop using these variables.- The
DA__P7__BLOCK__*
andDA__P7__RUNENV__*
are kept - these are block-level variables. - All other
DA__P7__*
variables are now removed from the block runtime environment.
For maximum compatibility with pSeven Enterprise version upgrades, blocks should use only the supported block-level environment variables. You can find the full list of supported variables in the startup scripts (
start.sh
,start.bat
) in the example block implementation (Example user block.p7protoblock
).
Bugfixes¶
-
Design space exploration block (beta):
- 3088 Fixed an issue with writing string categorical
variables to
Designs.csv
where their actual values were replaced with numeric codes. - 3088 Fixed an issue with
Designs.csv
where it could be inconsistent with the result data output to block ports. - 3088 3094 Fixed several issues with the optimization and Adaptive design results where the result contained incorrect values of linear and quadratic responses, if you have defined any maximization type responses, or categorical variables, or constants.
- 3088 3094 Fixed an issue where certain values of linear and quadratic responses, which were actually requested by the block, were missing from its results.
- 3088 Fixed an issue with writing string categorical
variables to
-
Uncertainty quantification block (beta):
- 2985 Fixed the "Could not save the block" error sometimes appearing on save.
- 2990 Fixed an issue where the block did not display a warning, if you close its window with unsaved changes.
-
Python script block:
- 2952 Fixed a regression issue from v2024.02 where
api.wfdir
pointed to incorrect location after publishing the workflow to AppsHub - so a script that usesapi.wfdir
worked normally in Studio but could not locate the workflow files when running the published app.
- 2952 Fixed a regression issue from v2024.02 where
-
3114 Fixed an issue with the REST API where an invalid download request returned a response with status code
500 Internal Server Error
instead of a proper error code (for example,404 Not Found
if the requested file does not exist,400 Bad Request
if the file was not specified). - 1571 Fixed an issue with renaming ports of Composite blocks where it was possible to use certain special characters in port names, which could lead to various errors further.
- 3138 Fixed a UI issue in Studio with disappearing breadcrumbs in the workflow editor.
pSeven Enterprise upgrade notice¶
When upgrading, make sure that you use the new pSeven SAS Registry address,
registry.pseven.io
. The former address is now deprecated
and will be disabled shortly and without further notice.
v2024.02¶
Updates¶
-
1612 App versions support in AppsHub.
Set app version when publishing your workflow from Studio
Select the app version to use in AppsHub
App version menu
The stock app UI displays the app version with the app name
-
1612 App REST API clients can specify the app version to use - add
@X
(X
is the version number) to the app id, for example:appshub/.rest/v2/apps/524e0442e15446fb9f5863c55cb11ad0@3/
to use version 3 (the version-specific API URL). Specifying the version number is not required: the URL without the version suffix (the default API URL) connects to the default app version selected by the app developer. Note that the app developer can freely change the version designated as the default. -
2964 The stock app UI can display a dynamic report while the app runs. It reads the report contents from the
REPORT.html
file in the run directory, and your app's workflow should write and updateREPORT.html
to provide the report.A possible use of report in an optimization app
-
Design space exploration block (beta):
-
2852 Removed the Unsolvable problem behavior option, which was available for the optimization and Adaptive design techniques, as the default behavior is preferable in the known use cases.
Default behavior in unsolvable problems
If the Design space exploration block determines that the current problem is infeasible or cannot be solved, it stops but the workflow run continues, that is:
- The block stops normally without raising an error.
- The block outputs all collected data to the the
All designs
port. It might not output anything to the other result ports - for example, if the problem is infeasible, there is no data to output toFeasible designs
. - The workflow can continue, though it must handle the above
situation, when the Design space exploration block outputs
All designs
only.
The behavior described here is now the only supported one for unsolvable problems.
-
-
3087 It is again possible to get an app thumbnail via REST API: added the
"thumbnail"
key in the app list and in the app details, which contains the thumbnail image URL (ornull
if the app has no thumbnail).This update resolves the issue introduced by v2023.02, which removed the
"image"
key from app details. Note that"thumbnail"
provides the image URL only, while"image"
contained the Base64 encoded image itself (which added unwanted load to the API).GET
appshub/.rest/v2/apps/
orappshub/.rest/v2/apps/{app ID}/
and find"thumbnail"
[ ... { "name": "Disk optimization", "path": "/Apps/Disk optimization.p7wf", "id": "e9710699359f4f968df887ab6b5f335d", ... "thumbnail": "https://app.pseven.io/appshub/.rest/v2/apps/e9710699359f4f968df887ab6b5f335d/thumbnail/" } ... ]
- For testing purposes, the
"thumbnail"
key is also added to workflow details. There it always containsnull
since workflows have no actual thumbnails. - For consistency, the
"thumbnail"
key is also added to the workflow publish POST request, and the"image"
key in that request is now deprecated. See Workflow publishing.
- For testing purposes, the
-
2161 If your deployment admin has enabled run-time resource management, and pSeven Enterprise rejects running your workflow due to a lack of resources, the run log now contains more information about the required resources and reasons why the run was rejected.
- 3076 Upgraded the embedded pSeven Core package to version 6.52. For details on recent improvements and changes, see the pSeven Core changelog.
- Updates in Help:
- 3063 Using app reports and working with app versions in Publishing the workflow as an app.
- 3087 Setting the app version and adding the app thumbnail when you publish a workflow using the REST API.
- 2992 Added missing notes about the intermediate result and evaluation history support in the Design space exploration (beta) block: both features are currently supported only for Gradient-based optimization, Surrogate-based optimization, and Adaptive design.
- 3087 2172 Added the missing details about AppsHub REST API changes introduced by v2023.02 - see the v2023.02 changelog.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
- 2888 pSeven Enterprise now enables admin event logging by default - switches on Save Events in Admin Events Settings of the authentication service (Keycloak).
-
1612 If your update stops with a message indicating errors in AppsHub, you have the option to re-run
helm install
with--set fixApps=true
for an automatic fix. This is a worst case option.The automatic fix can delete apps forever
The automatic fix is your last option as it cannot repair apps - it only deletes the apps that cause errors. You cannot restore the deleted apps. Always check the error details before using that fix: the error might be caused by incorrect deployment configuration or by incorrectly restoring from a backup, and the automatic fix does not help in such cases.
Warning
The pSeven SAS Registry address changes to registry.pseven.io
.
The former address keeps working but will be disabled in 1 month.
Bugfixes¶
-
Design space exploration block (beta):
- 2214 Fixed an issue with the Gradient-free optimization
technique where the
Optimal designs
port output all feasible designs, including the non-optimal feasible designs. -
2214 Fixed an issue where the block sometimes did not display the "Auto" budget estimate for a technique that supports this feature.
Note that the Gradient-free optimization technique does not yet support the "Auto" budget estimates.
-
2899 Fixed an issue where, if you set a string value as the initial guess for a numeric variable, the block did not warn you about this invalid setting.
- 2214 Fixed an issue with the Gradient-free optimization
technique where the
-
2618 Fixed an issue with editing nested lists and dictionaries, where the Edit value dialog unexpectedly switched to the JSON editing mode.
- 2313 Fixed an issue with the table, list, and dictionary editors where you could not save the value after changing the type of some element (column).
- 2507 Fixed an issue where, if you have a workflow open in a background tab, recent changes in that workflow were not displayed when you bring that tab up - for example, you could open a workflow with references in background, then break a reference by deleting the related workflow and be unaware of it, when you return to the main workflow tab.
- 2946 Fixed an issue with run log caching, due to which the current run log displayed in the Run log pane contained random messages from the older run logs of the same workflow.
- 3091 Fixed a UI issue in the block setup panes where the buttons (, and other) got stuck in a transitional state (the settings they control were applied correctly though).
- 2754 Fixed a minor UI issue in AppsHub where the recently deleted runs were listed in dialogs confirming mass operations - for example, when you select several runs and stop or delete them.
- 2754 Fixed a minor UI issue in AppsHub where it did not display the icon for a recently published app (you could click the app thumbnail to open it).
- 2156 Fixed the order of buttons in a few UI dialogs where it was inconsistent with the rest of the UI.
pSeven Enterprise upgrade notice¶
When upgrading, make sure that you use the new pSeven SAS Registry address,
registry.pseven.io
. The former address is working but will be disabled
in 1 month - update early to avoid registry access errors in future.
v2024.01¶
Updates¶
Block updates required
pSeven Enterprise v2024.01 requires updating the following blocks in your existing workflows:
- Design space exploration (beta)
- Uncertainty quantification (beta)
- Text (beta)
In v2024.01, this update is mandatory: old block versions will raise errors. To update blocks in a workflow, open the block library panel and click the update notifications in the workflow library.
-
2992 Track optimization and adaptive design progress in the Design space exploration (beta) block: while running, the block writes the evaluation history and intermediate results to the
History.csv
andDesigns.csv
files located in its working directory. For details, see Result files in the block guide.These features are currently supported only for the Gradient-based optimization, Surrogate-based optimization, and Adaptive design techniques. Other techniques do not produce the
History.csv
andDesigns.csv
files.Designs.csv
examplex.r2 , x.r3 , x.r4 , f.Mass , c.Stress , feasible, optimal, initial, description 0.123 , 0.154 , 0.198 , 10.17492, 530.22611, 0 , 0 , 1 , "initial infeasible" 0.12625, 0.15625, 0.19375, 12.48462, 480.60218, 1 , 0 , 1 , "initial feasible" 0.12 , 0.15 , 0.2 , 7.07893 , 1292.3499, 0 , 0 , 1 , "initial infeasible" 0.13856, 0.15 , 0.2 , 13.6342 , 499.4409 , 1 , 0 , 0 , feasible 0.12 , 0.16777, 0.2 , 13.92028, 516.75395, 0 , 0 , 0 , infeasible 0.1305 , 0.15506, 0.19178, 12.08644, 467.51349, 1 , 1 , 0 , "feasible optimal(?)" 0.14 , 0.168 , 0.17 , 32.56638, NaN , 0 , 0 , 0 , infeasible
-
2992 The Design space exploration (beta) and Uncertainty quantification (beta) blocks also save their final results in the CSV format in addition to the pSeven Enterprise table (
.p7table
) format. - 3029 The Design space exploration (beta) block received an update to the batch mode implementation in the Surrogate-based optimization and Adaptive design techniques. When the said techniques request evaluations of the generic (expensive) responses, they aim to fill the batch up to the maximum size you have specified, which in the vast majority of cases provides full batches on every such request.
-
Text block (beta):
- 2995 Added the support for input and output files located in
subfolders of the block's working directory - you can specify input and
output file paths relative to the working directory root. The names of
ports that specify the input and output files were changed to
Input file path
andOutput file path
accordingly.
File path ports in the Text block
To apply this update to Text blocks in existing workflows:
- Update the Text block in the workflow library.
- Open each Text block in the workflow and click the save button (re-save the block).
- 2995 Added the support for input and output files located in
subfolders of the block's working directory - you can specify input and
output file paths relative to the working directory root. The names of
ports that specify the input and output files were changed to
-
Python script block:
-
2978 Updated NumPy to 1.26.2 (was 1.22.3).
You may need to update your scripts for compatibility with NumPy 1.26.2
If you are using NumPy in your scripts, note that there are a number of expired deprecations between NumPy 1.22.3 and 1.26.2. Deprecated NumPy code that raised warnings in previous pSeven Enterprise versions will now raise exceptions, if it contains expired deprecations - most notably, the type aliases like
np.int
ornp.float
, which were deprecated in 1.20.0 and expired in 1.24.0.For full details on expired deprecations, see the NumPy Release notes from 1.22.4 to 1.26.2.
-
2904 Removed the memory and CPU settings from the block UI because they are available in the Block properties pane in the workflow.
-
-
1460 The block library icon on the workflow toolbar now notifies you if block updates are available for the workflow you are editing.
Updates available (left); all blocks up to date (right)
-
3027 Upgraded the embedded pSeven Core package to version 6.51. For details on recent improvements and changes, see the pSeven Core changelog.
- Updated the descriptions of study results on the Design space exploration and Uncertainty quantification block help pages.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
Warning
pSeven Enterprise v2024.01 updates NumPy from 1.22.3 to 1.26.2 in the embedded Python. This change is important for the user block developers and Python script users and must be announced early - see the pSeven Enterprise upgrade notice below for details.
- 3022 Improved stability of the experimental mode where blocks run natively
on Kubernetes (
sizing.runOnKubernetes
) for the common case when users do not set resource limits for their blocks. - 3018 Fixed an issue where a user workflow run could stop responding if a block in that run crashed while reading its input data.
- 3064 Fixed an issue with AppsHub where an app run could consume any amount of the memory and CPU resources, because apps ignored the resource limits set for the blocks in their workflows.
- 3050 Fixed an issue where users could not unpack any archive if you enable the quota support on the NFS storage server but do not set the user storage quotas.
- 3032 Fixed an issue where blocks in user workflows did not start, if a Pod without labels exists in the Kubernetes cluster where pSeven Enterprise is deployed.
- Added the missing v2023.09 upgrade notice about the new Helm version 3.10 requirement, leading to the requirement of Kubernetes 1.22 or greater. If you are already using Helm 3.10 or greater, you are safe to ignore that notice.
Warning
The pSeven SAS Registry address changes to registry.pseven.io
.
The former address keeps working but will be disabled in 2 months.
User block development¶
-
2978 Updated NumPy in the block runtime environment to 1.26.2 (was 1.22.3).
You may need to update your blocks for compatibility with NumPy 1.26.2
If your blocks use NumPy, note that there are a number of expired deprecations between NumPy 1.22.3 and 1.26.2. Deprecated NumPy code that raised warnings in previous pSeven Enterprise versions will now raise exceptions, if it contains expired deprecations - most notably, the type aliases like
np.int
ornp.float
, which were deprecated in 1.20.0 and expired in 1.24.0.For full details on expired deprecations, see the NumPy Release notes from 1.22.4 to 1.26.2.
-
2882 2004 Fixed a regression issue from v2023.06 where the Linux-only
HOME
environment variable was set also for blocks running on a Windows extension node, which caused errors in certain third-party engineering software (CAD/CAE packages) launched by the block on that node. - 3014 Fixed an issue where opening a block configured to run on a Windows extension node displayed an empty block window, if Windows settings on that node specify an incorrect MIME type for JavaScript files.
Bugfixes¶
- Design space exploration block (beta):
- 3067 Fixed an issue with initial samples, where the block assumed that the sample columns always follow a fixed order - variables, objectives, constraints - and thus disregarded the order of responses specified in its configuration.
- 3057 Fixed the block's help page that described the controlled generation feature, which in fact is not supported by the block.
- 1918 Fixed an issue where repeatedly using the Undo and Redo commands caused errors.
- 2980 Fixed an issue with workflow references where a "Workflow reference is outdated" error message could pop up if both the main and the referenced workflows are being edited at the same time.
- 2880 2902 Fixed an issue where rapid edits in a workflow - for example, massively adding ports to a Composite or fast switching between blocks to configure them - could damage the workflow so you could no longer edit or re-open it.
- 2776 Fixed an issue with the Run log pane where it did not keep the scroll position when you select different blocks.
- 2590 2965 Various UI and usability fixes in the Edit value dialog.
pSeven Enterprise upgrade notice¶
pSeven Enterprise v2024.01 contains a newer version of NumPy - 1.26.2 (previous versions provided NumPy 1.22.3). All Python user code that uses NumPy must be checked for compatibility with NumPy 1.26.2 before the upgrade, including the custom user block code and the user scripts in the Python script blocks. Also, users will be required to update other blocks in the existing workflows after the upgrade to v2024.01.
Before the upgrade to pSeven Enterprise v2024.01:
- Notify the user block developers about the incoming NumPy update from 1.22.3 to 1.26.2. There is a number of expired deprecations between those NumPy versions. The developers have to check the NumPy Release notes from 1.22.4 to 1.26.2 and remove all expired deprecations from their code.
- Notify the users about that update too. The users as well have to check their scripts in Python script blocks for expired deprecations, if they use NumPy.
When preparing values.yaml
for the upgrade:
- Make sure that you use the new pSeven SAS Registry address,
registry.pseven.io
. The former address is still working but will be disabled in 2 months - update early to avoid registry access errors in future.
After the upgrade:
-
Notify the users that they have to update the following blocks in their existing workflows to avoid errors (these blocks use NumPy):
- Design space exploration (beta)
- Uncertainty quantification (beta)
- Text (beta)
- All custom blocks that require an update for compatibility with NumPy 1.26.2.
v2023.11¶
Updates¶
-
2710 Updated keyboard navigation in the Edit value dialog:
- Down and Up while editing move to edit next/previous cell.
- Tab and Shift+Tab while editing move right/left.
- Enter finishes editing but no longer moves down (replaced by Down).
Keyboard navigation in the Edit value dialog
-
2887 A REST API client working with an AppsHub app can now check that app for changes. The new
"fingerprint"
key in app details provides a unique identifier, which changes with any change in the app.GET
apps/{app ID}/
and find"fingerprint"
{ "name": "Disk optimization", "path": "/Apps/Disk optimization.p7wf", ... "state": "READY", "fingerprint": "0e8e4146f23e18686db40211c502f94c" }
-
2938 Upgraded the embedded pSeven Core package to version 6.50. For details on recent improvements and changes, see the pSeven Core changelog.
- Updated pSeven Enterprise Help:
- 2835 Added the Design space exploration block guide.
- 2588 Added notes on managing block memory consumption to Setting up the workflow.
- 1969 Improved search capabilities and fixed a few issues with search.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
- 2909 Added a number of advanced parameters to
values.yaml
, using which you can set annotations and labels to all Kubernetes objects created by a pSeven Enterprise deployment. - 2905 2906 2909 Updated the experimental mode where blocks
run natively on Kubernetes (
sizing.runOnKubernetes
) to improve its stability, as a part of work to prepare it for use in production. -
2815 2853 Updated the pSeven Enterprise deployment guide:
- Added the Hardware resources summary.
- Added the Requirements summary.
- Added Deployment overview.
- Added details on deployment options - trial and production.
The hardware summary for trial and for production
-
Added the missing v2023.07 upgrade notice about the end of support for PostgreSQL 11 and the new PostgreSQL 12 requirement. If you are already using PostgreSQL 12 or greater, you are safe to ignore that notice.
- 2969 Fixed a regression issue from v2023.09 where,
if you set
entrypoint.allowedHosts
invalues.yaml
, no one could sign in to pSeven Enterprise because opening the sign-in page resulted in a "Bad host" error. - 2945 Fixed an issue where a web application firewall (WAF) made Python script blocks unusable - users were getting a "HttpErrorResponse" message when trying to save the block or test the script. Note that users will have to update the Python script blocks in their workflows to resolve this issue.
- 2903 Fixed an issue where a workflow run interrupted by user entered the Stopping state but never actually stopped, and you could not manually stop it in the admin interface.
- 2761 Fixed a stability issue where users could not open any block for editing,
if the
htcondormanager
service is malfunctioning.
Warning
The pSeven SAS Registry address changes to registry.pseven.io
.
The former address keeps working but will be disabled in 3 months.
User block development¶
- 2839 2832 Fixed a regression issue from v2022.06, which affected the compatibility of newer pSeven Enterprise versions (v2022.06 and above) with the user blocks developed for the older versions (v2022.05 and below) that work with custom data types. Due to this issue, for example, when editing a port value which is a custom table type, incomprehensible error messages appeared when adding or removing table rows.
Bugfixes¶
- 2903 Fixed an issue where, if you stop a workflow run, it entered the Stopping state but never actually stopped.
- 2967 Fixed an issue with workflow references where, if both the main and the referenced workflows are being edited at the same time, numerous error messages appeared on the main workflow tab, and the runs of the main workflow stopped with an error.
- 2919 Fixed a "value too long for type character varying(1024)" error when opening a workflow run that failed.
- 2710 Fixed the Ctrl+V hotkey behavior in lists and dictionaries in the Edit value dialog.
- 2710 Fixed incorrect behavior of the Edit value dialog when editing nested dictionaries.
- 2989 Fixed an issue with the Text block where configuring it to run on a Windows node caused a "No module named 'astor'" error when running the workflow.
- 2693 Fixed a vulnerability issue in the table, list, and dictionary editors in the Edit value dialog.
- 2429 Fixed an issue where pSeven Enterprise blocked unpacking an archive with high compression rate, because it was incorrectly recognized as a ZIP bomb.
- 2683 2750 2752 2753 Fixed several UI inconsistencies in the AppsHub Runs pane.
- Fixed UI issues in Explorer related to
moving files in the Files folder:
- 2028 Fixed drag-and-drop not working inside Files.
- 2875 Fixed using cut and paste, which seemed to copy the file instead of moving it.
pSeven Enterprise upgrade notice¶
When upgrading, make sure that you use the new pSeven SAS Registry address,
registry.pseven.io
. The former address is working but will be disabled
in 3 months - update early to avoid registry access errors in future.
v2023.09¶
Updates¶
-
1853 The new Uncertainty quantification (beta) block enables uncertainty simulation and reliability analysis studies in pSeven Enterprise.
Reliability analysis in the Uncertainty quantification (beta) block
-
1210 The new Text (beta) block provides for integrating the software, which uses input and output text files, and exchanging data between that software and other blocks in a workflow.
The Text (beta) block being configured to parse a program output
-
Python script block:
- 2859 Added the signal
@go
ports, which you can use to order the execution of Python script blocks in a workflow - see Using signal ports).
- 2859 Added the signal
- 2005 The storage usage tooltip in Explorer now lists the space used by your files and AppsHub app run results.
- 2870 Upgraded the embedded pSeven Core package to version 6.49. For details on recent improvements and changes, see the pSeven Core changelog.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
pSeven Enterprise v2023.09 requires Helm 3.10 and Kubernetes 1.22
pSeven Enterprise is no longer compatible with outdated Helm versions and requires at least Helm 3.10, which supports only Kubernetes 1.22 and above. See the pSeven Enterprise upgrade notice below for further details.
- 2891 Fixed a regression issue from v2023.08 where the deployment stopped with an error, if you use an NFSv3 file storage server.
- 2849 Fixed a vulnerability issue in the pSeven Enterprise authentication service (Keycloak).
- Updates in Help:
- 2811 Updated and corrected the information about pSeven Enterprise network connections and ports - see the new Network parameters section in the pSeven Enterprise deployment guide.
- 2810 Added a page explaining the pSeven Enterprise release lifecycle policy - see Release lifecycle.
- 2812 Added a section to the administration guide that covers information security incidents and related operations - see Information security incidents and operations.
User block development¶
- 2847 Fixed an issue with blocks that run on Windows extension nodes and
launch the CAD/CAE packages installed on that node, where the launch failed
if the package requires reading the user registry hive (
HKEY_CURRENT_USER
).
Bugfixes¶
- Design space exploration block (beta):
- 2742 Fixed issues with variables set up to switch to constants
during a workflow run (using the
{variable name}.Constant
ports). - 2771 Fixed an issue where you had to open the block to reset some parameter mapped to a port, because resetting the value of that port in the Block properties pane did not work as intended.
- 2771 Fixed an issue with N/A values in results where they could be displayed as empty strings, if the block configuration contains a string categorical variable.
- 2798 Fixed an issue where the block stopped with an error if any of the result arrays is empty - for example, no feasible points were found.
- 2742 Fixed issues with variables set up to switch to constants
during a workflow run (using the
- 2768 Fixed a version compatibility issue with workflows created in pSeven Enterprise v2022.05 or earlier where you could not open the workflow runs saved earlier, or the list of workflow runs appeared empty even though saved runs exist - for example, when you get the list of workflow runs using REST API.
- 1177 Fixed an issue where copying a folder to the same location a few times caused an error.
- 2850 Fixed an issue where incorrect values of block's peak memory usage were output to the workflow run log - the logged peak value could be less than the average usage, or could decrease during a workflow run.
- 2759 Fixed an issue with using macOS Safari where file downloads from pSeven Enterprise stopped with an error.
- 2562 Fixed a minor UI issue where the button sometimes appeared in the list of Composite block inputs or outputs even if you did not select any ports to delete.
- 2642 Fixed a UI issue in AppsHub where, if you publish the same workflow a few times, the AppsHub main page displayed several app duplicates until you reload that page.
- 2651 Fixed minor UI issues with long names of app runs in AppsHub.
pSeven Enterprise upgrade notice¶
Since v2023.09, pSeven Enterprise deployment requires Helm 3.10 or greater. It supports only Kubernetes versions 1.22 and above, so Kubernetes 1.22 is now also the minimum version supported by pSeven Enterprise.
If you are already using Helm 3.10 or greater, no additional actions are required.
If you are using an older version of Helm, update it before deploying pSeven Enterprise v2023.09 - otherwise the deployment is going to fail with an error from Helm. In this case, it is recommended to use the most recent release of Helm compatible with your Kubernetes version - check the Supported Version Skew section in the Helm documentation to find the compatible versions.
v2023.08¶
Updates¶
- 2795 You can automate publishing workflows to AppsHub using the pSeven Enterprise REST API. See Workflow publishing in the REST API guide.
- 2843 FMI support via FMPy. The
fmpy
module is available in Python script blocks and user blocks. - Design space exploration block (beta):
- 2743 The Adaptive design for GP technique now supports mixed designs with all types of variables.
- While block:
- 2680 No longer in beta. No new issues have been discovered during the extended stability testing period of the block, so its current version is considered stable.
- 2830 An update for pSeven Enterprise deployments with run resource management enabled (optional feature, disabled by default): you are no longer required to set the memory and CPU limits for blocks, so it is possible to grant a block unlimited resources. However, blocks with unlimited resources have lower priority and may be forced to stop by pSeven Enterprise, if there are not enough free resources to run other blocks that do declare their memory and CPU requirements.
- 2860 Upgraded the embedded pSeven Core package to version 6.48. For details on recent improvements and changes, see the pSeven Core changelog.
Avoid using environment variables prefixed DA__P7__
in Python script blocks
Due to a bug in the Python script block, it is currently possible to
read values of block runtime environment variables in the block's script.
Those variables (with names starting in DA__P7__
) are actually intended
for block developers only. This bug will be fixed in future, thus the
DA__P7__
variables will no longer be accessible from the user script in
Python script. If you are currently using such variables in your
scripts, update them beforehand to avoid future issues.
DA__P7__BLOCK__WORKFLOW_DIR
: useapi.wfdir
(see Reading files containing input data).DA__P7__BLOCK__WORKFLOW_RUN_DIR
: useapi.rundir
(see Reading files containing input data) or the block working directory (see Working directories).DA__P7__BLOCK__TEMP_DIR
: useapi.tempdir
(see Temporary file storage).
Deployment and administration¶
- 2841 The "on-demand" block execution strategy is now default for new deployments, as it appears to be the preferred configuration choice in most of the known use-cases. The "all-at-once" strategy is now an option, supported for backwards compatibility.
- 2830 Added an experimental feature to run workflow blocks natively on
Kubernetes. When enabled, pSeven Enterprise creates a Pod for each running
block instance, instead of placing blocks into slots provided by task
executors. To enable, see the
sizing.runOnKubernetes
parameter invalues.yaml
. - 2206 Fixed an extension node deployment issue where the deployment stopped with a "Failed to install C++ redistributable" error, if a Microsoft Visual C++ Redistributable package is already installed on the node.
- 1216 Fixed a security issue where a block created by a user could gain access to files of other users.
- 2821 Fixed an issue where pSeven Enterprise could not delete some of the temporary files while cleaning up the user temporary files during a version upgrade.
- 1648 Updated the pSeven Enterprise deployment guide to explain how to get the full version number from the Helm chart.
User block development¶
- 2843 The FMPy module is now available in the block runtime environment
by default, so blocks that work with FMUs can simply
import fmpy
. - 2832 Fixed a regression issue from v2022.06, which affected the compatibility of newer pSeven Enterprise versions (v2022.06 and above) with the user blocks developed for the older versions (v2022.05 and below). Due to this issue, for example, certain valid port values in those blocks - such as empty tables - were marked as invalid by pSeven Enterprise and caused errors. This issue appeared because pSeven Enterprise v2022.06 and above use the new value format, which was developed to be compatible with the old value format used in v2022.05 and below, but in fact did not provide the compatibility in full due to a few defects in implementation. Since the previously developed blocks use the old value format, those incompatibilities between the old and new formats were causing various issues with port values in those blocks.
Bugfixes¶
- Design space exploration block (beta):
- 2860 Fixed a regression issue from v2023.07 where the block could stop with an error while processing the results of Surrogate-based optimization or Adaptive design.
- 2861 Fixed an issue which caused minute-long delays in response to certain workflow editing actions - for example, when setting up links, moving blocks, or viewing their properties.
- 2856 Fixed an issue where the Workflow contents pane displayed incorrect values of peak memory usage, because the displayed peak value could decrease during a workflow run.
- [2836] Fixed an issue where pSeven Enterprise displayed errors when you try to edit a workflow, if that workflow is referenced from another.
- 2821 Fixed an issue where pSeven Enterprise could not remove some of the temporary files created while running workflows, so part of your storage space was occupied by those leftover files.
pSeven Enterprise upgrade notice¶
Since v2023.08, the "on-demand" block execution strategy is preferred over the
"all-at-once" strategy (previous default). In new deployments, the default
strategy is now "on-demand". If you are currently using the "all-at-once"
strategy, consider switching to "on-demand" during the upgrade: see the
sizing.blockRunStrategy
parameter in the deployment configuration file
values.yaml
.
v2023.07¶
Updates¶
-
2558 If you select a workflow block that can be updated to a newer block version, the Block properties pane displays an update notification.
The Block properties pane with an outdated block selected
-
Design space exploration block (beta):
- 2204 Updated the block UI to replace its old built-in version of the Edit value dialog with the current version used in pSeven Enterprise Studio.
- 2816 Upgraded the embedded pSeven Core package to version 6.47. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
pSeven Enterprise v2023.07 requires PostgreSQL 12
pSeven Enterprise is no longer compatible with PostgreSQL 11 as this version of PostgreSQL is at the end of life. If you are using PostgreSQL 11, update to version 12 or 13 before you upgrade pSeven Enterprise to v2023.07. Updating from PostgreSQL 11 to 14 or greater is not recommended because of the changes in the authentication schema introduced by PostgreSQL 14.
- 2690 If your deployment does not include Windows extension nodes (see
Extension nodes),
you can slightly reduce its resource consumption by disabling the pSeven
Enterprise services that handle connections to the extension nodes: see the
new
sizing.enableExtensionNodes
parameter in the deployment configuration filevalues.yaml
. - 1188 Fixed an issue with Windows extension nodes where a node could not connect to other computers in its network - for example, license servers required by the software installed on that node - because all node's network traffic was redirected to pSeven Enterprise.
- 2794 Updated the Administration guide with a note describing the logging subsystem with changes introduced in v2023.05, explaining the log cache and providing some guidelines about PostgreSQL database maintenance - see Understanding run logs storage.
- 2346 The Open-source components page provides a list of third-party open-source software components used in pSeven Enterprise, their names, links to source, licenses, and copyright notices.
User block development¶
- 2573 Ports with custom types can now specify the placeholder displayed
to users when there is no value assigned to the port. To add it, set the
@nullStr
property in the port schema. For example,{allOf: [{$ref: "r"}, {"@nullStr": "Auto"}]}
sets up a port that expects a floating point value and displays Auto when no value is set. - 2637 Fixed an issue with input ports of enumeration type, where users could not change the value assigned to such a port in the Block properties pane.
Bugfixes¶
- 2731 Fixed an issue with workflow run launch where, if the number of ongoing runs has reached the license limit, pSeven Enterprise canceled every new run with an error. Now such runs are placed in a queue, and pSeven Enterprise starts them automatically when a license is available.
- 2796 Fixed an issue with the Run log pane where leading whitespaces were removed from every log line, breaking indentation in log messages.
- 2808 Fixed an issue where a workflow run stopped with an error if the workflow contains a driver block that is set up to run on a Windows extension node.
- 1236 Fixed an issue with blocks running on a Windows extension node where string values of block runtime environment variables were encoded incorrectly if they contain Unicode characters.
- 2767 Fixed an issue with workflows created in previous versions of pSeven Enterprise (v2023.05 and below) where, if you have used the Undo command while editing such a workflow in newer pSeven Enterprise version, that workflow could be saved in an incorrect state and become unusable, and reopening it resulted in a "Document initialization error" message.
- 2645 Fixed an issue where a block description in the Block properties pane could be reset when you save a block.
- 2279 Fixed minor UI issues with the Mail notifications check box in the user menu.
pSeven Enterprise upgrade notice¶
Previous versions of pSeven Enterprise are compatible with PostgreSQL 11 or greater. pSeven Enterprise v2023.07 is no longer compatible with PostgreSQL 11 and requires at least PostgreSQL 12 (version 11 is at the end of life).
If you are using PostgreSQL 12 or greater, no additional actions are required.
If you are using PostgreSQL 11, update it to version 12 or 13 before you upgrade pSeven Enterprise to v2023.07. Note that updating to PostgreSQL 14 or greater is not recommended in this case because of the changes in the authentication schema introduced by PostgreSQL 14.
v2023.06¶
Updates¶
-
2071 Added a shortcut to preview a workflow app UI - click in the workflow edit toolbar or select the Open app UI command from the toolbar menu. As before, you can also preview the app UI by opening the
index.html
file from the workflow UI folder in Explorer.The app UI preview command in the edit toolbar menu
-
2484 You can edit multiple workflow references at once: select the reference blocks you want to edit and use the Reference another workflow... command from the menu in the workflow edit toolbar. After you confirm the new workflow choice in the workflow reference dialog, all blocks you had selected will reference that new workflow. This might be useful, for example, when you need to switch to an updated version of a child workflow, which is referenced by several blocks in the main workflow.
The workflow reference command in the edit toolbar menu
-
2689 Upgraded the embedded pSeven Core package to version 6.46. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
- 2727 Fixed a vulnerability issue where a disabled user account could gain API access to pSeven Enterprise.
- 2595 2778 Fixed a number of CVE vulnerabilities in the pSeven Enterprise images.
- 2513 Fixed an issue with Windows extension nodes where a node could not establish connection with pSeven Enterprise and hence was not displayed to users in pSeven Enterprise Studio, if that node was allocated to the same subnet as the Kubernetes cluster nodes.
- 2678 Fixed an issue where the pSeven Enterprise images contained test files used in vulnerability and stability testing routines, which were recognized as security threats by protection utilities.
- 1898 Cleaned up the administrative interface, removing various unused and disabled buttons and commands.
-
1327 Added initial WebDAV support: users can mount their pSeven Enterprise home folders as WebDAV shares, provided that they have WebDAV access enabled.
WebDAV support is a beta feature
WebDAV access is a beta feature, which is currently disabled by default for all users. To enable it, set the
app_auth | user | Can use WebDAV protocol
user permission. Users with that permission can get the access URL using the Copy HTTP/WebDAV URL command from the Explorer pane menu. -
2548 Added a note about the WebSocket protocol requirement to the Reverse proxy configuration notes in the pSeven Enterprise deployment guide.
User block development¶
-
1778 Fixed an issue with the example block implementation (
Example user block.p7protoblock
) which potentially caused instability when running workflows that include blocks based on that example: there was no timeout and no retries after sending a request from the block to pSeven Enterprise, so if the block did not receive a response (for example, due to network connectivity issues), it could wait indefinitely or raise an error, thus disrupting the workflow run.Review your block code as it may require an update
If you develop and support your own blocks, it is advisable to review their implementation to avoid issues similar to the described above. For guidance, see the usage of the
backoff
module in the updated version of the user block example. -
2004 Fixed an issue where the
HOME
variable in the block environment was unset, which caused an error if the block had to access the directory pointed byHOME
.
Bugfixes¶
- 2703 Fixed a regression issue with REST API from v2023.03 where a
correct authorization request returned a response with status code
500 Internal Server Error
. - 1778 Fixed a stability issue with the blocks packaged with pSeven Enterprise, which could reveal itself if the network connectivity within the deployment Kubernetes cluster is disrupted, causing unexpected behavior and various errors when running workflows - for example, a block that never finishes execution, or an unhandled error on a block startup.
- Design space exploration block (beta):
- 2714 Fixed an issue with the Adaptive design for GP technique where the block stopped with an irrelevant error, if it received a NaN or ±Inf response value.
- 2709 Fixed a rare issue where the block could unexpectedly pause at some intermediate solving iteration, causing the workflow run to wait indefinitely.
- Python script block:
- 2004 Fixed an issue where the
HOME
environment variable was unset in the script, which caused an error when using certain modules - for example,skimage
.
- 2004 Fixed an issue where the
- 2762 Fixed an issue where pSeven Enterprise could redirect you to the sign-in page when you open a block or go to AppsHub.
- 2307 Fixed an issue where you received a
500 Internal Server Error
message when opening a workflow app UI preview using a direct link to theindex.html
file in the workflow UI folder, if that workflow does not exist or belongs to another user. - 2586 Fixed misleading error messages appearing in the workflow run log when a block was shut down due to exceeding its memory usage limit.
v2023.05¶
Updates¶
-
2581 You can set up workflow run logging to keep the full log file, regardless of its size (default), or to keep only a certain amount of recent logs, truncating the log file from the beginning once its size exceeds the limit you set. Log truncation might be useful in workflows that write extensive logs or run for an extended time, resulting in a large log. This is a per-workflow, per-run setting: you can enable or disable it independently for each workflow in the Run setup pane, prior to starting the run.
The log truncation setting in the Run setup pane
Deployment and administration¶
- 2581 pSeven Enterprise v2023.05 increases the PostgreSQL database load, comparing to the previous versions. The increase is due to the update in the logging subsystem, which addresses several issues with workflow run logs. See the pSeven Enterprise upgrade notice below for details.
- 2462 Fixed a denial of service issue where the
appworker*
services, which handle user interaction, did not close their connections to theredis
service properly, so after a certain time period (typically months) the Redis database connection pool was exhausted and it refused all new connections, leading to malfunction of theappworker*
services. This caused the "ERR max number of clients reached" errors to users and finally could render pSeven Enterprise unusable due to inability to edit or run workflows.
Bugfixes¶
- 2581 Fixed a number of issues with the Run log pane where the log did not load properly, the "loading..." messages were displayed indefinitely, and common operations with the log (like scrolling or filtering) caused incorrect behavior. Run logs are now pre-processed on access, which improves the Run log pane stability and responsibility while viewing logs but introduces a pre-processing delay, noticeable in certain cases - for example, when you open a workflow run for the first time, or return to a workflow run that you have not opened lately.
- 2462 Fixed an issue where the "ERR max number of clients reached" errors appeared when editing or running workflows.
- 2721 Fixed an issue with the Composite block where it entered an extended wait, adding a noticeable delay in workflow execution, if one of its nested blocks had failed to stop properly or did not shut down within timeout.
- 2721 Fixed an issue where the run log message informing that a block in the workflow did not shut down properly was incorrectly issued as an error (now warning).
- 2721 Fixed an issue where a misleading error message "None has no attribute 'set_result'" appeared in the run log, if you stop the run manually.
- 2730 Fixed a rare issue with folder sharing where the file list in Explorer displayed empty after you have shared a folder and then revoked access to it.
- 2730 Fixed an error when opening a folder with a name containing certain
characters - for example, backticks (
`
). - 2721 Fixed an issue with the Python script block that sometimes caused a delay when finishing a workflow run - that is, all blocks in the workflow you run have finished working, but you had to wait a few minutes until the run finally stops.
pSeven Enterprise upgrade notice¶
In pSeven Enterprise v2023.05, the logging subsystem is updated with a new log pre-processing mechanism, addressing various issues experienced by users when viewing workflow run logs. With this update, each run log opened by a user is pre-processed and loaded to the PostgreSQL database for faster access. The pre-processed log is kept in the database and gets removed if the user does not access that run log for a certain time.
Consequently, v2023.05 increases the PostgreSQL database load and resource consumption, primarily the storage space usage due to temporarily keeping the pre-processed logs. Before you upgrade to v2023.05, it is advisable to review your database server configuration and increase the amount of resources available to the database, mainly the disk space. After you upgrade, monitor the resource usage on the database server to verify that it handle the increased load.
v2023.04¶
Updates¶
- 2592 While block (beta):
- You can configure the block so it checks the input values against the condition and does not start the loop if the condition is not met. That mode is now default for all new While blocks created in pSeven Enterprise v2023.04 and above. Blocks in existing workflows created in previous versions keep their old behavior, which you can change using the Unconditionally run the first iteration toggle in the block configuration dialog. See the updated While block help for more details.
- You can also use an input port value as a parameter in the condition - for example, configure the block to check a certain loop response value received at every iteration against a threshold value received to an input port once on start.
- Updated the block help to more accurately and clearly describe its operation and setup, including its two operation modes and the new mode switch.
- 2526 For viewing convenience, logs in the Run log pane now use a monospaced font.
- 2663 Upgraded the embedded pSeven Core package to version 6.44. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
-
2570 pSeven Enterprise deployment and version upgrade no longer require you to manually copy secrets (the
keycloak.clientSecret
,jobcluster.*
, andextensionNode.*
parameters) to the deployment configuration filevalues.yaml
. The secrets are now saved to Kubernetes and loaded during the upgrade.This update changes the set of secrets used by pSeven Enterprise. When upgrading an existing deployment, you will have to generate new secrets and apply them once during installation to save the secrets. Future updates will load those saved secrets automatically. See the pSeven Enterprise upgrade notice below for instructions.
-
2274 To avoid wasting storage space, pSeven Enterprise now cleans up user temporary files during a version upgrade.
- 2686 Fixed an issue where a failed workflow run entered the Stopping state but never actually stopped, and you could not manually stop it in the admin interface.
- 2665 Fixed an issue with the Python script block where its implementation contained files that are not required by the block but consume a certain amount of storage space for every instance of the block added to any workflow by users.
- 2672 Fixed an issue with the SMTP server settings in the deployment
configuration file
values.yaml
, where pSeven Enterprise did not stop the deployment if both the SSL and TLS mail protocols are enabled (those are mutually exclusive) - so you could complete the deployment with such settings, after which pSeven Enterprise did not send email notifications to users. - 2655 Fixed an issue where pSeven Enterprise deployment stopped with an error if there is a corrupt workflow run in some user folder.
- 2302 Fixed an issue where the user-specified CPU limit for a block had no effect if the "on-demand" block execution strategy (experimental feature) is enabled in your deployment.
- 2649 Updated the Kubernetes node disk space requirements in the pSeven Enterprise deployment guide.
- 2570 Updated the pSeven Enterprise deployment and version upgrade guides with regard to changes in secrets management.
Bugfixes¶
- 2628 Fixed several issues, which caused noticeable UI slowdowns when editing workflows - for example, when adding, renaming or moving blocks. If you still encounter such issues in pSeven Enterprise v2023.04, clear the workflow undo and redo history.
- 2691 Fixed a regression issue from v2023.02 where renaming a table column in the Edit value dialog caused all data in that column to be lost.
- 2694 Fixed a regression issue from v2023.02 where you could not get the workflow from an app you have published to AppsHub, if you have disabled that permission for other users when publishing.
- 547 Fixed an issue with batch mode ports in Composite blocks where you could not assign a List value to the port (a batch of values to process).
- 2668 Fixed an issue where various file operations in the Explorer pane were taking unexpectedly long time - for example, copying files or calculating the size of a folder.
- 2686 Fixed an issue where a failed run entered the Stopping state but never actually stopped.
- 2614 Fixed issues with the Edit value dialog where it was unresponsive when editing big lists or dictionaries.
- 2318 Fixed an issue where you could create files (folders, workflows)
with the same name in different case (for example,
result
andResult
), which led to confusion and possible workflow run errors - for example, in workflows that contain blocks configured to run on Windows extension nodes, where file and folder names are case-insensitive. - Design space exploration block (beta):
- 2663 Fixed an issue with results in optimization and other tasks with minimization or maximization responses where, if several Pareto-equal solutions were found, only one of those solutions was included into the optimal designs set.
- 2663 Fixed an Adaptive design technique issue with initial samples containing missing response values, where the block evaluated responses for the initial sample points that violate the variable bounds or have invalid variable levels.
pSeven Enterprise upgrade notice¶
The new secrets management engine introduced in pSeven Enterprise v2023.04 uses a new set of secrets, which you must create and apply during the upgrade. This is required only once, when upgrading from a pre-v2023.04 version to v2023.04 or above.
-
Before you upgrade, login to your Docker Registry and use the following commands to get the full version number and create the secrets file
pseven-secrets.yaml
for the new version:helm show chart pseven-{YYYY.MM.DD}.tgz | grep appVersion | cut -d" " -f2 docker run --rm {registry}/pseven-secretgen:{version} > pseven-secrets.yaml
For more information about these commands, see Secrets in the pSeven Enterprise deployment guide.
-
When setting parameters in the deployment configuration file
values.yaml
, do not copy the secrets related parameterskeycloak.clientSecret
,jobcluster.secret
,jobcluster.token
, andextensionNode.*
. Those parameters are no longer used and must be removed fromvalues.yaml
. -
When installing, ensure that the secrets file
pseven-secrets.yaml
is in the same directory asvalues.yaml
. To apply the new secrets, add the-f pseven-secrets.yaml
option to thehelm install
command, for example:helm install pseven-rl pseven-{YYYY.MM.DD}.tgz -f values.yaml -f pseven-secrets.yaml -n pseven-ns --timeout 60m --wait --debug | tee pseven-{YYYY.MM.DD}.log
For more information about using this command, see upgrade steps in the Upgrading pSeven Enterprise section.
After completing with the upgrade, keep a backup copy of the secrets file
pseven-secrets.yaml
you have created.
v2023.03¶
Updates¶
- Several usability improvements related to workflow references:
- 2483 You can create a workflow reference by dragging a workflow from Explorer and dropping it into the workflow you are editing.
- 2531 A reference block in a workflow is outlined red, if it references a workflow that no longer exists.
- 2531 Better handling of paths in the workflow reference dialog: you
can use paths relative to your home folder and omit the
.p7wf
extension when referencing a workflow by path.
- 1292 You can copy and paste list and dictionary data between the Edit value dialog and Excel or another spreadsheet editor that uses a similar clipboard format (tab-delimited tabular data).
- 2221 2142 2539 All blocks packaged with pSeven Enterprise now show a warning, if you close a block configuration dialog with unsaved changes.
- 2239 Cleaned up the error messages printed to the workflow run log when some block stops with an error: moved error details to the debug log, removed extra messages.
Deployment and administration¶
- 2436 Fixed a version upgrade issue where the deployment of a new pSeven
Enterprise version stopped with an error, if you have changed the
keycloak.clientSecret
parameter in the deployment configuration filevalues.yaml
during the upgrade. - 2540 Fixed an issue where a user who is not authorized to run blocks on some extension node could circumvent that restriction by configuring a Windows-only block to run on any available host.
- 2575 Updated information about minimum Kubernetes cluster and file storage resource requirements in the Prerequisites section of the pSeven Enterprise deployment guide (moved: see Requirements).
- 2527 Since pSeven Enterprise is commonly deployed in a dedicated Kubernetes namespace, corresponding instructions in the deployment and admin guides are updated to reflect that.
User block development¶
- 2472 Added clarifications to the user block guide about using the DEV tag to make the block run in development mode - in particular, this mode is required to disable the block code cache while testing and debugging a block on a Windows extension node. For details, see Tagging the block under development.
- 2472 In the block prototype example (
Example user block.p7protoblock
) packaged with pSeven Enterprise, development mode is now enabled by default (the DEV tag is set). -
2564 Fixed a regression issue from v2022.06 where the Edit value dialog did not display the names of custom data types properly.
The users of your block who have encountered this issue will have to refresh the block configuration saved with their workflows by opening the block window and saving its configuration once again. Note there is no need to make any changes in the current block configuration.
-
1617 Fixed an issue with blocks that run third-party engineering software (CAD/CAE packages) on Windows extension nodes, where the block could not launch the software package it uses, if that package needs to read the
APPDATA
orUSERPROFILE
Windows environment variable in order to start.
Bugfixes¶
- Design space exploration block (beta):
- 2613 Fixed an issue with categorical variables in Adaptive Design, which caused an error, if you do not specify the Study target setting.
- 2613 Fixed an issue with the Orthogonal Array technique, which caused an error, if all design variables are frozen (constant) except one continuous variable.
- Python script block:
- 2239 Fixed an issue where the block did not show the source of a runtime error, if that error occurs in an additional Python module, which you import in your script.
- 1262 Fixed an issue with editing default values of variables having
the Any type where string values were not recognized unless you
enclose them in double quotes. Also fixed a similar issue where
True
andFalse
were not recognized as Boolean values. - 1262 Fixed an issue an issue with editing default values of variables where the block did not accept a default value you input, if you had changed the type of a variable in its settings.
- 2405 Fixed an issue with the Edit value dialog where you could only assign scalar values inside tables, lists, and dictionaries - for example, it did not support editing nested lists.
- 2008 Fixed an issue where pSeven Enterprise Studio UI was becoming generally unresponsive, if you have a few workflows opened in background tabs, and those workflows contain many links or blocks with many ports.
- 2265 Fixed issues with the Block properties pane, which caused unexpected behavior when editing port values - for example, the port value you input could be reset back to the value that was previously assigned to that port.
- 2640 Fixed a UI issue with value input fields where, if you input an invalid value and then reset it, the input field got a persistent red highlight.
- 2546 Fixed an issue where the AppsHub main page was taking too much time to load and looked broken, if you opened AppsHub from a device that has no Internet access, because rendering that page required downloading fonts from Google.
- 1262 Fixed an AppsHub issue with the stock app UI where it could reset a string parameter value when you open the Edit value dialog for that parameter.
- 2489 Fixed an AppsHub issue where an app could take a long time to load when you open the app page, if pSeven Enterprise was updated after that app had been published.
- 2537 Fixed several issues with handling missing (N/A) values and displaying them in the UI.
- 2305 Fixed an issue with the Block properties and Run setup panes where you could not change the port value if a Boolean value is currently assigned to that port.
- 2580 Fixed a UI issue with dropdown menus in the Runs pane in AppsHub.
- 2331 2547 1602 2456 Fixed various minor UI issues.
v2023.02¶
Updates¶
-
1435 You can edit text and Markdown files in pSeven Enterprise - for example, if you want to make a quick edit in a Python script used by your workflow, you no longer have to download the script file to proceed with your edits. To open a file for editing, double-click it in Explorer, then click the Edit button in the file viewer.
Workflow description opened for editing
-
2447 Added a more convenient way to change a workflow reference - select the reference block and click the referenced workflow name in the Workflow reference properties pane on the right to open the workflow reference dialog.
Click the referenced workflow name to change it
-
1064 When you try to delete a workflow with ongoing runs or a folder containing such runs, you now get an additional warning before deletion to avoid accidentally interrupting and losing a run in progress.
-
Design space exploration block (beta):
-
2280 For the Surrogate-based optimization and Adaptive design techniques, the block now provides estimates of the total exploration budget and initial sample size. Note that the estimates require a complete problem definition - for example, they may be unavailable, if you map certain properties of variables or responses to input ports and do not set those properties in block configuration window.
Exploration budget estimates in the Design space exploration block
-
-
Python script block:
- 1838 Minor usability improvements in the script testing UI (the Log and Results tabs).
-
2172 Harmonized the AppsHub and Studio REST APIs (app and workflow APIs) to streamline the development process when you debug your REST client while preparing to publish the app - that is, you debug with the app's workflow, before publishing it. A client tested with a workflow in Studio should work with the app after publishing, with minimum edits in the client code. Generally you will only have to change the base API URL (
pseven/.rest/v2/
toappshub/.rest/v2/
).Related AppsHub REST API changes may break compatibility with existing clients
Certain changes that make the app and workflow APIs consistent may lead to compatibility issues with existing code using those APIs. Review the details below and update your code accordingly.
The response to an app details request (GET
appshub/.rest/v2/apps/{app ID}/
) now has the same structure as the response to a workflow details request (GETpseven/.rest/v2/workflows/{workflow ID}/
):- Contains
"parameters"
,"results"
,"runs"
, and"presets"
as top-level keys. In the app API, these were previously available only as sub-keys of the"workflow"
key, which is inconvenient when testing the same code with both the app and its source workflow.- The old
"workflow"
key with its sub-keys are kept in the app API for compatibility, though using them is not recommended. They are now deprecated and will be removed in the next API version.
- The old
- The following keys were removed from the app details JSON:
"created"
,"description"
,"image"
,"owner"
,"permissions"
,"view_count"
. Workflow details never contained these keys.
Additionally:
- Moved the
"started"
,"finished"
,"logfile_url"
, and"logs"
keys from the app run list to the app run details. Previously these keys were present only in the elements of the run list JSON (the response to GETappshub/.rest/v2/apps/{app ID}/runs/
). Now they exist only in the run details (GETappshub/.rest/v2/apps/{app ID}/runs/{run ID}
). - The
"owner"
key was removed from the app run list. App owner information is no longer available through the REST API. - GET requests to
/pseven/.rest/v2
and/appshub/.rest/v2
both return a JSON with the"workflows_url"
and"apps_url"
keys. If you develop a REST client to an app, you can use the URL from either key - while testing your client with a workflow, and also after you publish the workflow as an app. To enable this, a GET request to either of those URLs always provides the list of items you can currently run, be they apps or workflows. That is, despite the key naming, in the Studio API both URLs return the list of workflows; in the AppsHub API, both return the list of apps.
- Contains
-
2473 Upgraded the embedded pSeven Core package to version 6.42. For details on recent improvements and changes, see the pSeven Core changelog.
- 2475 To avoid page loading issues, pSeven Enterprise Help now uses your local system fonts instead of loading typefaces from Google Fonts, which required Internet access to connect to the Google font servers.
Deployment and administration¶
-
1950 Added one more branding option - you can set a custom page title for pSeven Enterprise by editing
title.txt
in the branding customizations folder (see Branding). Your custom title will be displayed to users in the title of the browser tab where they open pSeven Enterprise, and also on top of the AppsHub main page.A custom title in branding
-
2510 Fixed an issue where pSeven Enterprise incorrectly set owner of new folders and ZIP archives created by users, due to which users could exceed their storage quotas.
- 2443 Fixed an internal issue with Windows extension node configuration, which could cause errors in user workflows that run blocks on Windows nodes due to incorrect initialization of the block runtime environment on the node.
- 2443 Fixed mistakes (wrong and missing commands) in the Python installation verification instructions in section Node check of the extension node deployment guide.
- 2453 Minor updates and clarifications in the pSeven Enterprise deployment, administration, and version upgrade guides, as well as in the Technical support section.
User block development¶
- 2479 Fixed a regression issue from v2023.01 where the Block properties pane displayed a red highlight instead of a port value in certain cases: now such values are displayed as invalid and have a tooltip, which explains the reason.
- 2321 Added the vector data type to the pSeven Enterprise typesystem. A vector is a homogeneous flat array of numeric or string values.
Bugfixes¶
- 2486 Fixed an issue with workflow references where pSeven Enterprise did not restore the reference as expected, after you have deleted the referenced workflow and then restored it or created a new one with the same name and location as the deleted one.
- 2496 Fixed an issue with composite blocks that have a batch input port, which is also added to workflow results (both the and port settings enabled), where a workflow run with such a block stopped with an error once the block received a matrix value to its batch input port.
- 2172 Fixed inconsistencies of the AppsHub REST API, which caused issues when you need to develop a REST client that uses both the workflow and app REST APIs.
- 2382 Fixed an issue with the table editor in the Edit value dialog where sometimes you could not save a valid table - for example, after you have entered an invalid cell value and then fixed it.
- 2051 Fixed issues with behavior of the Run log pane when scrolling logs.
- 2511 Fixed a UI issue where button and menu command tooltips never disappeared if you work with pSeven Enterprise in Firefox, unless you refresh the pSeven Enterprise tab in the browser.
- 1955 Fixed a usability issue with the location bar in Explorer where, if you input a full path to a subfolder inside Runs, Files, or another special folder displayed in tree view, Explorer opened that folder but did not expand the tree to the subfolder you have specified in the path.
- 2475 Fixed an issue where pSeven Enterprise Help pages were taking a few minutes to load, if you opened Help from a device that has no Internet access.
- 2166 Fixed a minor UI issue with rendering block update notifications in the Block library pane, which were taking too much space if the block name in the pane is long enough.
- 2381 2382 2478 2396 Fixed various minor UI issues in the Edit value dialog, Block library pane, workflow editor.
v2023.01¶
Updates¶
-
2403 Updated the Runs pane in AppsHub:
- You can rename completed runs.
-
Runs in the list can be grouped by adding a common prefix to their names - the prefix is used as the run group name. The prefix should be separated from the run name with a dot (
.
).An app runs list with the new and old (archived) groups
-
Updated the run list sorting and filtering options.
-
2403 Clicking an app thumbnail on the main AppsHub page opens the app info page with a list of app runs.
The app info page
-
2108 Pack any of your files into a ZIP archive using the new Zip command from the menu in Explorer to free up some storage space or to spend less time downloading a single large file.
The Zip command in Explorer
-
2400 Redesigned the workflow reference dialog for more convenience (see Referencing workflows). You can select a workflow to be referenced from the list, which displays all workflows you have previously opened, and filter that list by typing a part of the workflow name. To select a workflow you have never opened yet, use the button or copy the workflow path into the dialog.
A list of workflows in the add reference dialog, filtered by
test
in the name -
2072 To reduce inconvenience caused by long port names while setting up links, the Links and Autolink dialogs are now resizeable.
- 2152 Updated and fixed the dictionary editor in the Edit value dialog.
-
Design space exploration block (beta):
- core-315 Reworked the handling of discrete variables in the Surrogate-based optimization and Adaptive design technique algorithms, improving result quality and algorithm stability in tasks with discrete variables.
-
Python script block:
- 2420 If you configure the block to run on a Windows extension node,
the
comtypes
module is now available in the block's script.
- 2420 If you configure the block to run on a Windows extension node,
the
-
2420 Upgraded the embedded pSeven Core package to version 6.41. For details on recent improvements and changes, see the pSeven Core changelog.
- 1874 Updated section Basic concepts in workflow guides to describe composite block information ports and parallelization settings (see Parallelization settings, Information ports).
Deployment and administration¶
- 2175 Fixed a deployment issue where specifying a non-default value to
the
entrypoint.allowedHosts
parameter in the deployment configuration filevalues.yaml
caused pSeven Enterprise malfunction after the deployment. - 1336 Fixed a licensing issue where a license expired one day earlier than it should - at the beginning of its expiration date.
- 1738 Fixed a vulnerability issue where a user could start uploading a large file that exceeds the user's storage quota, consuming most of the free disk space in the user data storage and causing various issues for all pSeven Enterprise users.
- 2393 Fixed an issue where user data could exceed the user's storage quota - for example, certain files in workflow run results were quota-free.
- 2263 Fixed an issue with run resource management where a block running on a Windows extension node could exceed its memory usage limit but was not stopped properly, potentially consuming all memory available on the node.
- Updated the pSeven Enterprise deployment guide:
- 2336 Added the requirement to use connection pooling on the PostgreSQL server - see Connection pooling.
- 2349 Added notes about preventing known issues caused by inappropriate configuration of a reverse proxy (load balancer, ingress controller) - see sections Reverse proxy and Reverse proxy configuration notes.
User block development¶
-
2394 Implemented the code cache for blocks intended to run on Windows extension nodes. When a user first opens the configuration dialog of a Windows-only block, pSeven Enterprise copies the protoblock folder to the Windows node that hosts the block, where the protoblock is added to a user-specific local cache. This resolves certain issues previously caused by copying the protoblock over the network every time a user opens the block configuration dialog or runs a workflow containing Windows-only blocks. The protoblock that is cached locally on the node is updated only when required - for example, when pSeven Enterprise detects a newer block version in the user workflow library.
Disable the code cache during development
While you develop a block that runs on a Windows extension node, code cache for that block should be disabled because it interferes with testing and debugging the block. Switch your block to development mode by adding the DEV tag in the block's manifest - see section Tagging the block under development for instructions.
-
2420 Blocks intended to run on Windows extension nodes may now use the
comtypes
Python module. - 2129 Enabled Python
print()
in the block code for debugging purposes.
Bugfixes¶
- 2431 Fixed an issue where you could not start a new workflow run after renaming or deleting a run in progress.
- 1738 Fixed an issue where you could upload a file larger than the available free storage space, which caused further errors. The file size is now checked before the upload.
- 2444 Fixed an issue where sometimes you could not set up a link in the Links dialog.
- 1746 Fixed an issue where you could not remove a workflow from favorites (the Starred list in Explorer) if that workflow is shared to you by another user.
- 2433 Fixed a UI issue where scroll did not appear in long menus that cannot fit into the browser window.
- 2426 Fixed an issue with the table editor in the Edit value dialog where pasting clipboard data to the dialog added an empty bottom row to the table.
- 1570 2298 2373 Fixed various minor UI issues in the block properties pane, matrix value editor, Condition block.
-
Design space exploration block (beta):
- core-327 p7-386 Fixed a regression issue with the Adaptive design and Adaptive design for GP techniques from v2022.11 where, if the blackbox block that evaluates responses did not support batch evaluations, the workflow stopped with an error once the Design space exploration block sent a request to the blackbox block - even if the Batch mode option is disabled.
- 2379 Fixed an issue with the Gradient-free optimization technique where the number of linear response evaluations was much higher than expected.
- core-283 Fixed an issue with linear responses of the Evaluation type where results could contain values of such responses calculated using an internal response model (not real evaluations).
- 2376 2387 Fixed issues with check boxes in the Ports and parameters dialog.
-
While block (beta):
- 2424 Fixed an issue where the Links dialog displayed only driver ports of the While block but not its input and output ports.
v2022.12¶
Updates¶
-
1231 Implement complex projects with interconnected workflows, where a main workflow can be composed of smaller child workflows created and maintained by different teams. The special Workflow reference block enables using any workflow as a block in one or more main workflows, without the need to copy and paste workflow parts or manually update them when the referenced workflow changes. For details, see section Referencing workflows.
Referencing workflows
-
2118 Get an overview of all your app runs in AppsHub using the new Runs pane added to the main AppsHub page.
- The Runs pane is placed on the left and is collapsed by default.
- Click a run in the pane to open it in a new tab.
- To delete a run you no longer need, hover it with your mouse cursor and click the button that appears.
- If you are an app owner, you will see all runs of your app in the Runs pane, including the runs started by other users.
The Runs overview pane in AppsHub
Runs pane functions
-
1935 Use drag-n-drop in the tab bar to place workflow and run tabs in any order convenient for you.
-
1614 The new While block (beta) enables the creation of processing loops in a workflow without any programming - for example, you can use it to implement a loop with condition (a while loop) or with a given number of iterations (a for loop).
The While block
-
1881 Improved startup times of blocks that run on a Windows extension node in the case when that node and pSeven Enterprise are located in different networks.
-
Design space exploration block (beta):
- 2378 Enabled the batch evaluation mode support for the Gradient-free optimization technique.
-
2320 In optimization and adaptive design, if you enable batch mode, the Exploration budget setting regards the Maximum batch size option value and limits the total number of batches output for evaluation - that is, the number of the blackbox block startups. Previously, Exploration budget in batch mode limited the total number of response evaluations requested from the blackbox block, disregarding their distribution in batches - which is usually inconvenient in tasks that use batch evaluations.
This change applies to the following techniques: Gradient-based optimization, Gradient-free optimization, Surrogate-based optimization, and Adaptive design.
-
2365 Upgraded the embedded pSeven Core package to version 6.40. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
-
2366 Fixed a regression issue from v2022.10 where pSeven Enterprise was unresponsive for a certain time following the deployment, caused by excessive NFS storage checks.
As a part of this fix, the NFS protocol version to use (NFSv3 or NFSv4) is now specified in the deployment configuration file
values.yaml
. For details, see the pSeven Enterprise upgrade notice below. -
2324 Fixed an issue where the extension node deployment stopped with an error if a certain user password length is required by Windows security policy on that node.
- 1881 Blocks running on Windows extension nodes may now create Python
cache files (
.pyc
) on the node, which in some cases makes the block startup noticeably faster. The cache files are created in the%USERPROFILE%\.pseven\pycache
directory of the user who runs the block.
User block development¶
- 2357 You can get a unique identifier of the current workflow run
containing your block by reading the
DA__P7__BLOCK__WORKFLOW_RUN_ID
environment variable. This identifier may be useful, for example, if you need to track data generated by your block in different workflow runs. -
1881 Blocks are now allowed to cache the Python bytecode (create
.pyc
files upon startup) when running on Windows extension nodes, unless bytecode caching is disabled in the block startup script for Windowsstart.bat
- for example, the-B
option is given to the Python interpreter. It is advisable to enable bytecode caching, as this behavior is default for Python, and it also improves the block startup time on an extension node when that node and the pSeven Enterprise deployment are located in different networks.Existing user blocks require an upgrade to enable bytecode caching
The block prototype example (
Example user block.p7protoblock
) packaged with previous versions of pSeven Enterprise disables the bytecode caching by default - in the Windows startup scriptstart.bat
, the-B
option is included in the run command:%DA__P7__RUNENV__PYTHON3__EXECUTABLE% -B -m userblock %*
To enable bytecode caching in your blocks when running under Windows, remove the
-B
option from thestart.bat
startup script - for example::: %DA__P7__RUNENV__PYTHON3__EXECUTABLE% -B -m userblock %* %DA__P7__RUNENV__PYTHON3__EXECUTABLE% -m userblock %*
After that, publish the block update following the instructions in section Publishing block updates and guide the users of your block to upgrade it in their workflows as described in section Upgrading the block in the workflow of the user blocks guide.
Bugfixes¶
- 2389 Fixed a regression issue with REST API from v2022.10 where a result port description was an array instead of a string.
- 847 Fixed an issue with the file open dialog where you could not select a file located inside a shared folder, because it was impossible to open a shared folder in the dialog.
- 2273 Fixed an issue with the file list filter in the Explorer pane
where typing a partial name into the filter had no effect unless you add
the
*
wildcards. - 2273 Fixed an issue with the Explorer pane where the file list filter was not reset when you navigate to a different folder, causing confusion.
- 2317 Fixed an issue with user search in the file sharing dialog where usernames were case-sensitive.
- 2208 Fixed an AppsHub issue with the stock app UI where it used an old version of the Edit value dialog, which had different design and functionality compared to the current version used in pSeven Enterprise Studio.
- 2208 2326 Fixed an AppsHub issue where you could not open an app with the stock app UI that has parameters mapped to certain special ports - for example, the ports that set Exploration budget and Study target values in the Design space exploration block.
- Design space exploration block (beta):
- 2355 Fixed an issue with editing the Initial sample port value where the Edit value dialog opened in the JSON editing mode instead of a table editor.
- 2210 Fixed an issue where the block did not write the intermediate result information to the run log while solving a task with categorical variables.
- 2253 Fixed an issue where you could not set up a vector constraint
that has only one bound, unless you explicitly specify that the other
bound is infinite (add a
+Inf
or-Inf
value). - 2212 Fixed various minor issues in the block UI.
pSeven Enterprise upgrade notice¶
pSeven Enterprise v2022.12 requires you to specify the NFS protocol version to
use when connecting to the file storage NFS servers in the deployment
configuration file values.yaml
. The default is set to NFSv3, which is the
correct setting if your NFS servers are configured as described in section
Disabling NFSv4 (removed: disabling NFSv4 is no longer required since v2024.06).
If you are using NFSv4, or you are going to switch from NFSv3 to NFSv4 during
the upgrade to pSeven Enterprise v2022.12, you must specify NFSv4 when
preparing a deployment configuration file for the upgrade.
Previously, pSeven Enterprise determined the NFS protocol version automatically, which caused various responsiveness issues as it required testing the NFS connection when communicating with the file storage servers.
If you want to start using NFSv4, enable the NFSv4 protocol on your file
storage servers before deploying the v2022.12 upgrade, and run deployment
with the --set fixStorages=true
option. For instructions, see
Enabling NFSv4 in the
pSeven Enterprise upgrade notice
for v2022.10.
-
Identify the NFS protocol version enabled on each of the file storage NFS servers. You can use the following test:
- Create a test directory on the server and try mounting it using NFSv4.
-
If a command like the following runs without errors, the server has NFSv4 enabled:
$ sudo mount -t nfs -o vers=4 localhost:<test directory path> <mountpoint>
-
If the above command outputs a "Protocol not supported" error, NFSv4 is disabled.
-
Prepare the updated deployment configuration file
values.yaml
as described in Upgrading pSeven Enterprise. -
In the prepared deployment configuration file, set the following parameters specifying the NFS protocol version enabled on a corresponding file storage server:
storage.userdata.nfs.version
storage.appdata.nfs.version
storage.shareddata.nfs.version
-
If you have changed the file storage server configuration while preparing for the upgrade (enabled or disabled NFSv4), run the deployment with the storage check enabled, as noted in the upgrade guide: add the
--set fixStorages=true
option to thehelm install
command - see the example in section Upgrading pSeven Enterprise. Note that the storage check may take some time depending on the amount of storage data.
v2022.11¶
Updates¶
-
Design space exploration block (beta):
-
2284 New optimization technique - Gradient-free optimization, which can provide better quality solutions in tasks with many discrete variables. The technique uses the Nevergrad solver by Meta AI Research.
The Gradient-free optimization technique is not enabled in SmartSelection yet, so you have to select it manually to try it.
-
2188 If you close a block configuration dialog with unsaved changes, you get a related warning.
-
-
1430 Updated the Python runtime environment version to 3.9 and updated versions of pre-installed Python packages. This version of Python is used in Python script blocks, user blocks, and on Windows extension nodes.
- 760 Updated the top navigation bar in pSeven Enterprise Studio:
- You can go from Studio to AppsHub using the dropdown menu at the left side of the bar.
- Added a separate Help menu with links to the Getting started page and changelogs.
- 2153 Updated and fixed the list editor in the Edit value dialog.
- 2323 Upgraded the embedded pSeven Core package to version 6.39. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
- 760 If you are logged into pSeven Enterprise Studio, you can use the new dropdown menu in the top navigation bar at its left to go to the admin interface.
- 2294 Updated the pSeven Enterprise deployment guide with details on using a reverse proxy to secure the deployment - see sections Reverse proxy, Reverse proxy configuration notes, and updated deployment diagrams.
User block development¶
-
2352 Fixed a regression issue from v2022.10 where a user block that does not handle the shutdown request from pSeven Enterprise caused incorrect workflow run behavior (the run never finished). Now, if a block did not stop within 1 minute after receiving the shutdown request, it is unconditionally forced to stop.
Note that pSeven Enterprise will not allow any block to process the shutdown request longer than 1 minute. When implementing the shutdown request handler, you will have to make sure it can finish its job before that timeout expires.
-
2266 Fixed an issue where pSeven Enterprise did not set the idle timeout value specified in the block manifest, when you add the block to the workflow.
Bugfixes¶
- 2328 Fixed a regression issue from v2022.10 where you could not set workflow parameter values after you have created a run in the "Configuration" state.
- 2293 Fixed an issue where you were not redirected to the sign-in page after you have logged out.
- 2220 Fixed an issue with incorrect workflow run behavior after you rename the folder that contains your workflow or the run directory. Now you get a warning dialog when you try to rename a folder that contains a workflow run in progress.
- 2345 Fixed an issue where adding a
.p7history
file to a report caused an error. - Fixed issues with the Runs sidebar in AppsHub:
- 2235 If you delete an ongoing app run, it was stopped but not deleted, so you had to click again.
- 2340 The sidebar did not show all existing app runs (created by any app user) to the app owner.
- 2288 Fixed an issue with editing Enumeration type values where the Edit value dialog required you to input the value manually instead of selecting it from a predefined list as intended.
- 2312 2153 Fixed various minor UI issues in the Run setup pane and the Edit value dialog.
v2022.10¶
Updates¶
-
2215 Design space exploration block (beta):
- Added optional per-variable and per-response result ports, which you can use to get the result values for specific input and output components of your task.
- Added optional per-component initial sample ports.
- Enable those ports in the Ports and parameters dialog in the block configuration.
Optional per-component ports in the Ports and parameters dialog
-
Python script block:
-
1689 You can now rename request (argument) and response (function) ports - for example, to display human-readable names in the Block properties pane and the Links dialog, instead of Python variable identifiers.
Port name settings in Python script
-
1931 Added the code autoformatting toggle in the Configuration pane, which you can use to disable the default formatting if you find that more convenient.
Code autoformatting toggle in Python script
-
2244 Added the support for missing (N/A) values: it is now possible to pass arrays with missing values through ports, and pass N/A or
None
as a value of a float (Real), int (Integer), or str (String) variable.
-
-
2050 You can copy and paste table and matrix data between the Edit value dialog and Excel or another spreadsheet editor that uses a similar clipboard format (tab-delimited tabular data).
- 2244 Added the support for tables and matrices with missing (N/A) values.
- 2244 Added the support for string matrices.
- 2267 Various small improvements in the table and matrix editors in the Edit value dialog.
- 1491 Minor UI improvements in the Condition block.
- 1199 pSeven Enterprise is now case insensitive when checking names for
uniqueness (workflows, reports, blocks, ports, and so on) - for example, you
cannot add two inputs named
Force
andforce
to the same block, because those names are considered identical. This helps in avoiding various usability issues related to case-sensitive name validation. - 2278 Upgraded the embedded pSeven Core package to version 6.38. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
-
1112 Added experimental support for NFSv4 file storages. Disabling NFSv4 on the file storage NFS server is now optional.
If you are going to enable NFSv4 on the file storage NFS server during an upgrade of an existing deployment (which currently uses NFSv3), you will have to deploy with the storage check enabled (the
--set fixStorages=true
option). See Enabling NFSv4 in the pSeven Enterprise upgrade notice below for details. -
2098 Updated pSeven Enterprise for compatibility with Kubernetes versions 1.15.5 through 1.25.2, removing the "batch/v1beta1 CronJob is deprecated" warning that appeared during deployment on Kubernetes 1.21 and newer versions.
-
2249 To reduce some of the security risks related to allowing users to connect to a pSeven Enterprise deployment directly, all
X-Forwarded-*
headers in HTTP requests are now ignored by default.If your deployment is protected by a trusted reverse proxy, it is advisable to enable parsing the
X-Forwarded-*
headers in the deployment configuration filevalues.yaml
. For details, see Deployment configuration in the pSeven Enterprise upgrade notice below. -
1815 Improved stability by resolving several memory cache issues that could lead to restarts and unavailability of various pSeven Enterprise services.
-
2202 The SSH key for extension nodes is now stored in the deployment configuration file
values.yaml
(the newextensionNode.blockSSHGateClientKey
parameter) and is saved on each extension node during its deployment, which slightly improves startup times of workflow blocks running on extension nodes.When preparing the
values.yaml
file for pSeven Enterprise v2022.10, you will have to generate the extension node SSH key and add it tovalues.yaml
. For instructions, see Deployment configuration in the pSeven Enterprise upgrade notice below. -
2248 In addition to the custom logos and Getting started page, you can set a custom favicon for pSeven Enterprise - see section Branding for details.
There are a few changes in the branding file structure in pSeven Enterprise v2022.10. For differences, see Branding in the pSeven Enterprise upgrade notice below.
-
1782 In user workflow and app runs that complete without errors, pSeven Enterprise performs a log files cleanup, so successful runs take slightly less disk space than in previous versions.
-
2295 Fixed a compatibility issue with LDAP over SSL (LDAPS), which caused the
sun.security.provider.certpath.SunCertPathBuilderException
error during setup of user account federation with a user identity storage provider using LDAPS.Using LDAPS requires importing the public key of the LDAP server into pSeven Enterprise. The key must be prepared before starting the version upgrade to v2022.10. For instructions, see Using LDAPS in the pSeven Enterprise upgrade notice below.
-
2272 Fixed a compatibility issue with the PgBouncer database connection pooler, which led to malfunction if your PostgreSQL database provider uses PgBouncer.
- 2264 Fixed an issue where a user who runs a workflow that contains a block with a high CPU limit could leave pSeven Enterprise unusable for other users because their workflows could not start until that workflow containing a CPU-intensive block is stopped or a 10 minute timeout is exceeded.
- 2248 Fixed a regression issue with pSeven Enterprise branding from v2022.07, where your custom logo did not apply to the pSeven Enterprise sign-in page.
- 1112 2098 2248 2269 Various updates and fixes in the pSeven Enterprise deployment and administration guides.
User block development¶
- 1964 Fixed an issue with user blocks and the REST API where you could not start a workflow run using the REST API commands if that workflow contains a user block with an empty description of some input port, and that port is a workflow parameter.
Bugfixes¶
- 2215 Fixed an issue with the Design space exploration block (beta) where it did not stop as intended when receiving an invalid response from a blackbox block - for example, a matrix with incorrect number of columns.
- 2267 Fixed an issue with the table and matrix editors in the Edit value dialog where the button was usable only to delete the bottom row.
- 1059 Fixed an AppsHub issue where you could not get the workflow from an app due to incorrect workflow name validation.
- 2255 Fixed a usability issue with the Explorer pane when viewing the Runs or Files special folders that contain files or subfolders with long names.
- 1652 Fixed an issue where you could not use slashes (
/
or\
) in the name of a composite block. - 2303 Fixed a usability issue where you could not delete a link from a workflow using the Remove command from the menu in the workflow edit toolbar.
- 865 Fixed a minor UI issue with the Explorer pane navigation bar, which displayed pSeven Enterprise reports as common folders.
pSeven Enterprise upgrade notice¶
pSeven Enterprise v2022.10 features a number of updates that may require additional preparation steps for the v2022.10 upgrade, depending on your current configuration. The summary of those steps is as follows:
- In
values.yaml
, set the newentrypoint.usingTrustedReverseProxy
parameter. - Generate a new SSH key for Windows extension nodes and add it to
values.yaml
as the newextensionNode.blockSSHGateClientKey
parameter. - If you are going to connect pSeven Enterprise with a LDAP server using LDAPS, place the server public key certificate into the pSeven Enterprise shared data storage so it is imported during the upgrade.
- If your deployment is branded, update the branding file structure in the shared data storage.
- If you are going to use NFSv4 (experimental), run deployment with the
--set fixStorages=true
option.
Each of the additional steps is described in detail in paragraphs below. Note that they are mostly done while you prepare for the upgrade, prior to running the installation. The descriptions below supplement the general updating instructions found in section Version upgrade.
Deployment configuration
When preparing the deployment configuration file values.yaml
for pSeven
Enterprise v2022.10, note the new entrypoint.usingTrustedReverseProxy
and
extensionNode.blockSSHGateClientKey
parameters:
- Prepare the updated deployment configuration file
values.yaml
as described in Upgrading pSeven Enterprise. -
If your deployment is protected by a trusted reverse proxy that sets the
X-Forwarded-*
headers for user HTTP requests, and users cannot establish HTTP connections directly to pSeven Enterprise, set theentrypoint.usingTrustedReverseProxy
parameter in the preparedvalues.yaml
file totrue
.With that setting, pSeven Enterprise will consider the
X-Forwarded-*
HTTP headers to be trustworthy, and will use the header information for identification of clients (users). Parsing the theX-Forwarded-*
headers is disabled by default as a safe setting, and should be enabled only if your pSeven Enterprise deployment is accessible to users through a trusted reverse proxy, and not also accessible directly. -
The prepared
values.yaml
file also contains a newextensionNode.blockSSHGateClientKey
parameter. This key is required to establish connections with Windows extension nodes and must be specified invalues.yaml
.-
Get the full version number and generate a new file with pSeven Enterprise v2022.10 secrets using the following commands:
helm show chart pseven-{YYYY.MM.DD}.tgz | grep appVersion | cut -d" " -f2 docker run --rm -it {registry}/pseven-secretgen:{version} > pseven-secrets-2022-10-extnodessh.txt
-
From the generated
pseven-secrets-2022-10-extnodessh.txt
, copy only theextensionNode.blockSSHGateClientKey
parameter to thevalues.yaml
file you prepare for the upgrade deployment. Do not change other secrets invalues.yaml
(thejobcluster.*
andextensionNode.*
parameters, exceptextensionNode.blockSSHGateClientKey
) - those must be copied from the existing configuration, as described in Upgrading pSeven Enterprise. - Also copy the
extensionNode.blockSSHGateClientKey
parameter to your backup copy of pSeven Enterprise secrets. - Remove the generated
pseven-secrets-2022-10-extnodessh.txt
file.
-
Using LDAPS
pSeven Enterprise v2022.10 supports connecting to user identity storage providers using LDAP over SSL (LDAPS), which requires importing the public key of the LDAP server. The easiest way to import that key is to place the public key certificate of the LDAP server into the pSeven Enterprise shared data storage before you run the deployment:
- Obtain the public key certificate from the LDAP server. The certificate must be exported to a DER or Base-64 encoded X.509 file. Request the certificate file from your LDAP server administrator.
- Locate the pSeven Enterprise shared data storage (see the
storage.shareddata.nfs.*
parameters invalues.yaml
). Create a directory namedcerts
in the shared data storage directory specified by thestorage.shareddata.nfs.path
parameter. - Rename the certificate file to
ldaps.cert
and copy it to thecerts
directory. The expected path to theldaps.cert
file is<shared data>/certs/ldaps.cert
, where<shared data>
is the path specified by thestorage.shareddata.nfs.path
parameter invalues.yaml
.
When you run the deployment, pSeven Enterprise will import the key from
<shared data>/certs/ldaps.cert
. Now when you set up the user identity
storage provider (see section
Provider setup in the
administration guide), you can specify the ldaps://
prefix in the
Connection URL field to use LDAPS.
Branding
There are a few changes in the branding file structure in pSeven Enterprise v2022.10. The Branding section describes the current structure; compared to previous versions, the differences are:
- The
logo-100x266.png
file, as well as the<shared data>/branding/auth/
folder, are no longer used. - All logo customizations should now be placed into the
<shared data>/branding/pseven/
folder. - The logo for the sign-in screen is now named
block-logo-200x530.png
. For best results, this logo image should be 200×530 pixels. - There is an additional logo used in navigation bars, named
header-logo-64x64.png
. This logo image should be 64×64 pixels. - If you want to use a custom favicon, place your
favicon.ico
file into the<shared data>/branding/pseven/
folder alongside the custom logos.
Enabling NFSv4
pSeven Enterprise versions prior to v2022.10 are compatible only with NFSv3 file storage servers. The experimental NFSv4 support is added only in v2022.10, so all existing deployments of prior versions are configured to use NFSv3 only, and NFSv4 is disabled on the NFS server.
If you want to start using NFSv4, enable the NFSv4 protocol on your file
storage server before deploying the v2022.10 upgrade, and run deployment with
the --set fixStorages=true
option:
-
Before you run the deployment, revert the changes described in section Disabling NFSv4 of the pSeven Enterprise deployment guide (section removed: disabling NFSv4 is no longer required since v2024.06). Use the following test to verify that NFSv4 is enabled:
- Create a test directory and try mounting it using NFSv4.
-
Verify that a command like the following runs without errors:
$ sudo mount -t nfs -o vers=4 localhost:<test directory path> <mountpoint>
-
Additionally you can run the
mount | grep <test directory name>
command to check that the test directory is mounted using NFSv4: look for themountvers
option in the command output, it should readmountvers=4
.
-
When running the v2022.10 deployment, enable the storage check by adding the
--set fixStorages=true
option to thehelm install
command, as noted in the upgrade guide - see the command example in section Upgrading pSeven Enterprise. Note that the storage check may take some time depending on the amount of storage data. -
Once the deployment finalization message appears, verify that the storage check has run. The message should contain the following note:
Fixing storages enabled: deployment was run with the "--set fixStorages=true" option, fixing user permissions in data storages.
v2022.09¶
Updates¶
-
1503 pSeven Enterprise can email you when your workflow run completes or interrupts. Enable mail notifications in the pSeven Enterprise user menu.
Notifications toggle in the user menu
-
1636 The Share dialog supports username autocompletion so you no longer have to input full names or email addresses of users with whom you want to share your files.
Autocompletion suggestions in the Share dialog
Autocompletion settings are managed by your administrators, who may decide to disable username suggestions for security reasons.
-
1559 2121 You can specify the following block run settings in the Block properties pane:
Block run settings in the Block properties pane
- Memory limit (MB) - the amount of memory reserved for a block. By specifying a higher memory limit than default, you can request more memory for a block that has high memory consumption.
- Idle timeout (sec.) - the timeout (in seconds) after which a ready
block, which captures runtime resources and waits for input data, is
stopped by pSeven Enterprise to free up the resources. In particular,
you can set the timeout to
NEVER
to keep a block running until the workflow run stops - this is useful in workflows that run as a service, where certain blocks have to run continuously in order to improve the service response times.
Block run settings are always editable, though they have effect only if the workflow runs on a pSeven Enterprise deployment where administrators have enabled the resource management features. This may be useful if you edit and configure your workflow on a test deployment with resource management disabled and then move the ready workflow to another, working deployment where resource management is enabled.
-
1559 The Workflow contents pane on a workflow tab provides an overview of memory limits you have set for workflow blocks.
Block memory limits overview in the Workflow contents pane
-
2138 Updated and fixed the matrix editor in the Edit value dialog: that editor now provides all matrix editing functions that were available in previous versions (fill, transpose, and so on).
- 882 When you create a run of a read-only shared workflow and select a folder where to create the run directory, the default location is the folder you currently have open in Explorer. In previous versions the default location was the root of your home folder, which is often inconvenient.
- 2187 Upgraded the embedded pSeven Core package to version 6.37. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
-
2086 Since v2022.09, pSeven Enterprise supports integration with Active Directory and LDAP services - see section Users from Active Directory or LDAP server in the administration guide for instructions.
If you want to enable Active Directory or LDAP integration during an upgrade of an existing deployment, where users already have accounts created by means of the pSeven Enterprise admin interface, you will have to perform account matching as a part of that setup in order to prevent users from losing access to their data. For instructions, see the pSeven Enterprise upgrade notice below.
-
2173 You can set up single sign-on (SSO) for pSeven Enterprise users, integrating with an external OpenID provider, such as a Keycloak-based identity provider. See section Setting up single sign-on (SSO) in the administration guide for instructions.
-
1636 You can enable username and email autocompletion in pSeven Enterprise UI - for example, in the Share dialog, so the user who shares a folder to others will not have to input their full usernames or email addresses. Autocompletion is disabled by default; to enable, set the
exposeUsersInfo
parameter in the deployment configuration filevalues.yaml
totrue
when upgrading your deployment to pSeven Enterprise v2022.09.Enabling autocompletion is a security risk
A malicious user can exploit autocompletion to gather information about names and email addresses of other users. It is strongly recommended to disable this feature in public deployments, and enable it only if you are deploying pSeven Enterprise in a private environment that allows user contact sharing.
-
2213 Fixed an issue with blocks configured to run on a Windows extension node - such a block was unable to launch a software package installed on the node, if that package requires certain environment variables (a typical requirement of various engineering software). Note that in order to avoid this issue, an additional node configuration step is needed - you must add all required variables to the node's block runtime environment as described in section Engineering software on extension nodes of the administration guide.
- 1829 To avoid stability issues when many users actively edit blocks
(open block configuration windows) and run workflows, the block edit
sessions are now handled by the new
appworkerblockjobs
service while workflow run tasks are handled by theappworkerworkflowjobs
service. Previously tasks of both kinds were handled byappworkerworkflowjobs
, which caused issues for users - in particular, when a user cannot start any workflow run because other users have many block configuration windows open, thus overloading theappworkerworkflowjobs
service so it cannot start new workflow run tasks. - 1514 Improved run resource management for Windows extension nodes to avoid issues caused by a high number of blocks running at the same time on a given Windows node.
- 2222 Fixed a regression issue from v2022.07, which caused
incompatibility with certain PostgreSQL providers that use PgBouncer as the
database connection pooler: pSeven Enterprise deployment stopped with an
error when initializing the Keycloak database (executing the
initkeycloakdb
Helm hook). - 2247 Fixed an issue where a
<
or>
character in the database password (thepostgres.password
parameter value invalues.yaml
) caused a deployment error. - 2260 Fixed an issue with run resource management where, if there are insufficient free resources to start a workflow run, that run started and immediately failed with an "Insufficient resources to run the workflow" error, instead of being put into the run queue as intended.
- Updated the pSeven Enterprise administration guide:
- 2093 Added instructions for using event logging to audit activities of pSeven Enterprise users and administrators - see section Auditing user and admin activity.
- 2181 Added instructions on how to enable users to change their username - see section Changing the username.
- 1829 Updated the service interaction diagram in the pSeven Enterprise
deployment guide: added the new
appworkerblockjobs
service and changed the layout to make the relationships between diagram elements more clear.
Bugfixes¶
- 2140 Fixed a regression issue from v2022.08 where workflow runs failed with "The following IDs are unknown" or "Locked document must be a directory" errors.
- 2116 2250 Fixed an issue where a prolonged workflow run created too many temporary files and auxiliary logs, due to which it occupied much disk space and caused performance and responsiveness issues when you navigate that run's results in Explorer or view run logs.
- 2237 Fixed a regression issue from v2022.06 where a composite block with
batch mode ports did not actually enable batch processing for arrays and
lists sent to those ports, if the @Number of parallel workers setting is
1
. - 2201 Fixed a regression issue from v2022.08 where uploading a file using drag and drop caused incorrect behavior of the Explorer pane.
- 2252 Fixed a regression issue from v2022.08 where the AppsHub Runs sidebar was displayed when you open any HTML file from the Explorer pane.
- 1829 Fixed an issue with the pSeven Enterprise load balancing system that caused confusing behavior: if other users have many block configuration windows open at the same time, you could not start any workflow run with no apparent reason. As a part of that fix, pSeven Enterprise now limits the number of block configuration windows you can open at once, and keeping them open does not affect workflow runs.
- 2236 Fixed a regression issue from v2022.08 where pSeven Enterprise could not open a workflow run in a tab and displayed a "variable referenced before assignment" error.
- 2254 Fixed a REST API regression issue from v2022.06: with some
workflows, a correct PATCH request to set workflow run parameters returned
a response with status code
500 Internal Server Error
. - 2217 Fixed a number of issues with the Design space exploration block
(beta):
- Inconvenient data types used by request ports, which send values of variables to blackbox blocks for response evaluation.
- Incorrect behavior when you configure a space-filling DoE technique and disable batch mode in run options: when sending generated DoE points to blackbox blocks evaluating responses, the Design space exploration block output all points as a single batch instead of the expected sequential output mode.
- Incorrect behavior of the problem definition ports (for example, variable bounds ports): if you assign a value to such a port and connect a link to it, the block always used the assigned value while it should wait for and use a value received from the link.
- An error when saving a block with a valid initial sample, which contains NaN or missing (N/A) response values.
- Minor UI issue when you set the Maximum batch size option and the Gradient-based optimization technique is selected - that option does not have any effect in this case as the technique does not provide the support for real concurrency in response evaluations, but the block UI did not make it clear.
- 2237 Fixed an issue where a workflow run continued indefinitely if the workflow contains a composite block with a batch mode port, and a value is assigned to that port.
- 2178 Fixed an issue with the Python script block that sometimes caused a "block init was called more than once" error when starting a workflow run.
- 1812 Fixed UI responsiveness issues in the Block properties and Composite properties panes.
- 2197 Fixed a convenience issue with editing input values in block properties and Run setup panes, where a data editor window always popped up even if the value is a plain scalar number or a string.
- 2041 Fixed an incomprehensible text in the error message that appears when you undo changes in a workflow but pSeven Enterprise cannot apply the undo immediately.
- 2158 1942 1984 771 Fixed several minor UI issues in the Explorer, Block properties, and Composite properties panes.
pSeven Enterprise upgrade notice¶
Since version v2022.09, users can sign in to pSeven Enterprise with their accounts from an external storage such as Active Directory Domain Services or an LDAP server. To enable this feature after upgrading pSeven Enterprise, user account federation must be set up and run as described in Users from Active Directory or LDAP server. As a result, for each user account from the external storage that matches the federation settings, the associated account of the pSeven Enterprise user will be created. If any pSeven Enterprise users have previously created non-federated accounts, you must link their new federated accounts to existing authorization accounts as described below. Otherwise, upon the first sign-in with the new federated account, those users will get new authorization accounts that consume the pSeven Enterprise license and do not provide access to the existing user data associated with the old authorization accounts.
Account matching
Running federation results in creating new accounts in the pSeven Enterprise authentication service. Upon the first sign-in to pSeven Enterprise, an authorization account is created for the user account, which provides access to the user data such as their home directory, files, workflows, and apps. If the user already has an account created by means of the pSeven Enterprise admin interface (see Adding accounts), you must link the respective authorization account to the new user account, created by running federation. This ensures that having signed in with the new account, the user can access their data in pSeven Enterprise.
The authorization account of the user in question is initially linked to their old account, which was created by means of the pSeven Enterprise admin interface. Before allowing the user to sign in to pSeven Enterprise with their new account, you must complete the following steps:
- Disable the old account of that user in the pSeven Enterprise authentication service.
- Link the authorization account of that user to the new user account, which federation has created for that user.
Follow the instructions below to complete each of these steps.
To disable the old account in the pSeven Enterprise authentication service:
- Sign in to the pSeven Enterprise admin interface and click Manage users in the page header.
- Look up the old account: on the Users page of the authentication service interface that appears, enter the username or a part of the username in the Search box, and then press Enter.
- In the lookup results list, click the ID of the old account to open its edit page.
- On the Details tab of the old account edit page, turn the User Enabled switch OFF and click Save.
Copy and save the username provided in the Username field on the Details tab of the old account edit page. This username will be required to locate the authorization account.
The old account might prevent the creation of the new federated account. This happens, for example, if the account in the external storage has the same email or username as the old account in pSeven Enterprise. In this case, having copied and saved the username, you should delete the old account, and then run federation again.
To link the authorization account to the new user account:
- On the Users page of the authentication service interface, look up the new user account and open its edit page.
- Copy and save the contents of the ID field displayed on the Details tab of the edit page - this is the unique identifier of the new user account.
- Click the icon in the upper right corner of the authentication service interface page, and then select the Manage user permissions menu item to open the list of authorization accounts.
- In the list that appears, click the username of the old user account.
- In the Keycloak user ID field on the Change user page that appears, enter the identifier of the new user account and save the changes.
The user can now sign in to pSeven Enterprise with the new account. The account matching you performed ensures that the user keeps access to their data.
v2022.08¶
Updates¶
-
1834 You can view and manage app runs in AppsHub using the new Runs sidebar available in all apps, including those published with a custom app UI.
- Click at the upper left of the app page to open the Runs sidebar.
- Click a run in the sidebar to view its results.
- To delete runs you no longer need, select them in the sidebar and click the button that appears.
- By default, you can view and delete only your runs. The app owner can view and delete all runs.
The app Runs sidebar
-
2069 2149 2124 Updated the Design space exploration block (beta), resolving a number of usability and compatibility issues. Since this version, future pSeven Enterprise updates will keep compatibility with the current Design space exploration block version.
An optimization problem set up in a Design space exploration block
-
2149 You can use the table editor in the Edit value dialog to create any custom table, as it now supports adding, removing, renaming and reordering table columns.
Column settings in the table editor
-
2136 Improved Edit value dialog usability for simple values (numbers and strings).
Deployment and administration¶
- 1629 Windows extension node setup no longer requires Internet access.
-
2151 In a deployment with the "on-demand" block execution strategy enabled, a deployment administrator can control the block shutdown timeout with the new Inactive block timeout setting.
The "on-demand" block execution strategy is an experimental feature.
-
Updated the pSeven Enterprise administration guide:
- 1858 2087 Added instructions on how to install additional Python modules into pSeven Enterprise deployment and on Windows extension nodes - see Installing additional Python modules.
- 2091 Added instructions on how to configure user session expiration - see User session expiration settings.
- 2207 Updated section Configuring user authorization on extension nodes with notes on username changes.
- 2192 Fixed a user management issue where pSeven Enterprise deployment could stop with an error if some users have changed their usernames since the previous version upgrade or restart.
- 2185 Fixed a stability issue in workflow run management where a run that failed to start was blocking subsequent workflow runs for all users, and all those runs got stuck in the "Configuration" state until you restart pSeven Enterprise.
- 1803 Fixed a stability issue with the user interface service
(
appserver
) where it could run out of memory if there are users who monitor run logs during execution, which caused a service restart, creating UI issues for other Studio users.
User block development¶
- 2157 You can implement a user block that runs an existing pSeven
Enterprise workflow as the current user running a workflow with your block.
Such user blocks work with the pSeven Enterprise REST API described in the
REST API guide. pSeven Enterprise provides access to
the REST API through the following block environment variables:
DA__P7__BLOCK__REST_API_URL
- contains the REST API URL.DA__P7__BLOCK__REST_API_TOKEN
- contains the REST API authorization token of the current user.
- 2185 Fixed an issue with development of Windows-only blocks, where a user who opens such a block was receiving a "Can not submit job to the cluster!" error.
Bugfixes¶
- 2184 Fixed an issue where you could not sign in to pSeven Enterprise after waiting at the sign-in page for a certain time.
- 2111 Fixed an issue where file upload, copy, and other file operations in Explorer caused a "connection already closed" error.
- 2113 Fixed an issue with logging in long-running workflows, which caused
slowdowns and unresponsiveness when working with such workflow runs:
- Disabled extended block logging by default to reduce the amount of logs.
- Logs displayed in the Run log pane are truncated for faster loading.
- To get a full log, you can download the log file with the Download command from the Run log pane menu.
- 2185 Fixed an issue with Windows-only blocks where a "Can not submit job to the cluster!" error appeared when you open the block configuration dialog.
- 1840 Fixed an issue where sending a Matrix value to a batch mode port of some composite block caused an error, which stopped the workflow run.
- 1803 Fixed an issue with delays in workflow loop execution, that became noticeable after a certain high number of loop iterations.
- 1437 Fixed an issue with workflow loops where, if the loop completed but did not send some of the required responses to the loop driver block, that block waited indefinitely instead of raising an error and interrupting the workflow.
- 2145 Fixed an AppsHub issue with the stock app UI that caused incorrect app behavior if your network connection with AppsHub got interrupted while the app runs.
- 2133 Fixed an issue where a Python script block configured to output a NumPy array of objects (for example, an array of lists) caused an error during a workflow run.
- 1947 Fixed a UI issue with the Workflow library pane where, if you add a block to your workflow and close its tab or hide the pane before it finishes loading the block, the added block was hidden from the pane until you add one more block.
- 1295 Fixed an issue where an error occurred when you copy and paste a block into the same workflow, if the name of that block is a number.
- 1564 Fixed a UI issue with the Block properties pane where it could display incorrect variable names in port tooltips for Condition blocks.
- 562 Fixed an issue with the Explorer pane where pSeven Enterprise did now display an appropriate error message if you input a non-existing path in the Explorer address bar.
v2022.07¶
Updates¶
-
1587 You can manage your account settings - change email, password, and other - in your user profile. To open it, use the new Edit profile command from the pSeven Enterprise user menu.
The Edit profile command in user menu
This feature is enabled by the new user authentication system introduced in pSeven Enterprise v2022.07. Due to changes in authentication, you will be required to verify your account once after the upgrade to v2022.07. Until you verify your account, sign-in attempts to pSeven Enterprise v2022.07 will result in an "Invalid username or password" message. To verify, click the "Forgot Password?" link in the pSeven Enterprise v2022.07 sign-in form. Upon clicking that link, you will receive an email with further instructions.
-
1934 To make it easier to find run tabs related to a particular workflow, pSeven Enterprise opens new run tabs next to the related workflow tab, instead of opening them after the last existing tab.
Run tabs open next to their related workflow tab
-
1946 You can quickly show or hide all block presets, expand and collapse all block groups in the block library using the new and buttons in the Workflow library and Common library panes.
- 2127 Upgraded the embedded pSeven Core package to version 6.36. For details on recent improvements and changes, see the pSeven Core changelog.
- 2150 Updated the REST API guide in the pSeven Enterprise Help to describe REST API v2.
Deployment and administration¶
Important
When upgrading to pSeven Enterprise v2022.07, follow the instructions found in the pSeven Enterprise upgrade notice below. Otherwise, users may be unable to sign in after the upgrade due to deployment configuration errors, and fixing those errors will require you to re-deploy v2022.07.
- 1587 pSeven Enterprise v2022.07 works with a new authentication service based on Keycloak, which improves user account security and provides additional account management options.
- 2114 Added the number of remaining Studio and AppsHub user licenses to the Licenses page in the pSeven Enterprise admin interface.
- 2140 Fixed a regression issue from v2022.06 where pSeven Enterprise
deployment stopped with an error, if you set the
entrypoint.allowedHosts
parameter in the deployment configuration filevalues.yaml
. - 2180 Fixed a stability issue with the user interface service
(
appserver
) where it could become unresponsive if many users actively switch tabs in Studio, causing UI slowdowns and errors for all Studio users. - 2139 Updated and extended the
pSeven Enterprise deployment
and Administration guides following the
introduction of a new authentication service based on
Keycloak:
- Updated the initial admin account setup instructions in section Admin access.
- Updated the service interaction diagram.
- Updated the instructions for adding new users in section Adding accounts.
- Added the instructions for administering existing user accounts, see Managing user account data.
- 1346 Added section Backing up and restoring user data to the administration guide.
User block development¶
- 1949 Fixed an issue where loading a block prototype to the workflow library by dragging its folder from the Explorer pane onto the Workflow library pane caused a "Device or resource busy" or "Directory not empty" error.
- 2144 Fixed an issue where a value in scientific notation (for example,
1e-08
) in block manifest caused an error when you add that block to the workflow library.
Bugfixes¶
-
2147 Fixed a regression issue from v2022.06 where a workflow run stopped with an error, if the workflow contains a block that outputs a large data array.
If you encounter that issue, update blocks in the workflow library by clicking the update notification next to the block name in the Workflow library section of the Block library pane. See Updating blocks to a newer version for more details.
-
2155 Fixed a regression issue from v2022.06 where you could not run an app in AppsHub due to a workflow run error, if app parameters have no default values.
pSeven Enterprise upgrade notice¶
Due to the introduction of a new authentication service based on Keycloak, an upgrade to pSeven Enterprise v2022.07 requires a few additional configuration steps, which are summarized below.
Before you upgrade to pSeven Enterprise v2022.07:
- It is recommended to create a backup of the pSeven Enterprise database. You
may need that backup if you decide to rollback to a previous pSeven
Enterprise version: the v2022.07 upgrade adds new database objects, which
may cause issues if the database once upgraded to v2022.07 is used with an
older version. The pSeven Enterprise database is specified by the
postgres.dbname
parameter in your deployment configuration filevalues.yaml
. For database backup instructions, see Backup and Restore in the PostgreSQL server documentation.
Additional upgrade steps required for pSeven Enterprise v2022.07:
- Prepare the updated deployment configuration file
values.yaml
as described in Upgrading pSeven Enterprise. - Check the
entrypoint.allowedHosts
andentrypoint.allowedAuthPorts
parameter settings in the preparedvalues.yaml
file (see the comments to those parameters for details). Note thatentrypoint.allowedAuthPorts
is a new parameter, which must be set correctly, considering the domain name and port numbers used to access your pSeven Enterprise deployment. Otherwise, you users will be unable to sign in to pSeven Enterprise after the upgrade. -
The prepared
values.yaml
file also contains a newkeycloak.clientSecret
parameter. This secret is required to establish connection to the new authentication service (keycloak
) and must be specified invalues.yaml
, otherwise user authentication will be disabled, and users will be unable to sign in.-
Get the full version number and generate a new file with pSeven Enterprise v2022.07 secrets using the following commands:
helm show chart pseven-{YYYY.MM.DD}.tgz | grep appVersion | cut -d" " -f2 docker run --rm -it {registry}/pseven-secretgen:{version} > pseven-secrets-2022-07-keycloak.txt
-
From the generated
pseven-secrets-2022-07-keycloak.txt
, copy only thekeycloak.clientSecret
parameter to thevalues.yaml
file you prepare for the upgrade deployment. Do not change other secrets invalues.yaml
(thejobcluster.*
andextensionNode.*
parameters) - those must be copied from the existing configuration, as described in Upgrading pSeven Enterprise. - Also copy the
keycloak.clientSecret
parameter to your backup copy of pSeven Enterprise secrets. - Remove the generated
pseven-secrets-2022-07-keycloak.txt
file.
-
-
Verify your
entrypoint.allowedHosts
,entrypoint.allowedAuthPorts
, andkeycloak.clientSecret
parameter settings in the updatedvalues.yaml
file you prepare. Then continue with the upgrade deployment, following the Version upgrade guide.
After the upgrade to pSeven Enterprise v2022.07:
- All admin accounts will have their password reset to
admin
. Once the upgrade deployment completes, sign in as administrator immediately and change the default password for all admin accounts. To sign in, specify an existing admin username (email address) and theadmin
password. For password reset instructions, see Managing user account data. -
The default administrator account is assigned the username
admin
instead ofadmin@admin.admin
.If user authorization is configured for that account on an extension node (see Configuring user authorization on extension nodes), you will have to change the regular expression in the
DA__P7__ALLOWED_USERS
environment variable to match the new usernameadmin
. Otherwise the useradmin
will lose existing permission to run blocks on that specific extension node. -
All user accounts will have their password unset, and users will have to set a password. Notify your users that they need to pass a one-time account verification by resetting their passwords using the "Forgot Password?" link at the sign-in page. Users who have not set a password will be unable to sign in to pSeven Enterprise v2022.07, and their sign-in attempts will result in an "Invalid username or password" message. Otherwise, you can also set user passwords in the pSeven Enterprise admin interface (see Managing user account data).
Upon the v2022.07 upgrade, existing user accounts keep their usernames,
so existing users should sign-in with an email address. The exception is
the default administrator account, which is assigned the username admin
after the upgrade. New users added after the upgrade are no longer
required to use an email address as a username.
If there are no active admin accounts in your deployment, the v2022.07
upgrade will also re-enable the default admin account (username: admin
,
password: admin
).
v2022.06¶
Updates¶
- 2074 In the Share dialog, you can press Enter to add another user instead of clicking every time.
- 2025 Enabled renaming block working directories in run result folders of completed workflow runs.
- 1376 Added the support for N-dimensional NumPy array outputs in the
Python script block:
- 2-dimensional arrays are output as matrices by default, as earlier
- Other arrays are output as nested lists by default
- A flat (1-dimensional) array is also compatible with the matrix data type and can be converted to a single-column matrix
- 1376 The pSeven Enterprise REST API protocol is updated to v2 with minor
changes in the run parameters and run results structures (see sections
Run parameters and
Run results in the REST API guide for
details). The new protocol version is used only if you access the REST API
methods by URL
/pseven/.rest/v2/
. pSeven Enterprise keeps compatibility with the REST API protocol v1 (URL/pseven/.rest/v1/
), so existing REST clients, which use REST API v1, will continue to work with no issues. However it is advisable to update existing clients to REST API v2, as well as use only REST API v2 in new client implementations. - 1376 You can write data tables for reports from a Python script block
using the
api.write_report_table()
function from the block's embeddedapi
module. Function parameters arewrite_report_table(path, data)
, wherepath
is the table file full path with an optional.p7table
extension, anddata
is the table data aspandas.DataFrame
. - 1827 You can view shell scripts (
.cmd
,.bat
,.sh
) in pSeven Enterprise, in addition to previously supported file formats. To view a file, double-click it in Explorer, or select it and press Space. - 1827 Added a few commonly used shortcuts for keyboard navigation in Explorer.
- 2038 Removed the Show active document folder command from the menu in Explorer as it is more conveniently available from the tab bar: while viewing a workflow, run, or report click in the tab bar or double-click the tab title to open the related folder in Explorer.
- 2080 Upgraded the embedded pSeven Core package to version 6.34. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
- 1595 Increased the number of the block configuration UI router service
(
blockrouter
) replicas to 2 to avoid interrupting user work in case of possibleblockrouter
failure. - 1422 Fixed a deployment issue where possible errors in configuration of the database server or NFS storage server were reported only at the final deployment stage, leading to additional downtime during pSeven Enterprise version upgrades or redeployment. pSeven Enterprise now tests connection to the database and file storages at the start of the deployment.
- 2073 Fixed an issue where Windows extension nodes could not connect to pSeven Enterprise if it is deployed on a Kubernetes cluster that uses the Calico CNI plugin.
- 2048 Revised and updated admin guides in the pSeven Enterprise Help:
- Added a separate Version upgrade section to help locate the appropriate instructions, replacing the upgrade sections previously included in the pSeven Enterprise administration and extension node deployment guides.
- 1544 Expanded the administration guide with section Understanding accounts to provide a better understanding of account setup in pSeven Enterprise.
- Moved the section describing user access settings on extension nodes from the extension node deployment guide to Administration - see Configuring user authorization on extension nodes.
- Moved all uninstallation instructions to a separate Uninstallation guide.
- Several other minor updates and additional explanations.
User block development¶
- 1376 Redesigned the Edit value and View value dialogs to better support custom tables with predefined columns and other custom data types.
- 2052 Fixed a regression issue from v2022.03 where pSeven Enterprise did
not properly remove files from the block data directory
(
DA__P7__BLOCK_DATA_DIR
) after they had been deleted by the block. - 2092 Updated section Block assets in the user blocks guide with more information about publishing and updating assets, and also using assets to add Python modules to blocks.
Bugfixes¶
- 2082 Fixed a regression issue from v2022.05 where you could not download large files from pSeven Enterprise.
- 2061 Fixed a regression issue from v2022.04 where moving a block to another workflow using cut and paste would not remove the block from the source workflow, causing errors when you edit the source workflow.
- 1733 Fixed an issue where passing complex List or Dict values between blocks caused delays in workflow execution.
- 1376 2135 Fixed an issue with the Python script block where a 1-dimensional NumPy array sent to a request driver port was converted to a single-column matrix by default. 1-dimensional arrays are compatible with the matrix data type, but such an array should be converted to a single-column matrix only if you pass it through a port that has its type set to matrix.
- 1686 Fixed an issue with editing workflow notes where they could reset position or disappear if you are actively editing notes.
- 2025 Fixed an issue with renaming subfolders in the
Files special folder in workflows where you could add
the reserved
.p7wd
extension to any folder, which caused various filesystem error messages. - 2123 Fixed a UI issue with the workflow editor where, if you remove some port that has a link connected to it, that link was automatically removed as intended but was still displayed in the workflow until you refresh a browser tab, which caused confusion.
- 2036 Fixed several issues with the Run setup pane where it incorrectly displayed the current parameter preset.
- 1957 Fixed incorrect behavior of the info pane in Explorer when selecting a shared folder (workflow, report) that is no longer available - for example, was moved or deleted by its owner.
- 1887 Fixed an issue with the View as text command in Explorer where viewing a binary file caused UI unresponsiveness.
- Design space exploration block (beta):
- 2066 Fixed slowdowns when adding or removing the block from a workflow.
- 2068 Fixed incorrect order of ports in the Block properties pane.
- 2068 Fixed several issues that caused block execution to stop with an error.
Compatibility issues¶
- 1376 Due to changes in data type conversion rules that were required to add the support for N-dimensional NumPy arrays in the Python script block, in certain cases the arrays that were previously converted to a single-column matrix may now instead be converted to flat lists if you pass them through untyped ports (the "Any" port type). Typically this causes a "'float' object is not subscriptable" error in the block that receives such an array. In affected workflows, that error appears only after you update the Python script block in the workflow library to the most recent version (block version 20). To revert to the old behavior, you can change port type in affected blocks to the matrix type - to force conversion of a 1-dimensional array to a single-column matrix.
- 1376 The
typesystem.File()
constructor previously used in the Disk optimization example to create data tables for reports is no longer supported in Python script blocks, as it was replaced with the more convenientapi.write_report_table()
function.
v2022.05¶
- Patch release v2022.06.07 addresses several issues related to the "Failed to send interrupt request to block" error appearing in the initial v2022.05.13 release.
Updates¶
-
1699 To update the stock app UI in a workflow created in previous pSeven Enterprise versions or to revert UI changes in a workflow, you can use the new app UI reset command from the menu in Explorer. To update an app published with the stock UI, reset the app UI in the workflow you published as that app, then re-publish the workflow.
The app UI reset command in the Explorer menu
-
2018 Timestamps in the Run log pane use the time format from your system (browser).
- 1818 Added a couple of convenience features for the tree view in the
Explorer pane:
- If you navigate between folders that are displayed in tree view (for example, run results), the pane now remembers the tree state in a few folders you have recently visited.
- If you input a path pointing to a file or folder in a tree, the pane expands the corresponding tree node upon navigating to that path.
-
1542 The Explorer pane uses icon and background colors to indicate status of workflow runs. The color scheme is consistent with the one used on run tabs.
Colored run icons in Explorer indicating run status
-
1129 Added an early preview version of the Design space exploration block, which provides methods for design of experiments and optimization.
The Design space exploration block in the library
This early preview version of the Design space exploration block may appear to be incompatible with future pSeven Enterprise updates and should be used for testing only.
-
2039 Upgraded the embedded pSeven Core package to version 6.33. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
- 1781 To prevent situation when some user opens too many blocks or starts too many workflow runs at the same time, which interferes with other users' work, you can now set limits for the number of open blocks and the number of workflow (or app) runs - common ones on the Settings page, which apply to every user by default, and individual limits for specific users in their user settings.
- 2006 Added information about storage space used and storage quota to the Users page in the pSeven Enterprise admin interface.
- 2022 Fixed an issue with pSeven Enterprise version upgrade where the
deployment of a new version could take several hours, depending on the
amount of stored user data, because it always ran a filesystem check
procedure, which is often not required. That procedure is now optional, does
not run by default, and you can enable it by adding
--set fixStorages=true
to thehelm install
deployment command. - 2054 Fixed an issue where pSeven Enterprise could stop responding to
user actions and sign-ins, which was caused by
appserver
service errors and required you to manually restartappserver
. Now if any of theappserver
replicas stops responding for longer than a minute, that replica is restarted automatically, which may interfere with work of some users but avoids a complete functional failure. - 2002 Fixed an issue where user workflow runs were blocked by the license limit if a number of runs had failed earlier - sometimes the run failure status was not set correctly, so failed runs could count as still active.
- Updates for pSeven Enterprise deployments with run-time resource management
enabled (optional feature, disabled by default):
- 558 Added a block execution scheduler to avoid overallocation of resources when running user workflows.
- 2021 Fixed an issue where pSeven Enterprise could cease to run user workflows until you restart the task execution service.
Bugfixes¶
- 2054 Fixed an issue where you could not sign in to pSeven Enterprise or it stopped responding after certain errors - for example, when someone opens a corrupt workflow or report - which could be resolved only manually by a deployment administrator.
- 906 Fixed a security issue in the REST API where a malicious user could set permissions on a folder owned by other user.
- 2045 Fixed a UI issue where the Block properties and Composite properties panes incorrectly displayed unconnected optional input ports (gray dot) as required (red dot).
- 2031 Fixed a convenience issue with the list of recent runs for shared workflows in the Start tab where the list included runs of all users who have access to that workflow instead of including only your runs.
- 1699 Fixed an AppsHub issue with the stock app UI where an attempt to run an app that was deleted after you opened the app page produced an incomprehensible error message.
- 1531 Fixed a UI issue where the Run setup pane did not display long values of parameters in full even if you extend pane width.
- 1818 Fixed a UI issue where refreshing the Explorer pane in the tree view collapsed all tree nodes.
- 807 Fixed a UI issue with editing workflow notes where the browser context menu did not appear when you right-click a note.
- 528 Fixed a UI issue where special folders like Files or Runs were not always sorted to the top in the Explorer pane as intended.
Patch v2022.06.07¶
Patch release
v2022.06.07 replaces the previously released version v2022.05.13. It contains additional fixes related to the "Failed to send interrupt request to block" error, listed here.
- 2096 Fixed a regression issue from v2022.05 where numerous "Failed to send interrupt request to block" error messages appeared in the Run log pane when you stop the workflow.
- 2096 Fixed a regression issue from v2022.05 where the stop button on a running block did not work.
- 2096 Python script block: fixed a regression issue from
v2022.05 where
api.interrupted()
returnedFalse
even if the workflow run is stopping when the block calls this function, instead of returningTrue
in that case, as intended. - 2096 Fixed a regression issue from v2022.05 affecting user
block developers, where it was impossible to implement a block that properly
handles a workflow stop command issued by user, because pSeven Enterprise
did not send the interrupt request (the
interrupt
control endpoint) to blocks when stopping the user's workflow run.
v2022.04¶
Updates¶
- 1808 Updated the stock app UI for AppsHub: if you open an app page directly by its URL, the app recognizes query string parameters as its arguments and automatically sets parameter values in the UI. This is useful, for example, if you integrate pSeven Enterprise apps to some other environment where users select parameter values before they launch an app: now you can pass user values to app in the query string, so users do not have to repeat parameter input in the app. See section App URL parameters for details. Note that previously published apps do not get this update automatically. To update an existing app, update the stock app UI files in the UI folder of that app's source workflow, then re-publish the workflow.
-
1939 If a workflow run has stopped with an error, you can see error details in the run status tooltip on the run toolbar.
Run status tooltip with error details
-
1764 Several improvements in the Block properties and Composite properties panes:
- If you are viewing contents of a composite block, its Composite properties pane displays port connection status regarding uplinks inside that composite block. Previously the pane was always showing status of external connections to the composite block, which was inconvenient when checking uplinks from nested blocks to ports of their parent composite block.
- The sorting buttons work independently - each button switches the sort order in a specific list, not everywhere in the pane. For example, you can use different sort order in the input and output port lists.
-
Better alphabetical sorting: it is now case insensitive, and numbered ports are sorted in natural order - for example,
port 9
is sorted beforeport 10
.Port sorting
-
Sorting now applies to the order of port groups. Previously, sorting applied only to ports inside each group but never changed the group order, and port groups were always displayed before non-grouped ports in the list.
- When you edit a port name in the Composite properties pane, leading and trailing space characters are trimmed to avoid accidentally creating ports with names that differ in the number of surrounding spaces only and look confusingly the same in the pane.
- Port name validation in composite blocks is now case insensitive. In the
Composite properties pane, it is no longer possible to create ports
with names that differ by case only, like
value
andValue
. - Improved pane UI responsiveness when working with large lists of ports.
-
2000 Upgraded the embedded pSeven Core package to version 6.32. For details on recent improvements and changes, see the pSeven Core changelog.
- Updated pSeven Enterprise Help:
- 1865 Updated the Python script block guide with a new section explaining how to get a complete list of Python modules available in the block - see Listing modules.
- 1865 Added a few notes on troubleshooting module import errors to section Python modules in the Python script block guide.
- 1808 Updated section Publishing the workflow as an app with information about using query string parameters in the app URL to pass parameter values to an app (see App URL parameters).
Deployment and administration¶
- 1694 pSeven Enterprise v2022.04 contains updates in the license mechanism, which add flexibility to license settings, enabling certain optimization of license usage (see below). Due to these updates, previously issued licenses are not compatible with v2022.04. You will need to request an updated license key and have it ready before you begin the update - so you can update the license immediately after deploying v2022.04. Otherwise, your users will be unable to sign in to pSeven Enterprise until you update the license key in your deployment. For further details, see the pSeven Enterprise upgrade notice below.
- 1694 You can configure an admin account so that it does not count as a licensed user. See sections User permissions and Admin account configuration in the pSeven Enterprise administration guide.
- 1694 pSeven Enterprise license since v2022.04 counts the number of AppsHub users and Studio users separately. AppsHub users can sign in to AppsHub and run apps from there. Studio users can sign in to both Studio and AppsHub, can edit and run workflows, publish them to AppsHub and run apps. AppsHub and Studio access require different user permissions, so you can configure user accounts to optimize license usage - see sections User permissions and End user account configuration in the pSeven Enterprise administration guide.
- 2012 If a workflow or an app run has failed, you can now see the fail reason on the run page in the admin interface.
- 2012 Removed the "Job info" column from the Workflow runs page in the admin interface as it was taking too much screen space. Job info is available on each run page.
- 1171 Fixed an issue where numerous
pint.util
warnings appeared in logs of every Kubernetes pod. - 1813 Fixed an internal configuration issue, which could cause zombie processes appearing in pSeven Enterprise service containers, potentially leading to various failures that would be hard to investigate.
- 1989 Updated the pSeven Enterprise deployment guide with notes about additional CPU requirements for the Kubernetes cluster worker nodes (moved: see Requirements).
- 1988 Slightly cleaned up and improved the layout of the deployment diagram in the pSeven Enterprise deployment guide.
- 1694 Updated section User management in the pSeven Enterprise administration guide.
User block development¶
- 1990 Fixed an issue where names of assets in the block manifest (see Block assets) were not checked properly, which allowed using assets with names that can lead to a name clash in block environment variables that store asset paths.
Bugfixes¶
- 1977 Fixed several internal issues with task management services that led to instability being one cause of incorrect behavior when running workflows - such as stopping with an error because a block failed to start, or inability to start another run after some run has stopped with an error.
- 2013 Fixed a bug in workflow execution, which contributed to the issue where a workflow run just started by a user could get stuck in the "Submitting" state. The issue is not fixed completely yet, although that situation is more rare now.
- 1938 Fixed an issue where a workflow run could get stuck in the "Queued to run" state if the user who started that run is near the storage quota limit.
- 2013 Fixed the primary cause of the issue where the message "Failed to send updates to platform: [Errno 32] Broken pipe!" appeared repeatedly in the run log. That warning may still appear rarely, although it does not indicate a run error.
- 1562 Fixed an issue where saving a block in its configuration dialog reset or unset its input values specified in the Block properties pane.
- 1997 Fixed an issue with the Run setup pane where you could unintentionally unset a parameter, because for parameters of certain types (matrix, list, and some others) clicking outside the input field or pressing Enter while editing the parameter reset its value instead of accepting edits as intended.
- 1868 Fixed an issue where a driver block in a running workflow started a loop that cannot complete because some of the loop body blocks do not receive all their input values, after which the run waited indefinitely for that loop. Now driver blocks check their loops before start and cease to run if required input data cannot enter the loop - this is possible, for example, if a block in the loop body receives some input from a Condition block. Also, if some block in the loop body cannot run (for example, one of its required input ports is not connected), a warning is issued to the run log pointing to the faulty block.
- 1764 Fixed an issue with the Block properties and Composite properties panes where adding many ports to workflow parameters could cause incorrect UI behavior or unresponsiveness.
- 1764 Fixed an issue with the Composite properties pane where you could create a port with a name that contains only space characters.
- 2017 Fixed an AppsHub issue with the stock app UI where you could not set a value to a matrix type parameter if that parameter has no default value.
- 1956 Fixed an issue where you could not open, move, or delete a folder copied from a run results folder.
- 1996 Fixed a UI issue with the tab bar, which sometimes did not display the left and right shift buttons and the scrollbar when you have many tabs open.
- 1266 Fixed a minor UI issue with workflow navigation in run tabs where you could not go inside a composite block with a double-click (like in workflow tabs) and had to always click the icon on the block to view its contents.
pSeven Enterprise upgrade notice¶
Since v2022.04, pSeven Enterprise license counts the number of AppsHub users and Studio users separately - the limits for them are set independently by the license. The type of a user depends on access permissions you set for that user. This also allows creating admin-only accounts, which do not have user access permissions - that is, cannot sign in to pSeven Enterprise as users. Admin-only accounts are not counted by the license, so you can create a number of such accounts as needed.
Licenses issued for previous pSeven Enterprise versions count only the total number of users, so they are not compatible with v2022.04. You will need to request an updated license key and have it ready before you begin the update - so you can update the license immediately after deploying v2022.04.
Important
Get an updated license key for pSeven Enterprise v2022.04 before you begin the upgrade. You will have to remove the existing key and add the new key immediately after upgrading to pSeven Enterprise v2022.04. Otherwise, user sign-in to pSeven Enterprise after the upgrade will be blocked until you replace the license key in your deployment.
The advisable upgrade sequence for pSeven Enterprise v2022.04 is:
- pSeven Enterprise licenses are bound to a specific Installation ID. Get and save your Installation ID as described in section License of the pSeven Enterprise deployment guide.
- Request a license update for your Installation ID. Postpone the upgrade to v2022.04 until you receive an updated license key.
- Having received the new license key, upgrade to v2022.04 as described in the Version upgrade guide.
- Immediately after the v2022.04 deployment finishes, sign in as admin and
open the Licenses page of the administrative interface (URL:
<admin URL>/app_auth/license/
). - Remove the existing license. Licenses from previous versions are not compatible with pSeven Enterprise v2022.04 and may cause issues later.
- Add the updated license key at the Add license page (URL:
<admin URL>/app_auth/license/add/
).
After replacing the license key, verify that you can sign in as a user. If you cannot sign in or encounter other issues during the upgrade, contact Technical support for advice.
After you complete the v2022.04 deployment and license update, consider also updating user permissions and configuring user and admin accounts as described in section User management of the pSeven Enterprise administration guide.
v2022.03¶
Updates¶
- 1932 More tab bar enhancements:
- When adding a large number of tabs, their widths are proportionally reduced in order to fit more tabs into the bar, until tab width reaches a certain minimum.
- When tabs fill the pane, left and right shift buttons appear to enable mouse-click scrolling through tabs.
- 1933 The tab bar menu now contains a list of all open tabs, so you can simply select a tab name from the list to navigate to the desired tab.
- In addition to scrolling tabs with your mouse wheel, you can also use swipe gestures - for example, on Mac.
- The new tab button is no longer stuck at the far right.
- 1963 Upgraded the embedded pSeven Core package to version 6.31.1. For details on recent improvements and changes, see the pSeven Core changelog.
- 912 Tooltips on links that may cause errors or unexpected behavior when running the workflow now display all warning and error details at once, instead of displaying only one of those messages.
Deployment and administration¶
- 1895 1894 Updated guidelines. The pSeven Enterprise deployment guide
was becoming overloaded, so it was split into several guides:
- The pSeven Enterprise deployment guide now describes only important deployment steps. This guide was also updated to address a number of issues that may arise when installing pSeven Enterprise.
- The Administration section contains an initial version of the support and maintenance guide.
- Technical support contains support contacts and troubleshooting instructions.
- Branding explains branding-related customizations.
- 1731 Updated the
sizing.*
parameter descriptions in the pSeven Enterprise deployment configuration filevalues.yaml
to better explain their role.
User block development¶
- 1522 Your block can now read data from the shared data storage - see section Block assets for details.
- 1945 Fixed an issue where pSeven Enterprise sometimes deleted folders
created by the block in its data storage (
DA__P7__BLOCK__DATA_DIR
). - 1161 Fixed an issue where port values in the Results pane were always highlighted red (invalid) if the port data type is a custom table with predefined columns.
Bugfixes¶
- 1721 Resolved the most prominent of stability issues that caused the "Task scheduler service restart" and "No such file or directory" errors when running a workflow. The fixes applied do not remove those errors completely yet, though significantly reduce the probability of them appearing during a workflow run.
- 1975 Fixed an issue that caused the "Block process failed to start" error when running a workflow.
- 1936 Fixed an issue where users who exceeded their storage quota could not stop a workflow run in progress, and that run continued with many errors in the run log.
- 1924 Fixed an issue that caused damage to the workflow when in a situation where the user's storage quota is exceeded.
- 1906 Fixed an issue where the block configuration dialog failed to open, displaying an empty window along with a "Block edit session failed" error message.
- 1876 Fixed an issue with the Functions pane in the Python script block configuration dialog where pressing Enter while the cursor is in the Function name field removed one of the function arguments.
- 1880 Fixed a regression issue from v2022.02 where moving a block to another workflow using cut and paste would not remove the block from the source workflow, until you refresh the browser tab with pSeven Enterprise or reopen that workflow.
- 1941 Fixed UI issues with long names in the Links dialog. Long names now have an ellipsis to fit in the dialog width, and full names can be viewed by hovering over the name in the list.
- 1893 Fixed an issue where a workflow run tab could remain in the loading or waiting state until you refresh a web browser tab with pSeven Enterprise.
- 1179 Fixed an issue that resulted in an error message when double-clicking a workflow run tab while the run is initializing.
- 1872 Fixed an issue with the Block library pane where a block update notification in Workflow library did not appear until you select that block in the pane.
- 1775 Fixed an issue where the workflow run log sometimes did not update for about half a minute due to a log file initialization error.
- 1146 Fixed an issue due to which the command for automatic layout of blocks in the workflow could place some blocks very far from the rest.
- 1867 Fixed an issue where the search function in the Russian language version of Help ignored English words.
v2022.02¶
Updates¶
-
1672 Updated Links and Autolink dialogs:
- The Links dialog now supports port groups. You can collapse and expand the list of ports in each group.
- When linking a driver block, you can select which ports to display: driver only, input (output) only, or all.
- The Autolink dialog now suggests links in one direction only, from source to target block. Its old version, which suggested links in both directions, proved to be inconvenient for linking blocks with many similarly named ports.
Port grouping in the Links dialog
-
1902 Upgraded the embedded pSeven Core package to version 6.30. For details on recent improvements and changes, see the pSeven Core changelog.
Bugfixes¶
- 959 Fixed an error when running a workflow with a Composite block that has a batch input port added to workflow results.
- 1809 Fixed an issue where the recent list on the Start tab was emptied if you launch many workflow runs in succession.
- 1900 Fixed an issue where editing a workflow after applying automatic block layout could unpredictably change the layout.
- 1848 Fixed an issue where UI was becoming unresponsive if you move blocks in the workflow using keyboard.
- 1792 Fixed an incorrect "You are trying to access an item that no longer exists" warning appearing when you copy blocks or notes in the workflow.
- 1861 Fixed an issue with renaming workflow runs and items in the workflow Files folder where it was impossible to select text with a mouse during rename.
- 1871 Fixed an issue where sometimes you could not rename a folder immediately after copying it.
- 1702 Fixed a UI error that could be seen in the browser console when you open a block or edit port values in the Block properties pane.
v2022.01¶
Updates¶
-
1078 Redesigned the tab bar for more convenience:
- No more multi-row tab stack clutter. Tab titles always have the same width and are always displayed in a single line, which you can scroll with your mouse wheel, when there are too many open tabs to show all their titles at once.
- 1540 Run tab titles use colored icons, which indicate run status.
- Added tab bar menu with a few useful commands.
The new tab bar
-
1540 The main toolbar in a run tab displays current run status.
Run status in the run toolbar
-
1804 The Explorer pane displays your total and available storage space in its title bar.
Storage information in Explorer
-
1326 When you select one or a few blocks to view their log messages, the Run log pane title displays names of selected blocks, so you can always tell which logs you are viewing at the moment.
-
718 You can rename workflow runs in Explorer - for example, to tag important or debug runs.
Note that you cannot rename a run in progress. To create a new run with a custom name, use the New run command, which prepares a run but does not immediately start it. Then while your new run is in configuration, rename the run folder in Explorer.
-
1722 You can view log files, Python scripts, CSV files, JSON and YAML data files in pSeven, in addition to previously supported Markdown and plain text files. To view a file, double-click it in Explorer.
- 1864 Upgraded the embedded pSeven Core package to version 6.29. For details on recent improvements and changes, see the pSeven Core changelog.
Deployment and administration¶
- 1225 User storage quotas. A deployment administrator can set file storage quota which applies to all users (as default), and override that default with user-specific quota settings. Quota management requires disk quota support on the file storage server - see section Enabling storage quota in the pSeven Enterprise deployment guide for details.
Bugfixes¶
- 1847 Fixed a workflow publishing issue where the published app could not run, if a block in the app's workflow reads files from the workflow directory.
- 1870 Fixed an issue where refreshing a browser tab with pSeven Enterprise or AppsHub sometimes entered a loop, indefinitely redirecting you to the sign-in page and back.
- 1753 Resolved a stability issue that could lead to errors appearing when you open a block, after which the block UI did not load - but could load successfully the next time you open the block.
- 1873 Fixed a UI regression issue from v2021.12 where pSeven sometimes displayed a run that has already finished as a queued run or a run in progress, and you had to reopen the run tab to fix that.
v2021.12¶
Updates¶
-
1667 Added initial support for the TensorFlow machine learning (ML) platform: in Python script blocks, you can use TensorFlow (
import tensorflow
) and Keras API (from tensorflow import keras
) to develop and train ML models. Also added lasio (import lasio
) to read and write Log ASCII Standard (LAS) files.Using TensorFlow, Keras API, or lasio in a Python script block that is configured to run on a Windows extension node is currently not supported.
-
631 You can now test Python script blocks without running the workflow - see section Testing the script in the Python script block guide.
- 1667 1659 Upgraded the embedded pSeven Core package to version 6.28. For details on recent improvements and changes, see the pSeven Core changelog.
- 1520 Added logging to the stock app UI in AppsHub, so you can see progress of an app run, its error details, and so on. To view or download app logs, click the Log button in the app page header. Previously published apps do not get this update automatically, but you can re-publish them with the new version of the stock app UI.
- 1465 You can now see folder (workflow, run) size in Explorer - select a folder, then expand the properties pane at the bottom and click calculate to get the selected folder size.
- 1849 To prevent clutter in the workflow run log, the Run logs pane displays memory usage messages from blocks only if you enable showing the debug log in the pane's menu.
- 1529 Error toast messages no longer disappear from screen by timeout - you close them manually, so there is no risk of missing an important error message. Information messages are automatically closed after a certain time, same as in previous versions.
- 1090 Links that may cause errors or unexpected behavior when running a workflow are highlighted orange (warnings) and red (errors). Warning and error details are available in link tooltips.
- Updated pSeven Enterprise Help:
- 1649 Added section Testing the script to the Python script block guide.
Deployment and administration¶
- 1806 Fixed a deployment issue where the command to generate secrets failed due to a configuration error.
- 1071 Fixed an issue with pSeven Enterprise admin interface where searching for a user caused an error.
Bugfixes¶
- 1799 Fixed an issue where autolinking blocks could unexpectedly remove manually created links between those blocks.
- 1817 1468 Fixed an issue with the Run logs pane where it was not showing logs of the selected block, or was showing logs of a different block than the selected one.
- 1654 Fixed an issue where error messages in a workflow run log were too wordy and always included full traceback, often making it harder to identify the error cause.
- 1789 Fixed block sorting in the Block library pane.
- 1265 Fixed various issues with keyboard navigation in the Explorer pane.
- 1814 Fixed a UI issue with the Explorer pane, which was too wide even when resized to its minimum.
- 1805 Fixed a UI issue with Run overview on the Start tab where it kept displaying the "Loading..." message instead of the usage tip text if there are no workflow runs that a user can view, causing confusion.
v2021.11¶
Updates¶
- 1270 Mass uplinking and adding ports to workflow parameters is now more convenient: in the Block properties pane, you can select multiple ports in Inputs or Outputs section, then use the and buttons that appear in the section header. adds uplinks by default, however if all selected ports are uplinked already, removes their uplinks. Similarly, excludes selected ports from parameters, if all of them are parameters already. And, since an output port cannot be a parameter, the button appears in Inputs only.
- 1734 The Block library pane loads noticeably faster in the case when the library contains blocks with many ports and a number of configuration presets.
-
1624 During a workflow run, the Workflow contents pane shows block memory usage, and blocks also regularly report their peak and average memory consumption to the run log.
Block memory usage in the Workflow contents pane
-
1543 Run status indicators on the Start tab are slightly redesigned to unify their style and make color scheme consistent with the background color scheme used on run tabs.
Run status indicators redesigned in v2021.11
-
1727 Completed workflow runs take less storage space because intermediate data files are automatically deleted when a run finishes.
- 1726 Changed the default parallelization ratio of batch-processing
Composite blocks from 4 to 2 (the
@Number of parallel workers
setting). This is done to avoid situation where a workflow run that includes nested parallel Composite blocks requests too much resources by default, forcing you to manually edit settings of all Composite blocks to reduce the number of block instances created due to parallelization. - 1633 Partially resolved workflow run performance issues caused by using
List
andDict
data types to pass big volumes of data through links between blocks. As a result, delays in workflow execution were reduced but not completely removed yet. - 1744 Removed a distracting warning pop-up that appeared in certain cases when you add or remove an uplink in the Block properties pane.
Deployment and administration¶
- A deployment administrator can now control resource usage with the following
new settings:
- 1739 The Max blocks per run setting limits the number of block instances that may be created in a single workflow run started by any user. Use it to avoid situations where a single user consumes all cluster resources by running a workflow that creates a high number of block instances - for example, due to extensive usage of Composite blocks with enabled parallel processing. Note that each block nested into Composite with parallel processing creates multiple instances when running, and the number of those instances is controlled by user through the Composite block settings.
- 1756 The Max open blocks setting limits the total number of blocks that can be open for editing at the same time, considering all blocks opened by every one of the users. Use it to avoid situation where the number of open blocks is high enough to consume most of cluster resources, which causes block edit and save errors as well as various other issues.
- 1716 The task executor settings in the pSeven Enterprise
deployment configuration file (the
sizing.htcondorexecuteResources.*
parameters invalues.yaml
) now set resource requests for that service instead of resource limits. This improves the service stability in cases when its actual resource consumption (the amount of resources used by running blocks) exceeds the expected one (the request): the service can now use additional resources as long as they are not claimed by other services, instead of shutting down as soon as it reaches the limit. For further information about new settings, see the pSeven Enterprise upgrade notice below. - 1720 1761 Adjusted several deployment settings in the Helm chart to
improve pSeven Enterprise stability:
- Increased the number of user interface service (
appserver
) replicas from 2 to 3. - Increased the number of task submit service (
htcondorsubmit
) replicas from 1 to 2. - Increased amount of requested resources for some services.
- Increased the number of user interface service (
- 1710 Removed the
disableFileLock
parameter from the pSeven Enterprise deployment configuration file (values.yaml
) as it is intended only for troubleshooting in a few rare cases, while being dangerous and essentially useless in production deployments. - 1795 1796 Optimized UI to lower the number of requests to the
pSeven Enterprise user interface service (
appserver
), reducing its load. - 1798 Fixed an issue where the user interface service (
appserver
) repeatedly ran out of memory and restarted while there is a user who keeps open a tab with an ongoing workflow run. Frequent restarts caused UI issues noticeable to all users and, in some cases, errors during sign in. - 1717 Fixed an issue with workflow run status notifications, due to which
a few concurrently running workflows could overload the pSeven Enterprise
user interface service (
appserver
), causing UI unresponsiveness and incorrect run statuses being displayed on the Start tab. - 1690 Fixed an issue with published user blocks where pSeven Enterprise deployment failed if the folder name of some published block contains a space.
- 1718 Fixed extension node deployment issues:
- After installing Poetry, node deployment could fail to install Python packages due to an issue with Poetry cache.
- Node deployment could fail if you specify a relative path to the
installation or temporary files directory when running
bootstrap.bat
.
User block development¶
- 1719 Fixed section Publishing a custom block in the block development guide: added missing instructions about setting access permissions for published blocks.
Bugfixes¶
- 1798 Fixed an issue where watching an ongoing run in a tab disrupted general UI functionality, so the UI became unresponsive for all users, and some users also experienced errors during sign in.
- 1711 Fixed unexpected slowdowns in workflow editing, which were noticeable when you have several workflow tabs open.
- 1750 Fixed an issue where a large workflow with many links open in a background tab caused unexpected slowdowns and UI unresponsiveness when editing workflows in other tabs.
- 1760 Resolved a stability issue that appeared when several users actively edit different blocks in their workflows at the same time. In particular, that issue caused errors when opening a block or saving block configuration changes.
- 1697 Fixed an issue with the Links dialog where it did not show ports that you have recently added to one of the blocks you are linking.
- 1793 Fixed an issue with the Links dialog where lists of ports disappeared when linking two blocks of the same type.
- 1757 1148 Fixed issues with the Block properties pane where uplinking many ports caused slowdowns, incorrect UI behavior and errors.
- 1149 Fixed an issue with the Block properties pane where it did not properly update the list of ports when you select different blocks in the workflow and displayed ports of a previously selected block.
- 1783 Fixed an issue with the Block properties pane where it displayed uplinked ports as not uplinked.
- 1150 Fixed an issue where you could not uplink multiple ports to the same port of a Composite block using buttons in the Block properties pane.
- 1730 Fixed an issue where a block input value specified in the Block properties pane was not saved if you deselect that block or select another block immediately after input.
- 974 Fixed an issue where input parameter values in the Run setup pane were not updated when you change parameter presets.
- 1704 Fixed an issue where uploading large files caused a
502 Bad Gateway
error. - 1693 Fixed delays in log output in the Run logs pane.
- 1791 Fixed an issue where a running workflow, which contains Composite blocks with enabled parallel processing, did not stop when a block nested into one of those Composite blocks fails to start, which caused various workflow errors later on.
- 1790 Fixed an issue with block working directory synchronization, due to which workflow runs occasionally stopped with a file access error.
- 1790 Fixed an issue where a workflow run stopped with a "Task failed" error immediately after start.
- 1796 Fixed a UI issue where a run tab stopped updating after you switch to another tab and back - for example, when you start several runs and switch between them.
- 1717 1543 Fixed an issue with the Start tab where it displayed workflow run status incorrectly due to unexpected delays in status update.
- 1784 Fixed a UI issue where the Start tab did not show the list of runs in Run overview if you do not interact with UI after opening a new Start tab.
- 1688 Fixed some of the UI issues that appear on low-resolution displays (tablets and laptops), or when you resize the browser window with pSeven Enterprise.
- 1749 Fixed an issue with high resolutions (for example, on 4K displays), which caused delays when switching between tabs in the pSeven Enterprise UI.
- 1732 Fixed an issue with the Block library pane where the Workflow library section sometimes did not show block update notifications even if a newer version of a block is available from the Common library.
- 1682 Fixed several issues that caused incorrect behavior when editing workflow annotations - for example, the text you edit could be lost or added to another annotation instead of the one you are editing.
- 1438 Fixed a workflow copying issue where active workflow runs were "copied" with the workflow. A copy of the workflow, which was created while that workflow is running, contained runs that were incorrectly displayed as active (running) while in fact those runs in the copy are interrupted.
- 1737 Fixed an issue where dragging a workflow in a run tab reset block startup counters to 0.
- 1740 Fixed an issue where a workflow run that contains a Composite block with enabled parallel processing failed with an "unknown value id" error.
- 1742 Fixed an issue where you could accidentally clear some result value in the Run setup pane, because the value reset button was displayed when you click a result despite that button is intended for input parameters only.
- 1700 Fixed issues with the stock app UI in AppsHub:
- The Stop button did not work after you refresh the app page.
- The app UI did not clear the list of files in the Results pane once you start a new calculation.
- 1801 Fixed a UI issue in the Explorer pane where a file upload progress bar remained at 0 if the cursor is away from the pane.
pSeven Enterprise upgrade notice¶
In the pSeven Enterprise v2021.11 deployment configuration file
(values.yaml
), resource settings for task executors specify resource
requests instead of limits: the sizing.htcondorexecuteResources.limits.*
parameters are replaced with the sizing.htcondorexecuteResources.requests.*
parameters. Note that requests (sizing.htcondorexecuteResources.requests.*
)
are now required while limits (sizing.htcondorexecuteResources.limits.*
) are
optional, and the v2021.11 deployment configuration file sets only requests
parameters by default.
When transferring parameter settings from an existing deployment to the v2021.11 configuration file (see Upgrading pSeven Enterprise), there are two advisable ways to update resource settings for task executors:
- To improve pSeven Enterprise stability under load, specify requests only. Set requests to the same values that were previously specified as limits. This allows task executors to temporarily exceed the expected resource consumption, using additional resources as long as they are not claimed by other services.
- To reproduce behavior of previous pSeven Enterprise versions, specify requests and limits, and set both to the same values that were previously specified as limits. Note that with such settings, Kubernetes pods where task executors run will be given a QoS class of Guaranteed (see QoS classes in the Kubernetes documentation).
v2021.10¶
Updates¶
- 580 The code editor in Python script blocks now supports search and a few other common functions - see section Keyboard shortcuts in the Python script block guide.
- 1631 Ctrl+S or Cmd+S in Python script now saves the block.
- 1396 Newly created workflows now contain the
README.md
file template. When publishing a workflow to AppsHub, you can useREADME.md
to add descriptions of the app, its parameters and results. See Adding descriptions to the stock app UI for more information. - Improved editing and display of parameters and results in the
stock app UI in AppsHub:
- 1341 Non-default parameter values are now displayed in bold, so you can easily tell which parameters you have already changed.
- 1341 Each parameter now has a button, which unsets the parameter value.
- 1625 If a result value is too long to display it in the result field (for example, the value is a matrix, a long list or string), a button appears. Clicking it opens a dialog where you can view the full value.
- 1625 Increased value preview length in result tooltips.
- 1341 You can now unset input values in the Block properties and Run setup panes: click a value to edit, then click in the input field.
- 1678 Pan action in a workflow tab now works more smoothly.
- 1316 Blocks in workflows of example apps in AppsHub are now automatically updated to current versions upon a pSeven Enterprise version upgrade.
- 1645 Added a beta tag to the GraphQL API command in the user menu to indicate that pSeven Enterprise GraphQL API is unstable and is not yet ready to be used in production.
- Updated pSeven Enterprise Help:
- 1687 Added section Keyboard shortcuts to the Python script block guide.
- 1357 Updated license information and instructions in section License of the deployment guide as the pSeven Enterprise license is now deployment specific and bound to the Installation ID.
- 1658 The Russian language version of pSeven Enterprise Help now contains a full changelog, the same as the English version.
Deployment and administration¶
- 1357 pSeven Enterprise licenses are now deployment specific. Each new deployment has a unique Installation ID (which is now generated during installation) and requires a valid license bound to this specific Installation ID. An existing Installation ID is kept upon a pSeven Enterprise version upgrade, so a license previously issued for that Installation ID remains valid after the upgrade, within its licensing period. However if you upgrade an existing deployment that does not yet have an Installation ID, you will need to request an updated license, as the upgrade will generate a new Installation ID for your deployment. For further details, see the pSeven Enterprise upgrade notice below.
- 1660 Fixed an issue where file storage requirements (see section NFS server in the pSeven Enterprise deployment guide) were not checked properly during installation, so deployment with an unsupported file storage continued but failed after a long timeout.
- 1703 Fixed an issue with the extension node setup package, due to which a node could appear working after installation but stopped functioning later - for example, after a reboot or after some of the pSeven Enterprise services on the node had been restarted.
- 1637 Fixed an issue where the OpenVPN port setting for extension
nodes specified in the pSeven Enterprise deployment configuration file
(the
entrypoint.gateOpenvpn
parameter invalues.yaml
) did not apply, requiring you to manually edit the OpenVPN configuration file (winnode.ovpn
) on every extension node if you change theentrypoint.gateOpenvpn
parameter during deployment.
User block development¶
- 999 It is now possible to implement and use a Windows-only block, which starts on a Windows extension node both in edit (configuration) and run (execution) modes. A user configuring such a block should select a Windows node to run on in the Block properties pane prior to opening block configuration. Thus a block in edit mode will be able to access node-specific resources - for example, Windows-only software tools installed on the selected node.
Bugfixes¶
- 1566 Fixed an issue where saving a block was taking too much time.
- 1679 Fixed unexpected slowdowns when deleting files in Explorer, deleting blocks in the workflow or in the Workflow library pane.
- 1677 Fixed an issue where pSeven Enterprise was becoming unresponsive if you edit a complex workflow containing many blocks and links.
- 1032 Fixed an issue where changes in workflows and apps were not showing until you delete the browser cache, which happened after a pSeven Enterprise version upgrade.
- 1684 Fixed an issue where a workflow failed to start after you update a block in the Workflow library to a newer version.
- 1674 Fixed slow loading of the Block properties pane.
- 1151 Fixed an issue with the Run logs pane where it sometimes did not show the log until you reopen the pane.
- 1504 Fixed an issue where scroll position in the Run logs pane was reset if you switch between document (workflow, report) tabs.
- 1502 Fixed an issue with the Block properties pane, which was incorrectly highlighting an optional input port as a port required to start the block.
- 1642 Fixed an AppsHub issue where refreshing an app page reset the app UI and unexpectedly stopped the app if it was running calculation.
- Fixed issues with the stock app UI in AppsHub:
- 1557 The UI sometimes did not show results of a completed calculation.
- 1341 The UI blocked editing of a parameter if it has no default value.
- 1642 A parameter value could be ignored if that parameter is an input port of some Composite block in the app's workflow.
- 1642 The UI did not clear results of a previous calculation when you start a new one, causing confusion.
- 1666 Fixed an issue with environment settings on extension nodes
where pSeven Enterprise incorrectly set
MKL_NUM_THREADS
,NUMEXPR_NUM_THREADS
,OMP_NUM_THREADS
, and several other environment variables for the process it starts on the node. Those settings limited the number of CPU cores provisioned to the process, which could cause errors when running multithreaded CAD or CAE packages. - 1662 Fixed an issue where you could not copy a shared workflow if another user is editing a block in that workflow at the moment.
- 1557 Fixed an issue with REST API where results of a finished run could be empty.
- 1324 Fixed an issue where a workflow run could enter a deadlock, if the workflow contains a Python script block that declares a function but never calls it in the script, and the response port corresponding to that function has a link connected to it and actually receives function values, which the block does not use.
- 1656 1592 Fixed several bugs that sometimes caused unexpected behavior of common file management commands in Explorer - for example, the sequence of Ctrl+C and Ctrl+V hotkeys, which commonly creates a copy of the selected file or directory, was not working as intended.
- 1639 Fixed minor UI issues in the Composite properties pane.
- 1172 Fixed unexpected UI behavior when quickly opening and closing block configuration dialogs.
pSeven Enterprise upgrade notice¶
Since v2021.10, pSeven Enterprise licenses become bound to a specific Installation ID. A unique Installation ID is automatically generated during installation, and each deployment requires a license key valid for its Installation ID. The license key contains information about the ID, and can only be used for the deployment with that ID.
Deployments of pSeven Enterprise v2021.10 and future versions will keep their once generated Installation ID upon a version upgrade, so a deployment specific license for them has to be issued only once.
Deployments of prior versions (v2021.09 and earlier) have no Installation ID. For such deployments, a new ID is generated during a version upgrade, so the previously used license becomes incompatible as it was not generated for a deployment with a specific Installation ID.
If you upgrade an existing deployment to v2021.10, you will need to request an updated license valid for your newly generated Installation ID. To get the ID, sign in as admin after v2021.10 installation finishes and copy the ID string from the admin page header (see section License in the pSeven Enterprise deployment guide for more details). This is a one-time update required to switch to the new version of license, which supports Installation ID; future upgrades will keep the same ID.
v2021.09¶
Updates¶
-
1607 Added initial ONNX support: the Python script block now provides the ONNX Runtime (
import onnxruntime
), which enables the usage of ONNX models from deep learning frameworks such as PyTorch and TensorFlow as well as classical machine learning libraries such as scikit-learn, XGBoost, and other.Using the ONNX Runtime in a Python script block that is configured to run on a Windows extension node is currently not supported.
-
1518 The stock app UI in AppsHub now supports uploading input files and downloading files from app results.
- Extended the Python script block functionality:
-
1539 Added caching support in the Python script block. For example, if your block runs in a loop, you can cache certain data or objects to avoid initializing them every time the block runs. See Caching Python objects in the Python script block guide for details.
Note that the cache should not be used as a persistent storage, because it may be reset between block runs.
-
1573 Added a few common convenience features to the code editor in the Python script block:
- code folding support
- highlight all occurrences of a word under the caret
- Ctrl+/ to comment the current line or selected lines
-
1563 NumPy arrays sent to output ports of a Python script block are now required to be 2-dimensional in order to avoid errors caused by inability to convert an array to the matrix data type. The support for N-dimensional arrays may be added in future versions.
This change may require you to update your scripts in Python script blocks - see section Compatibility issues for details.
-
1567 Upgraded the embedded pSeven Core package to version 6.24. For details on recent improvements and changes, see the pSeven Core changelog.
- 1058 The Run setup pane now supports tree-like grouping of
parameters and results. For example, parameters named
geometry.x
andgeometry.L
are displayed as a collapsible groupgeometry
containing inputsx
andL
. - 1525 Blocks in the Workflow library pane are now sorted by name, with different versions of the same block sorted in the version decreasing order.
- 1487 Added block help shortcuts to the Block library pane: hover over a block in the library and click the :fontawesome-solid-question-circle: icon that appears.
- 986 Improved AppsHub search to find search term occurrences in app descriptions. Also, you can search by username to find all apps published by a certain user.
- 1496 Updated design of title bars in block configuration dialogs for consistency. Block title bar now always contains the Save and Help buttons. The Save button now saves configuration but does not close the dialog (use Alt+F4 to close). The Apply button is removed.
- 1138 Added port tooltips in the Block properties and Composite properties panes, explaining the current state of each port.
- 1515 If you open a folder in the Explorer pane and it takes a long time to load and display folder contents, the pane now shows a loading message.
- 809 To avoid errors, a driver block can now be grouped into a Composite block only if you also group to the same Composite the entire body of a loop controlled by that driver block (select the driver block and all blocks in the loop before grouping).
- 1416 Added a message explaining the workflow run error caused by incorrect usage of conditional branching inside a Composite block with enabled batch processing.
- 863 Updated tooltips in the Explorer pane to better explain the use of commands, and added missing tooltips.
- 1515 Removed the Open button from the collapsible information pane in Explorer as redundant.
- 1547 Disabled the workflow run hotkeys F9 and F10 as they often conflict with browser hotkeys.
- Updated pSeven Enterprise Help:
- 1603 Updated the description of Kubernetes cluster resource requirements in the Prerequisites section of the pSeven Enterprise deployment guide (moved: see Requirements).
- 1114 Reworked the deployment diagram in the pSeven Enterprise deployment guide and added the service interaction diagram showing pSeven Enterprise services, network connections and ports in more detail.
- 1499 Extended the pSeven Enterprise deployment guide with detailed instructions on how to configure an NFS server for file storage - see NFS server.
- 1517 Added a note about required ports to the Extension node deployment guide (see section Before installation).
- 1598 Added description of pSeven Enterprise branding options - see Branding.
- 1597 Added notes on required user permissions to the User blocks guide.
- 1628 Updated the Python script block guide with the Working directories section describing how to configure the block working directory.
- 1539 Added section Caching Python objects to the Python script block guide.
- 1489 Added Python examples to the REST API guide.
Deployment and administration¶
- 1577 The Technical support section now explains what information you should collect and provide when contacting support with deployment issues.
- 1574 Optimized resource requirements for pSeven Enterprise services in the Helm chart so the services are now easier to distribute among the Kubernetes cluster resources. Requirements for non-replicated services are now set in a specific way as required to give their pods a QoS class of Guaranteed, improving their stability (see QoS classes in the Kubernetes documentation).
- 1582 In the pSeven Enterprise deployment configuration file
(
values.yaml
), you can now set annotations which are added only to Kubernetes jobs and pods created by jobs - see theannotations.job
parameter. The annotations added byannotations.job
override annotations fromannotations.all
. - 1589 Removed memory limits for post-install jobs started by Helm, which run once to check and finalize the pSeven Enterprise installation. This change is done to avoid deployment failures, which sometimes occurred because a one-time post-install job exceeded its memory limit and was stopped by Kubernetes. Also, post-install jobs are now allowed to restart up to 3 times in case of errors.
- 1588 Increased the ephemeral storage size for the pSeven Enterprise edge router service to avoid its restarts, which sometimes occurred under a peak load because the service log size exceeded storage size and Kubernetes destroyed the service.
- 1598 Added branding options: you can now set a custom logo on the pSeven Enterprise sign-in page and in the navigation bar, and add a custom Getting Started page. See Branding for details.
User block development¶
- 1597 Getting block source code (a
.p7protoblock
folder) from the block library now requires theapp_auth | user | Can develop blocks
user permission. New and existing users will have this permission by default, and a deployment administrator can revoke it. Users without this permission will be unable to drag blocks from the block library to the Explorer pane as well as add blocks from Explorer to the Workflow library pane. - 1578 Fixed an issue where you could not add a block from the Explorer pane to the workflow library if the block manifest did not define default values of all ports.
Bugfixes¶
- 1235 Fixed an issue where the block UI sometimes did not load when you open the block configuration dialog.
- 1586 Fixed the "Task scheduler service restart" error, which sometimes occurred while running a workflow.
- 1521 1640 Fixed errors and slowdowns when viewing large run logs.
- 1541 Fixed an issue where running a workflow with a Python script block that produces many log messages resulted in a "Memory limit exceeded" error, regardless of the memory limit specified in block configuration.
- 1385 Fixed an issue in the Python script block where function arguments in the Functions pane were listed in alphabetical order instead of their declaration order, causing confusion.
- 1630 Fixed an issue in the Python script block where using the
concurrent call syntax with 3 or more functions (for example,
(F1&F2&F3)(x1, x2, x3)
) caused an error. - 1579 Fixed an issue with the Python script block where writing a
large amount of data to the block's temporary storage directory
(
api.tempdir
) could cause an error in all running workflows. - 1563 Fixed an issue in the Python script block where it was possible to send an N-dimensional NumPy array to an output port, causing an error because an N-dimensional array cannot be converted to the matrix data type.
- 1351 Fixed an issue with the variable quick add syntax in the Python script block where ranges in names of variables were sometimes parsed incorrectly.
- 1351 Fixed an issue in the Python script block where names of variables added using the quick add syntax were not properly validated.
- 1051 Fixed an issue where changing the value assigned to an uplinked port did not change the value assigned to the corresponding port of a parent block as intended.
- 809 Fixed the inability to group a block into a Composite block, if there are multiple links connected to the same port of the block you are grouping.
- 1279 Fixed an error while running a workflow containing two or more Composite blocks with similar names, which have ports added to workflow results.
- 1381 Fixed an AppsHub issue where re-publishing a workflow changed its app ID, which required you to also update all REST clients using that app.
- 1381 Fixed an AppsHub issue where you could overwrite an existing app by publishing another workflow under the same name, even if you are not the owner of that app.
- 1043 Fixed an issue with the stock app UI in AppsHub where descriptions of results appeared only after you run the app.
- 907 Fixed an AppsHub issue where you could not open an app if its description was saved with encoding different from UTF-8.
- 584 Fixed incorrect behavior of the Publish workflow dialog - for example, it allowed you to click the Publish button multiple times, resulting in repeated publishing of the workflow.
- 1261 Fixed an issue where you could not create a copy of a read-only shared folder.
- 1593 Fixed an issue where deleting a workflow sometimes caused an error, after which you could not delete that workflow.
- 1569 Fixed an issue where workflow run folders were occupying more storage space than intended because they contained hidden system files.
- 1581 Fixed a sign-in issue where re-opening the pSeven Enterprise sign-in page after a successful sign-in did not properly redirect you to pSeven Enterprise or AppsHub.
- 864 Fixed an issue where double-clicking a workflow, run, or report tab title did not open the corresponding folder in the Explorer pane as intended if the pane is collapsed.
- 1523 Fixed an issue where you could not preview the app UI in a workflow
(open the
index.html
file from the workflow UI folder in Explorer) if the workflow name or path to the workflow contain special characters. - 1523 Fixed an issue where you could not open an HTML file located in a run directory or the workflow Files folder.
- 1488 Fixed incorrect status code and error message in a response to an invalid REST API file upload request.
- 1063 Fixed an issue with renaming files and folders in the Explorer pane where it was impossible to select text with a mouse during rename because this started a drag-and-drop action.
- 519 Fixed a UI issue with the parameter preset selector in the Run setup pane, which sometimes displayed duplicated presets.
Compatibility issues¶
This update requires NumPy arrays sent to output ports of a Python script block to be 2-dimensional, which in particular disables the output of 1-dimensional arrays. In previous versions, an 1-dimensional NumPy array was converted to a single-column matrix on output. In the new Python script block version coming with pSeven Enterprise v2021.09, that conversion has to be done explicitly in your Python script code.
If your workflows contain Python script blocks that output 1-dimensional NumPy arrays, you will need to update your Python code in those blocks accordingly before upgrading the Python script block in the workflow library to the latest version. Note that the Python code that converts 1-dimensional arrays to 2-dimensional before output is going to work correctly with either block version.
v2021.07¶
Updates¶
- 1554 You can now enable or disable run-time resource management in your deployment when installing pSeven Enterprise or upgrading it to a new version. In pSeven Enterprise v2021.07, resource management is disabled by default. See the pSeven Enterprise upgrade notice below for details.
- 1516 Adjusted resource requirements for pSeven Enterprise services in the Helm chart to their actual resource consumption based on the recent resource usage statistics gathered from real pSeven Enterprise deployments.
- 1537 1553 1546 Improved pSeven Enterprise stability in many cases where users experienced issues when configuring blocks, editing or running workflows.
- 1368 pSeven Enterprise administrators can now create users who have AppsHub access only. Such users may run apps from AppsHub but cannot create, edit, or run workflows.
- 1269 When you download a workflow or a folder containing some workflows, you can now skip downloading the run results stored with workflows to speed up download and reduce its size.
- 476 You can now upload workflows or folders in ZIP archives and extract them in pSeven Enterprise using the new Unzip command from the menu in Explorer.
- 1497 Upgraded the embedded pSeven Core package to version 6.23. For details on recent improvements and changes, see the pSeven Core changelog.
- 1497 The Python script block now provides optional
pandas
dependencies likepytables
,tabulate
, and other. - Updated pSeven Enterprise Help:
- 1498 Added section Workflow guides, which explains pSeven Enterprise concepts and provides a general user guide.
- 1448 1470 Added section Block guides, which provides help for the Python script and Condition blocks.
- 1439 Added section User blocks guide, which provides an updated block development guide.
- 1513 Minor improvements in the pSeven Enterprise deployment guide.
User block development¶
- 1419 Fixed an issue where pSeven Enterprise displayed an empty Common library pane after a block with an invalid manifest had been published.
- 1561 Fixed an issue due to which it was impossible to implement a block that allows changing default values of its ports.
- 1439 Added the block development guide to pSeven Enterprise Help - see User blocks guide.
- 1439 Removed the outdated User Block Example from AppsHub. Note that if you upgrade an existing deployment, this example is not removed automatically. It is recommended to delete it manually after the upgrade - see section Compatibility issues for details.
Bugfixes¶
- 1545 Fixed an issue where run-time resource management did not work as intended when running a workflow that contains a block configured to run on an extension node.
- 1546 Fixed a deployment issue where annotations specified in the
pSeven Enterprise deployment configuration file (the
annotations.all
parameter invalues.yaml
) were not added to some of the Kubernetes pods during deployment. - 1535 Fixed an issue where saving a script with a syntax error in the Python script block produced a generic error message instead of a message that locates the error.
- 1463 Fixed an issue where you could add a function with no arguments in the Python script block, which caused an error when running the workflow.
- 1250 Fixed an issue where you could not change access rights of a folder you have shared earlier.
- 1035 Fixed an issue where you could not preview the app UI in a workflow
(open the
index.html
file from the workflow UI folder in Explorer) if the workflow had been shared to you by another user. - 1278 Fixed incorrect UI behavior and various issues that occurred when you can no longer access a shared workflow because its owner had deleted the workflow or revoked your access.
- 1250 Fixed errors caused by deleting a workflow that is currently running.
- 1450 Fixed an AppsHub issue where you could not open an app if its name contains a dot.
- 1377 Fixed an issue where the pop-up message displayed after publishing a workflow to AppsHub contained an invalid link to the app.
- 1423 Fixed an issue where you sometimes could not save configuration in the Example user block.
- 996 Fixed an issue where the Ctrl+V hotkey was not working in the workflow editor.
Compatibility issues¶
- 1554 pSeven Enterprise v2021.07 disables run-time resource
management by default. To enable the resource management features,
which were introduced in v2021.06, set the
sizing.enableResourceManagement
parameter in the pSeven Enterprise deployment configuration file (values.yaml
) totrue
. For details, see the pSeven Enterprise upgrade notice below. - 1546 The default maximum number of users (the
maxUsers
parameter invalues.yaml
) in pSeven Enterprise v2021.07 is increased to 256 (previously the default was 128). When upgrading, it is recommended to keep the new default value, unless a non-default value was specified in your existing deployment. -
1439 pSeven Enterprise v2021.07 no longer installs the User Block Example to AppsHub, as this example is outdated and is completely replaced by the new block development guide (see User blocks guide) and the example implementation of a user block available from the block library. However if you upgrade an existing deployment to v2021.07, the old example is not removed from AppsHub automatically. To avoid using that outdated example, it is recommended to manually delete it from the AppsHub data storage after you upgrade to v2021.07.
- The AppsHub data storage location is specified by the
storage.appdata.*
parameters in the pSeven Enterprise deployment configuration file (values.yaml
). Connect to the server specified by thestorage.appdata.nfs.server
parameter and locate the directory specified bystorage.appdata.nfs.path
. This is the AppsHub data storage directory. -
To delete the outdated User Block Example, remove the
User Block Example.p7wf
subdirectory and all its contents from the AppsHub data storage directory.Warning
Do not remove any subdirectories other than
User Block Example.p7wf
from the AppsHub data storage. Those subdirectories contain more example apps, as well as apps published by pSeven Enterprise users.
- The AppsHub data storage location is specified by the
pSeven Enterprise upgrade notice¶
pSeven Enterprise v2021.07 deployment configuration file (values.yaml
)
is updated with a new parameter, sizing.enableResourceManagement
,
which you can use to enable or disable the run-time resource management
features introduced in v2021.06 (default is disabled). This setting
applies once during installation and cannot be changed afterwards,
unless you re-install.
If you choose to enable resource management, configure it as described in the pSeven Enterprise upgrade notice for v2021.06.
If you choose to keep resource management features disabled, you can
limit the maximum load by adjusting the sizing.htcondorexecuteSlots
parameter, which sets the number of tasks that may run on a task execution
service instance.
v2021.06¶
Updates¶
-
1038 Improved run-time resource management:
- Blocks now declare their memory and CPU requirements, and pSeven Enterprise uses this information to schedule block execution.
- pSeven Enterprise sets run-time memory and CPU limits for blocks, allowing a block to use no more resources than it requires.
- In Python script blocks, you can set per-block resource requirements in the new Resources section of the block configuration dialog.
- User blocks can declare resource requirements in block manifest and can also implement per-block resource settings in their configuration dialogs.
- If a block does not declare its resource requirements, default limits apply, set by an administrator in deployment configuration.
Warning
The resource management updates outlined above require you to update all blocks in workflows created in previous versions of pSeven Enterprise. To update a block, click the update notification next to the block's name in the Workflow library section of the Block library pane.
If you do not update a block, the workflow will keep using an old block version, which does not declare resource requirements, so default limits always apply. Since the default limits are rather low, you may experience various issues if you run a workflow that contains old block versions.
-
1456 You can now reduce the size of a workflow folder by removing the history of changes - open the workflow and use the Clear history command from the menu in the workflow edit toolbar.
- 1507 Plotly is now available in Python script blocks.
-
1353 To access files in Python script blocks, you can now use the
api.rundir
andapi.wfdir
variables that contain, respectively, the path to the current run directory and the path to the workflow folder. Import theapi
module (import api
) to use. Both variables arepathlib.Path
objects.Join paths
The join operator for
pathlib
paths is/
. For example, to get the full path to the file namedfile_name.ext
, located at the root of the run directory:import api file_path = api.rundir / 'file_name.ext'
Files in the block's working directory
To work with files located inside the block's working directory, you do not need any special methods - just use relative paths. This works because the block sets its working directory as the current working directory for the script it runs.
-
1268 Workflow run folders now occupy less storage space.
- 1466 Improved responsiveness and loading speed of the Block properties pane.
- 1203 Improved autolinking: the Autolink dialog suggests links between ports with partially matching names, and can match ports from different port groups.
- 917 Recently closed workflows and reports now appear on top in the list of recent documents, so they are easier to find.
- 1471 Helm post-install hooks and jobs no longer disappear during deployment, so you can review their logs when needed.
- 1471 pSeven Enterprise deployment no longer creates persistent volumes that require additional privileges.
- 1433 Upgraded the embedded pSeven Core package to version 6.22. For details on recent improvements and changes, see the pSeven Core changelog.
- 1477 Added more details about NFS server configuration to section File storage in the pSeven Enterprise deployment guide (moved: see NFS server).
- 1500 Reworked the Version upgrade guide to avoid issues with re-using configuration files from an existing deployment. Until further notice, the recommended method to prepare a configuration file for an update is to manually transfer settings from the existing configuration.
- 1021 Updated the REST API guide:
- Added section File upload.
- Added section Downloading the run log in File download.
- Added a note about getting the API token from the pSeven Enterprise user menu in API access.
- 1436 Updated the Russian language version of pSeven Enterprise Help to bring it in line with the English language version. To select your language, use the menu in the Help's top bar.
User block development¶
- 1038 Due to the resource management updates, blocks should also be updated so they declare resource requirements, and users should be additionally notified to update blocks in their workflows. See the User block upgrade notice for details.
- 1464 Fixed an issue where users could not update a block in their workflows if the name of the folder where developers have published the updated block version was not following a specific pattern.
Bugfixes¶
- 1181 Fixed an issue where pSeven Enterprise could stop responding due to a malfunctioning task scheduler service.
- 1452 Fixed an issue where a workflow with blocks configured to run on a Windows extension node often stopped with an error, if these blocks were nested into a Composite block with parallel processing enabled.
- 1467 Fixed performance issues caused by adding a large file to the workflow Files folder.
- 1073 Fixed an issue where editing a block always reset its previously assigned port values to default, as well as resetting related workflow parameters.
- 1443 Fixed an issue where pSeven did not correctly create working directories for a Composite block with working directory set to indexed and parallel processing enabled.
- 1413 Fixed an issue where pSeven sometimes did not update a run tab properly, displaying a run as active (running) while it has already finished.
- 802 Fixed the unexpected UI behavior after opening several workflow tabs in rapid succession.
- 1097 Fixed errors when deleting, moving or copying a folder that contains many subfolders.
- 1440 Fixed an issue where it was possible to create duplicate links - for example, two links connecting the same port pair.
- 1195 Fixed an issue where pSeven displayed incorrect values of block start-up counters on a run tab.
- 1203 Fixed a few minor issues with the Links and Autolink dialogs.
- 1413 Fixed an issue where pSeven kept displaying long-running operation pop-ups at the bottom.
- 1432 Fixed an issue where a side panel with debugging information (Django admin panel) appeared in AppsHub and in pSeven Enterprise admin interface.
Compatibility issues¶
-
1471 pSeven Enterprise v2021.06 changes the requirements to the file storage (NFS) server: now it supports NFSv3 only and requires disabling NFSv4 - see section NFS server). in the pSeven Enterprise deployment guide for details.
Important
Reconfigure the NFS server before upgrading to v2021.06, otherwise the v2021.06 deployment will fail.
-
1038 Due to the resource management updates in pSeven Enterprise v2021.06, user blocks should also be updated so they declare resource requirements. Otherwise, the general memory and CPU usage limits set in the deployment configuration will apply. The general limits may be too low for some user blocks - for example, if a block processes large data arrays, it may run out of memory. Also, users should be additionally notified to update blocks in their workflows created in previous versions of pSeven Enterprise. For details, see the User block upgrade notice below.
- 1038 pSeven Enterprise v2021.06 uses an updated deployment configuration file, which contains new parameters related to resource management. These parameters should be adjusted when upgrading to v2021.06. For configuration details, see the pSeven Enterprise upgrade notice below.
pSeven Enterprise upgrade notice¶
pSeven Enterprise v2021.06 deployment configuration file (values.yaml
)
contains several new parameters related to resource management. To
ensure correct resource allocation and to avoid issues when running
workflows, these parameters should be set deliberately and with regard
to resources available in your deployment.
Follow the guidelines in section
Upgrading pSeven Enterprise
to generate a new configuration file for v2021.06 and transfer parameter settings
from your existing deployment to the new file. In addition to this,
find the following sizing.*
parameters in the new file and adjust
their values:
sizing.blockrunDefaultResources.memory
- default memory usage limit for a block run task.sizing.blockrunDefaultResources.cpu
- default CPU usage limit for a block run task.sizing.htcondorexecuteReplicas
- the number of task execution service instances to create.sizing.htcondorexecuteResources.limits.memory
- total memory usage limit for a task executor.sizing.htcondorexecuteResources.limits.cpu
- total CPU usage limit for a task executor.
Limits set by the sizing.blockrunDefaultResources.*
parameters apply
to blocks that do not declare their specific resource requirements. Do
not set these default limits too high as this leads to inefficient
resource usage, which causes performance issues.
Values of the sizing.htcondorexecuteReplicas
and
sizing.htcondorexecuteResources.limits.*
parameters should be selected
carefully with regard to expected load and to resources that are in fact
available in your deployment. For details, see comments to these
parameters in the v2021.06 configuration file (values.yaml
).
User block upgrade notice¶
User blocks developed for prior pSeven Enterprise versions do not declare their resource requirements as expected in pSeven Enterprise v2021.06. Due to this, default run-time memory and CPU limits will apply to these user blocks unless you prepare an updated block version and add it to the block library. The default limits may be too low for some user blocks, so users may experience issues when running workflows that contain old block versions.
Before you upgrade pSeven Enterprise to v2021.06, it is recommended to update each user block, adding run-time resource requirements to the block's manifest, and upload the updated version to the block library beforehand - so the block update is readily available to users once you upgrade to v2021.06.
- Make a copy of your
.p7protoblock
directory, which will be the new block version. For example, if you have a directory namedTheBlock-v0.p7protoblock
, copy it toTheBlock-v1.p7protoblock
. -
In the copy (
TheBlock-v1.p7protoblock
) open the block's manifest (manifest.yaml
) and edit the following parameters:-
Under
default_preset.template
, add theresources
parameter specifying the block's requirements as in the following example:default_preset: template: # Do not copy this example as is. resources: run: memory: 1024 cpu: 250 # Other template parameters follow...
Note that the memory and CPU requirements must be set according to the real block memory and CPU usage. Memory is specified in MB, so
memory: 1024
sets the memory requirement to 1 GB. CPU requirement is specified in millicores, socpu: 250
sets it to 0.25 vCPU.When adding the
resources
parameter, do not remove any of the existing parameters underdefault_preset.template
. -
After specifying the resource requirements, increase the
version
parameter by 1 - for example:# version: 2 version: 3
Important
Do not change the
id
parameter in the manifest - otherwise pSeven Enterprise will recognize your update as an entirely different block, and users will not be able to update blocks in their workflows automatically.Also do not change the
manifest_version
andprotocol_version
parameters - they are reserved for future use and should not be edited. -
-
Save your changes to
manifest.yaml
and upload the new block version (TheBlock-v1.p7protoblock
) to the pSeven Enterprise block library (the/protoblocks
directory in the shared data storage). This updated version will appear in the Common library section of the Block library pane in the pSeven Enterprise user interface. In workflows that contain an old version of the block, the Workflow library section of the Block library pane will show the old version along with an update notification. -
After upgrading to pSeven Enterprise v2021.06, notify your users that they need to update all blocks in their workflows created in previous versions of pSeven Enterprise - otherwise they may experience issues if they run a workflow that contains old block versions.
To update a block in a workflow, click the update notification next to the block's name in the Workflow library section of the Block library pane.
v2021.05¶
Updates¶
- 1355 Workflow and report downloads now run faster and have less size: when archiving the document to download, pSeven no longer adds the history of document changes to the archive. Previously, downloads always kept a full history, which could greatly increase the archive size.
- 1200 Added a few convenience improvements related to configuring
and linking blocks that have driver ports - for example,
Python script blocks with function and argument ports:
- Driver ports and generic ports are now sorted separately in the Links and Autolink dialogs.
- Output driver ports are labeled "Request": a block uses them to request evaluations from other blocks connected to it.
- Input driver ports are labeled "Response": they accept responses (evaluation results) from connected blocks.
- 1429 Upgraded the embedded pSeven Core package to version 6.21. For details on recent improvements and changes, see the pSeven Core changelog.
- 1428 Reduced the extension node setup package size. Removed a few unused versions of packaged components, which could cause issues during a node deployment.
- 1420 Updated the
pSeven Enterprise deployment
guide for more clarity:
- Reworked section Deployment (moved: see Deployment configuration, Secrets, Installation, and further).
- Added section Upgrade (moved: see Version upgrade).
- Updated section Verify installation.
- 1420 Updated the Extension node deployment guide, added section Allowed users (moved: see Configuring user authorization on extension nodes).
- 1258 Added the Russian language version to pSeven Enterprise Help. To select your language, use the menu in the Help's top bar.
Note
1406 pSeven Enterprise Help is now also available at the pSeven website. See www.pseven.io/permalink/pseven-enterprise-help for the latest version.
User block development¶
- 1007 When block developers update a block in the common library, users can now update this block in their workflows in a few clicks - instead of manually replacing old versions of the block. pSeven shows block update notifications in the Workflow library pane; click the notification to start the update.
- 1029 Fixed issues in block manifest validation, due to which you could add an unusable block with an invalid name to the block library, or add a block with an invalid id, which you then could not delete.
- 1243 Fixed an issue where the Block library pane sometimes displayed wrong icons for user blocks.
Bugfixes¶
- 975 Fixed an issue where any user with admin access could see workflow runs of other users on the Start tab, and an attempt to open one of these runs led to an error.
- 1446 Fixed a rare issue where a workflow run did not start but pSeven did not show any error, so the run appeared to be waiting indefinitely.
- 1444 Fixed a stability issue which could disable editing and running a workflow if there was an error while editing this workflow, so you had to create its copy to continue.
- 1421 Fixed an issue where pSeven was showing an incorrect inline preview for a matrix value - for example, port values in the Block properties pane or parameter values in the Run setup pane.
- 1348 Removed dummy test blocks from the block library.
- 1260 Fixed Enter not working as a confirmation in the file deletion dialog.
v2021.04.20¶
Updates¶
- 1360 Added the Condition block, which enables conditional branching in workflows.
- Upgraded the embedded pSeven Core package to version 6.20. For details on recent improvements and changes, see the pSeven Core changelog.
- 491 pSeven Enterprise Help is now available.
- 1418 Updated the Extension node deployment guide, added section Upgrade (moved: see Upgrading extension nodes).
- 1362 Minor updates in the pSeven Enterprise deployment guide.
User block development¶
-
1128 Deployment administrators can now publish user blocks. Copy a user block to the directory named
protoblocks
in the shared data storage to make it available to all pSeven users.The storage server address and the shared data directory path are specified by the
storage.shareddata.*
parameters in the deployment configuration file (values.yaml
).
Bugfixes¶
- 1395 Fixed an issue in the Python script block, due to which it sometimes did not save configuration changes.
- 1407 Fixed a bug due to which unfinished Kubernetes jobs were building up and could consume all resources, potentially leading to a general failure.
- 1417 Fixed a bug in UDP package routing, which could cause instability of the OpenVPN connection between pSeven and Windows extension nodes.
Compatibility issues¶
- 1128 Since this release, pSeven supports only NFS file storages. If your current deployment uses a persistent volume claim or a custom storage class, you will have to set up an NFS storage and transfer all files there before upgrading to v2021.04.20. Note the requirements in section NFS server of the pSeven Enterprise deployment guide.
- 1418 If you use extension nodes, you will have to manually remove HTCondor on each node before updating it with the new node setup package - see the Extension node upgrade notice below.
Extension node upgrade notice¶
The version of the HTCondor service in the v2021.04.20 extension node setup package is not compatible with previous installations, so you will have to remove HTCondor on each of the extension nodes manually before upgrading.
- Open the Windows Control Panel - Programs and Features (or run
appwiz.cpl
to open Programs and Features directly). Find HTCondor in the list and uninstall it. If the uninstaller prompts for a restart, reboot the node before you continue. - Get the new
pSevenExtensionNode.zip
setup package from pSeven (see Setup package). - Unpack
pSevenExtensionNode.zip
to a temporary directory. The path to this directory must not contain spaces, for example:C:\Temp\pSevenExtensionSetup
. - From this directory, run
bootstrap.bat
without parameters. The setup scripts will use settings from the previous installation, which are stored into environment variables on the node. - When
bootstrap.bat
finishes, check its output for errors. If there are none, reboot. If you see errors, save the script's output from the command prompt and contact Technical support). - After the reboot, check the node as described in the Extension node deployment guide, section Node check.
v2021.04¶
Updates¶
- 1361 It is now possible to restrict user access to a Windows extension node connected with pSeven - see section Configuring user authorization on extension nodes for details.
- 1382 Added the Stop button to the stock app UI in AppsHub. You can use that button to stop a running app. Also improved the stock app UI stability in case of connection issues.
- 1356 Workflow and report copy now works faster, and newly created copies take less space because pSeven no longer copies the history of changes with the document. The original document keeps a full history, but the history in a copy will contain only newer changes.
- 870 Added the Getting started page, which provides a quick overview of pSeven's functions and features and links to more guides. To open it, click the Getting started button on the Start tab.
- 1358 Since reports in pSeven are currently limited, and many of their planned features are missing, the New report dialog now contains a beta notice to avoid misunderstanding.
User block development¶
- 1137 Fixed an issue where adding a user block to a workflow created duplicates of this block in the workflow library.
- 1373 Fixed an issue where you could not copy and paste a user block in a workflow if the block contains a large amount of code or embedded data.
Bugfixes¶
- 1365 Fixed slowdown issues, which could occur when running a workflow where a Composite block receives or outputs a large data array - for example, a 100×100 matrix.
- 1373 Fixed the inability to save a Python script block that contains a very long script.
- 1264 Fixed an issue with the stock app UI in AppsHub where the UI reported a timeout error if an app run took longer than 10 minutes.
- 1365 Fixed a bug due to which a block in a running workflow failed to start if you have copied this block from another workflow.
- 1390 Fixed an issue where pSeven sometimes was not showing notifications until you refresh its tab in your browser.
v2021.03¶
Updates¶
- 1333 Convenience improvements in the Links and Autolink
dialogs:
- Quicker linking for ports with matching names. Ctrl-click and drag when creating a link to instantly open the Autolink dialog. In this case, OK in the Autolink dialog links selected port pairs and closes the dialog.
- Switch between autolinking and manual linking. In the Links dialog, click Autolink to open the simplified dialog. In this case, OK in the Autolink dialog selects the links to create and switches back to Links, where you can continue with manual link editing.
- 1119 The Python script block now automatically formats the script code to comply with PEP 8 and checks the code for syntax errors, when you click Apply or Save in the block's configuration dialog.
- 1325 OpenTURNS support. You can now use the
openturns
module in Python script blocks and user blocks implemented in Python. - 1143 The Block properties pane now shows inputs and outputs sorted in the order defined by the block. You can also switch to alphabetical order using the sorting buttons in the pane. For grouped ports, alphabetical sort order applies to port names in a group but does not change the order of groups.
- 485 When a message receive timeout is exceeded, the
api.message_pop()
REST API method in the Python script block now raises aTimeoutError
instead of a generic exception. If you use messaging in Python script, it is recommended to update your scripts to specifically handle theTimeoutError
fromapi.message_pop()
. - 1005 Added logging for block editing operations. When you add,
reconfigure, or delete a block, pSeven writes debug information to
edit log.txt
in the workflow folder.
User block development¶
- 485 User blocks can now access the Redis database that provides
the REST API messaging functionality. This makes it possible to add
your custom messaging implementation to a user block, functionally
similar to the
api.message_push()
andapi.message_pop()
methods available in Python script blocks. The database hostname and port are available to blocks as theDA__P7__BLOCK__REDIS_HOST
andDA__P7__BLOCK__REDIS_PORT
environment variables.
Bugfixes¶
- 937 Fixed various issues with incorrect run order and statuses displayed on the Start tab.
- 1193 1264 Fixed an AppsHub issue where you could not edit some parameters in the stock app UI.
- 1264 Fixed an issue with the stock app UI where an app could not start if there is a parameter that accepts any data type.
- 485 Fixed a vulnerability issue in the messaging mechanism, which is in particular used by the Python script block REST API implementation. Before the fix, exploiting this vulnerability allowed a user to access messages of Python script blocks from workflows of other users, and to access messages used internally by pSeven. This could cause data loss in workflows and general malfunctioning. The fix properly isolates messaging for every user.
- 485 Fixed a bug in the Python script block REST API, due to
which
api.message_pop()
returned a bytearray instead of a string. - 1166 Fixed an issue where pSeven could show a failed workflow run as active (running) indefinitely if the run fails to start because of a block start-up error.
- 1166 Fixed a similar issue where pSeven could not handle a block error when you open the block to edit its configuration.
- 1166 Fixed pSeven showing a workflow run as active while it has failed due to an internal error. Now pSeven automatically cancels runs that stopped responding and shows them as failed.
- 1095 Fixed a similar issue where pSeven did not properly stop a block if there was an error while editing its configuration. Now pSeven automatically stops a block running in the edit mode if it becomes unresponsive.
Compatibility issues¶
- 485 Since
api.message_pop()
in a Python script block now returns a string as intended (was bytearray), you may be required to update your scripts to correctly handle the return value, depending on how it is processed.
v2021.02¶
Updates¶
- 1298 1331 Enabled the intended functionality of the
Files folder in a workflow. This special
folder is a prototype of the workflow's working directory:
- When you configure block's working directories, pSeven creates folders in Files - so you can preview the working directory structure while editing a workflow. When you move, rename, or reconfigure blocks, pSeven automatically updates the folder structure in Files.
- You can upload data to Files and to folders inside it to make this data available to blocks during a workflow run. When a workflow starts, pSeven copies the files and folders from Files to the workflow run directory, creating the initial state of block working directories.
- Running blocks work with copies of files in the run directory, so you can continue editing the workflow and Files as needed, even while a workflow run is active.
- Note that if a block's working directory type is "indexed", the
block creates a new (numbered) working directory every time it
starts. These directories have a single prototype in
Files - a folder with the
[####]
name suffix. When you run a workflow, pSeven copies this folder's contents to every new working directory created by the block. - To avoid needless copying, place read-only files somewhere outside of the Files folder.
- 1222 Simplified behavior of the block linking dialogs. The Autolink dialog no longer opens when you create a link, and you can switch to autolinking with the Autolink button in the Links dialog. Creating or editing a link now always opens the full Links dialog.
- 820 The Python script block now validates names of variables, functions, and arguments to avoid syntax issues and name conflicts.
- 1106 Added a command to download the run log file, available in the Run logs pane menu.
- 1230 REST API clients can now download workflow run logs. To get a
download URL, request run details and read
logfile_url
from the response.
User block development¶
- 1329 1330 Fixed the inability to set a port value if its data type is a custom table with predefined columns.
Bugfixes¶
- 1108 Fixed licensing issues, due to which any user could start an unlimited number of workflow runs or calculations in AppsHub, potentially consuming all resources and disrupting other user's activity.
- 1317 Fixed a bug with messaging support in AppsHub, due to which
an app did not work if its workflow contained a Python script block
that uses messaging (the
api.message_push()
andapi.message_pop()
REST API methods). - 1311 Fixed an AppsHub issue where you could not open the Edit value dialog for an app parameter that currently has an invalid value.
- 1028 Fixed an AppsHub issue where an app could not start due to an error in processing a port that is both linked and selected as a parameter.
- 1308 Fixed a GUI error that sometimes occurred when deleting a block from a workflow.
Compatibility issues¶
- 1108 Due to bugfixes in the license mechanism, this version requires an updated license valid for v2021.02 or above.
v2021.01¶
Initial release.